{
  "openapi" : "3.0.3",
  "info" : {
    "title" : "Givva Api",
    "version" : "1.0",
    "summary" : "The Wealth Spring",
    "description" : "The Api that powers Givva products"
  },
  "paths" : {
    "/api/v1/accounts" : {
      "post" : {
        "tags" : [ "Accounts" ],
        "summary" : "Add account",
        "operationId" : "addAccount",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The create account request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AccountRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a user account is added successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AccountApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Accounts" ],
        "summary" : "Get accounts",
        "operationId" : "getAccounts",
        "parameters" : [ {
          "name" : "ownerId",
          "in" : "query",
          "description" : "Filter by owner - either userId, groupId or communityId",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "goalId",
          "in" : "query",
          "description" : "Filter by goal",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "payYourselfId",
          "in" : "query",
          "description" : "Filter by pyf",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "gpayId",
          "in" : "query",
          "description" : "Filter by gpay",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fundraiserId",
          "in" : "query",
          "description" : "Filter by fundraiser",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "pagination",
          "in" : "query",
          "description" : "Enable or disable pagination (default: false)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "description" : "Page number to retrieve (default: 1)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "Number of items per page (default: 50)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "sortBy",
          "in" : "query",
          "description" : "Field name to sort by",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "sortOrder",
          "in" : "query",
          "description" : "Sort direction: ASC or DESC",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the accounts are fetched successfully (paginated if enabled)",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AccountsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/accounts/approvals" : {
      "get" : {
        "tags" : [ "Accounts" ],
        "summary" : "Get all accounts approvals",
        "operationId" : "getAccountsApprovals",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When all accounts approvals are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AccountsApiResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/accounts/search" : {
      "get" : {
        "tags" : [ "Accounts" ],
        "summary" : "Search account",
        "operationId" : "searchAccount",
        "parameters" : [ {
          "name" : "category",
          "in" : "query",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "communityId",
          "in" : "query",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userId",
          "in" : "query",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the account details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AccountApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the account does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/accounts/{id}" : {
      "get" : {
        "tags" : [ "Accounts" ],
        "summary" : "Get account",
        "operationId" : "getAccount",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the account details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AccountApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the account does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Accounts" ],
        "summary" : "Update an account",
        "operationId" : "updateAccount",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The update account request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AccountRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When the account is updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AccountApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the account does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/accounts/{id}/approvals" : {
      "get" : {
        "tags" : [ "Accounts" ],
        "summary" : "Get an account approval",
        "operationId" : "getAccountApprovals",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When an account approvals are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApprovalsApiResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Accounts" ],
        "summary" : "Action account approval",
        "operationId" : "actionAccountApproval",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Action account approval request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ActionRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When an account approval is actioned successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AccountApiResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/accounts/{id}/approvers" : {
      "get" : {
        "tags" : [ "Account Approvers" ],
        "summary" : "Get account approvers",
        "operationId" : "getAccountApprovers",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Account id",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the account approvers are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApproversApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/accounts/{id}/approvers/{approverId}" : {
      "get" : {
        "tags" : [ "Account Approvers" ],
        "summary" : "Get account approver for account",
        "operationId" : "getAccountApproverForAccount",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Account id",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "approverId",
          "in" : "path",
          "description" : "Approver id",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the account approver is fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApproverApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/accounts/{id}/change" : {
      "post" : {
        "tags" : [ "Accounts" ],
        "summary" : "Request to change an account",
        "operationId" : "changeAccountRequest",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the account change request is logged successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the account does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/analytics" : {
      "get" : {
        "tags" : [ "Analytics" ],
        "summary" : "Get app analytics",
        "operationId" : "getAppAnalytics",
        "parameters" : [ {
          "name" : "sumAllInterest",
          "in" : "query",
          "description" : "Whether to sum all interest or just for whole months",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When analytics are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AnalyticsApiResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/app-versions" : {
      "get" : {
        "tags" : [ "App Versions" ],
        "summary" : "Get all app versions",
        "operationId" : "getAllAppVersions",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "Returns all app versions",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/AppVersionResponse"
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ ]
      },
      "post" : {
        "tags" : [ "App Versions" ],
        "summary" : "Create a new app version",
        "operationId" : "createAppVersion",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The app version to create",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AppVersionRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "App version saved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AppVersionResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ ]
      }
    },
    "/api/v1/app-versions/id/{id}" : {
      "get" : {
        "tags" : [ "App Versions" ],
        "summary" : "Get an app version by its ID",
        "operationId" : "getAppVersionById",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The UUID of the app version",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Returns the app version for the given ID",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AppVersionResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "No app version found with the specified ID",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/NotFoundResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ ]
      },
      "patch" : {
        "tags" : [ "App Versions" ],
        "summary" : "Update an existing app version by ID",
        "operationId" : "updateAppVersion",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The UUID of the app version to update",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The app version to update",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AppVersionUpdateRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "App version updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AppVersionResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "No app version found with the specified ID",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/NotFoundResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ ]
      }
    },
    "/api/v1/app-versions/{id}" : {
      "delete" : {
        "tags" : [ "App Versions" ],
        "summary" : "Delete an app version by ID",
        "operationId" : "deleteAppVersion",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "UUID of the app version to delete",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "App version deleted successfully",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid ID format",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "No app version found with the given ID",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/NotFoundResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ ]
      }
    },
    "/api/v1/approvers/{id}" : {
      "get" : {
        "tags" : [ "Account Approvers" ],
        "summary" : "Get account approver",
        "operationId" : "getAccountApprover",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Approver id",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the account approver is fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApproverApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/auditlogs" : {
      "get" : {
        "tags" : [ "AuditLogs" ],
        "summary" : "Get audit logs",
        "operationId" : "getAuditLogs",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "Getting audit logs successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AuditLogsApiResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/categories" : {
      "get" : {
        "tags" : [ "Categories" ],
        "summary" : "Get product categories",
        "operationId" : "getCategories",
        "parameters" : [ {
          "name" : "productId",
          "in" : "query",
          "description" : "For which product",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fundManagerId",
          "in" : "query",
          "description" : "Fund manager ID",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the categories are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProductCategoriesApiResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "post" : {
        "tags" : [ "Categories" ],
        "summary" : "Create category",
        "operationId" : "createCategory",
        "parameters" : [ {
          "name" : "fundManagerId",
          "in" : "query",
          "description" : "Fund manager ID",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The create category request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ProductCategoryRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a category is created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProductCategoryApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/categories/{id}" : {
      "patch" : {
        "tags" : [ "Products" ],
        "summary" : "Update a category",
        "operationId" : "updateCategory",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fundManagerId",
          "in" : "query",
          "description" : "Fund manager ID",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The product category update request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ProductCategoryRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a category details are updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProductCategoryApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the category does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Categories" ],
        "summary" : "Get product category",
        "operationId" : "getCategory",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When a category details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProductCategoryApiResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Categories" ],
        "summary" : "Delete a category",
        "operationId" : "deleteCategory",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the category is deleted successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the category does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/commissions" : {
      "post" : {
        "tags" : [ "Commissions" ],
        "summary" : "Create commission",
        "operationId" : "addCommission",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "Create commission request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CommissionsRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a commission is created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CommissionsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Commissions" ],
        "summary" : "Get commissions",
        "operationId" : "getCommissions",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When commissions are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedCommissionsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/commissions/commissions/earned" : {
      "get" : {
        "tags" : [ "CommissionsEarned" ],
        "summary" : "Get Commissions earned",
        "operationId" : "getCommissionsEarned",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When request is successful",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedCommissionsEarnedApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/commissions/commissions/earned/filter" : {
      "get" : {
        "tags" : [ "CommissionsEarned" ],
        "summary" : "Filter Commissions earned",
        "operationId" : "filterCommissionsEarned",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When request is successful",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedCommissionsEarnedApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/commissions/filter" : {
      "get" : {
        "tags" : [ "Commissions" ],
        "summary" : "Filter commissions",
        "operationId" : "filterCommissions",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When commissions are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedCommissionsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/commissions/{id}" : {
      "get" : {
        "tags" : [ "Commissions" ],
        "summary" : "Get commission",
        "operationId" : "getCommission",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When commission is fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedCommissionsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Commissions" ],
        "summary" : "Update commission",
        "operationId" : "updateCommission",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When commission iss updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedCommissionsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Commissions" ],
        "summary" : "Delete commission",
        "operationId" : "deleteCommission",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When commission is deleted successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedCommissionsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities" : {
      "post" : {
        "tags" : [ "Communities" ],
        "summary" : "Create community",
        "operationId" : "createCommunity",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The create community request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CommunityRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a community is created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CommunityApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Communities" ],
        "summary" : "Get communities",
        "operationId" : "getCommunities",
        "parameters" : [ {
          "name" : "organizationId",
          "in" : "query",
          "description" : "Filter communities by organization ID",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "communityType",
          "in" : "query",
          "description" : "Filter communities by one or more type keywords, comma-separated (e.g., CHURCH, SELF_COMMUNITY).",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string",
            "example" : "CHURCH,SELF_COMMUNITY"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "description" : "Page number (0-based)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "Page size",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Field to sort by (e.g., name, createdAt)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "order",
          "in" : "query",
          "description" : "Sort order (asc or desc)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When communities are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedCommunitiesApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/agents" : {
      "post" : {
        "tags" : [ "CommunityAgents" ],
        "summary" : "Create community agent",
        "operationId" : "addCommunityAgent",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "Create community agent request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CommunityAgentsRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a community agent is created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CommunityAgentsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Community Agents" ],
        "summary" : "Get community agents",
        "operationId" : "getCommunityAgents",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When community agents are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedCommunityAgentsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/agents/filter" : {
      "get" : {
        "tags" : [ "Community Agents" ],
        "summary" : "Filter community agents",
        "operationId" : "filterCommunityAgents",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When community agents are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedCommunityAgentsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/agents/referrals/events/{communityId}" : {
      "get" : {
        "tags" : [ "Community Agents" ],
        "summary" : "Get event referrals for one community",
        "operationId" : "getEventsReferrals",
        "parameters" : [ {
          "name" : "from",
          "in" : "query",
          "description" : "Event referrals report from date. For pdf report only",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "Event referrals report to date. For pdf report only",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "year",
          "in" : "query",
          "description" : "Event referrals report year. For pdf report only",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "month",
          "in" : "query",
          "description" : "Event referrals report month. For pdf report only",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When agents referrals are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ReferralEventsResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/agents/referrals/{userId}/communities" : {
      "get" : {
        "tags" : [ "Community Agents" ],
        "summary" : "Get agent referral communities",
        "operationId" : "getAgentReferralCommunities",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When agent referral communities are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedAgentsCommunitiesApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/agents/report" : {
      "get" : {
        "tags" : [ "Community Agents" ],
        "summary" : "Get pdf agent report",
        "operationId" : "getAgentsReport",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "Agent report request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CommunityAgentsReportRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When agent report is fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedAgentsEventsReportApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/agents/search" : {
      "get" : {
        "tags" : [ "Community Agents" ],
        "summary" : "Search agent",
        "operationId" : "searchAgent",
        "parameters" : [ {
          "name" : "phoneNumber",
          "in" : "query",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When request is successful",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchAgentApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the user does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/agents/{id}" : {
      "get" : {
        "tags" : [ "Community Agents" ],
        "summary" : "Get community agent",
        "operationId" : "getCommunityAgent",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When user subscription are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedCommunityAgentsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Community Agents" ],
        "summary" : "Update community agent",
        "operationId" : "updateCommunityAgent",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When community agent update is successful",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedCommunityAgentsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Community Agents" ],
        "summary" : "Delete community agent",
        "operationId" : "deleteCommunityAgents",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When community agent deleted successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedCommunityAgentsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/docs/{id}" : {
      "get" : {
        "tags" : [ "Community Docs" ],
        "summary" : "Get community doc",
        "operationId" : "getCommunityDoc",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the community doc details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CommunityDocApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the community doc does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Community Docs" ],
        "summary" : "Update a community doc",
        "operationId" : "updateCommunityDoc",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The community doc update request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CommunityDocRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a community doc details are updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CommunityDocApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the community doc does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Community Docs" ],
        "summary" : "Delete a community doc",
        "operationId" : "deleteCommunity",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the community doc is deleted successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the community doc does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/list" : {
      "get" : {
        "tags" : [ "Communities" ],
        "summary" : "Get community list",
        "operationId" : "getCommunityList",
        "parameters" : [ {
          "name" : "communityType",
          "in" : "query",
          "description" : "Filter communities by type keyword (e.g., CHURCH, SEF_COMMUNITY)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "organizationId",
          "in" : "query",
          "description" : "Filter communities by organization ID",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "description" : "Page number (0-based)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "Page size",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Field to sort by (e.g., name, identifier)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "order",
          "in" : "query",
          "description" : "Sort order (asc or desc)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When community list is fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedCommunityListApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/supervisors" : {
      "post" : {
        "tags" : [ "CommunitySupervisors" ],
        "summary" : "Create community supervisor",
        "operationId" : "addCommunitySupervisor",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "Create community supervisor request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CommunitySupervisorsRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a community supervisor is created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CommunitySupervisorsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Community Supervisors" ],
        "summary" : "Get community supervisors",
        "operationId" : "getCommunitySupervisors",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When user subscription are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedCommunitySupervisorsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/supervisors/filter" : {
      "get" : {
        "tags" : [ "Community Supervisors" ],
        "summary" : "Filter community supervisors",
        "operationId" : "filterCommunitySupervisors",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When records are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedCommunitySupervisorsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/supervisors/referrals/events/{communityId}" : {
      "get" : {
        "tags" : [ "Community Supervisors" ],
        "summary" : "Get supervisor event referrals for one community",
        "operationId" : "getEventsReferrals",
        "parameters" : [ {
          "name" : "from",
          "in" : "query",
          "description" : "Event referrals report from date. For pdf report only",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "Event referrals report to date. For pdf report only",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "year",
          "in" : "query",
          "description" : "Event referrals report year. For pdf report only",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "month",
          "in" : "query",
          "description" : "Event referrals report month. For pdf report only",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When supervisor referrals are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ReferralEventsResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/supervisors/referrals/{userId}/communities" : {
      "get" : {
        "tags" : [ "Community Supervisors" ],
        "summary" : "Get supervisor referral communities",
        "operationId" : "getSupervisorReferralCommunities",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When supervisor referral communities are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedCommunitySupervisorsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/supervisors/report" : {
      "get" : {
        "tags" : [ "Community Supervisors" ],
        "summary" : "Get supervisor pdf report",
        "operationId" : "getSupervisorsReport",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "Supervisor report request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CommunitySupervisorsReportRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When supervisor report is fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedAgentsEventsReportApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/supervisors/{id}" : {
      "get" : {
        "tags" : [ "Community Supervisors" ],
        "summary" : "Get community supervisor",
        "operationId" : "getCommunitySupervisor",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When user subscription are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedCommunitySupervisorsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Community Supervisors" ],
        "summary" : "Update community supervisor",
        "operationId" : "updateCommunitySupervisor",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When community supervisor update is successful",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedCommunitySupervisorsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Community Supervisors" ],
        "summary" : "Delete community supervisor",
        "operationId" : "deleteCommunitySupervisors",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When community supervisor deleted successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedCommunitySupervisorsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/supervisors/{userId}/agents" : {
      "get" : {
        "tags" : [ "Community Agents" ],
        "summary" : "Get supervisor agents",
        "operationId" : "getSupervisorAgents",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When supervisor agents are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedCommunityAgentsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/{id}" : {
      "get" : {
        "tags" : [ "Communities" ],
        "summary" : "Get community",
        "operationId" : "getCommunity",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the community details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CommunityApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the community does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Communities" ],
        "summary" : "Update a community",
        "operationId" : "updateCommunity",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The community update request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AdminCommunityUpdateRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a community details are updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CommunityApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the community does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Communities" ],
        "summary" : "Delete a community",
        "operationId" : "deleteCommunity",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the community is deleted successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the community does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/{id}/activity" : {
      "get" : {
        "tags" : [ "Communities" ],
        "summary" : "Get community activity logs",
        "operationId" : "getCommunityActivityLogs",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Limit the number of logs returned",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Getting activity logs successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ActivityLogsApiResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/{id}/approvals/initiate" : {
      "post" : {
        "tags" : [ "Communities" ],
        "summary" : "Send invites to community leaders",
        "operationId" : "sendCommunityLeaderInvites",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the community leader invites are sent successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/{id}/communication" : {
      "post" : {
        "tags" : [ "Communities" ],
        "summary" : "Send a message to community members or subgroups, messageType SMS, PUSH or HYBRID",
        "operationId" : "sendCommunityMessages",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The community message request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CommunityCommunication"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When the message was sent successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CommunityContributionsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Communities" ],
        "summary" : "Get community messages",
        "operationId" : "getCommunityMessages",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "description" : "page to query",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "page size to query",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the community messages are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CommunityMessageResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/{id}/contributions" : {
      "get" : {
        "tags" : [ "Communities" ],
        "summary" : "Get community contributions",
        "operationId" : "getCommunityContributions",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "Investments from which date",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "Investments to which date",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "year",
          "in" : "query",
          "description" : "Investments in which year",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "month",
          "in" : "query",
          "description" : "Investments in which month",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "description" : "Which page of paginated Investments",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "Which size of paginated Investments",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "groupId",
          "in" : "query",
          "description" : "Investments in which subgroup",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "subgroupId",
          "in" : "query",
          "description" : "Alias for groupId",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the community fundraiser contributions are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CommunityContributionsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/{id}/docs" : {
      "post" : {
        "tags" : [ "Community Docs" ],
        "summary" : "Add community docs",
        "operationId" : "addCommunityDocs",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The create community doc request",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/CommunityDocRequest"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When the community doc is created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the community does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Community Docs" ],
        "summary" : "Get community docs",
        "operationId" : "getCommunityDocs",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When community docs are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CommunityDocsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/{id}/fundraisers" : {
      "get" : {
        "tags" : [ "Communities" ],
        "summary" : "Get community fundraisers",
        "operationId" : "getCommunityFundraisers",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "Investments from which date",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "Investments to which date",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the community fundraisers are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CommunityFundraisersApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : true,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/{id}/groups" : {
      "get" : {
        "tags" : [ "Communities" ],
        "summary" : "Get community specific sub-groups",
        "operationId" : "getCommunitySubGroups",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "isDefault",
          "in" : "query",
          "description" : "Get only community default subgroup",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "userId",
          "in" : "query",
          "description" : "Get only community subgroups for a specific user",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the community subgroups are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GroupsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : true,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/{id}/groups/summary" : {
      "get" : {
        "tags" : [ "Communities" ],
        "summary" : "Get community specific sub-groups summary",
        "operationId" : "getCommunitySubGroupsSummary",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "From from which date",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "To to which date",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "description" : "Page number (0-based)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "Page size",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Sort field (name, membersCount)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "order",
          "in" : "query",
          "description" : "Sort order (asc, desc)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the community subgroups summary is fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedSubgroupApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/{id}/heroes" : {
      "get" : {
        "tags" : [ "Heroes" ],
        "summary" : "Get heroes product for a community",
        "operationId" : "getCommunityHeroes",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When heroes products are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/HeroApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/{id}/homilies" : {
      "post" : {
        "tags" : [ "Communities" ],
        "summary" : "Create a community homily/announcement",
        "operationId" : "createCommunityHomily",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The create homily request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CommunityHomilyRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When the homily is created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CommunityHomilyResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Communities" ],
        "summary" : "Get community homilies/announcements",
        "operationId" : "getCommunityHomilies",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "category",
          "in" : "query",
          "description" : "DAILY or SUNDAY",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "description" : "Page number (default 1)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "Page size (default 20)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When homilies are fetched successfully"
          },
          "400" : {
            "description" : "Returns 400 if the request is invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/{id}/homilies/{homilyId}" : {
      "get" : {
        "tags" : [ "Communities" ],
        "summary" : "Get a specific community homily/announcement",
        "operationId" : "getCommunityHomily",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "homilyId",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the homily is fetched successfully"
          },
          "400" : {
            "description" : "Returns 400 if the request is invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Communities" ],
        "summary" : "Update a specific community homily/announcement",
        "operationId" : "updateCommunityHomily",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "homilyId",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The homily patch request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CommunityHomilyPatchRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When the homily is updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CommunityHomilyResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Communities" ],
        "summary" : "Delete a specific community homily/announcement",
        "operationId" : "deleteCommunityHomily",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "homilyId",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the homily is deleted successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/{id}/leave" : {
      "delete" : {
        "tags" : [ "Communities" ],
        "summary" : "Leave a community",
        "operationId" : "leaveCommunity",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When a member leaves successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the member does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/{id}/members" : {
      "post" : {
        "tags" : [ "Members" ],
        "summary" : "Add community members",
        "operationId" : "addCommunityMembers",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Add members to a community",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/MemberRequest"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When members are added to a community successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AddMembersApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Members" ],
        "summary" : "Get community members",
        "operationId" : "getCommunityMembers",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "From which date",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "To which date",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When community members are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MembersApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : true,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/{id}/members/{userId}" : {
      "get" : {
        "tags" : [ "Members" ],
        "summary" : "Get a single community member",
        "operationId" : "getCommunityMember",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Community ID",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userId",
          "in" : "path",
          "description" : "User ID of the member",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the community member is fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MemberResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Returns 404 if the member is not found in the community",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/NotFoundResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/{id}/messages" : {
      "get" : {
        "tags" : [ "Messages" ],
        "summary" : "Get community messages",
        "operationId" : "getCommunityMessages",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When community messages are retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MessagesApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/{id}/packages" : {
      "post" : {
        "tags" : [ "Packages" ],
        "summary" : "Create packages",
        "operationId" : "createPackages",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The create packages request",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/PackageRequest"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When packages are created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PackagesApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/{id}/providers" : {
      "post" : {
        "tags" : [ "Providers" ],
        "summary" : "Select community providers",
        "operationId" : "selectCommunityProviders",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The create community providers request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CommunityProvidersRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When community providers are created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/{id}/stats" : {
      "get" : {
        "tags" : [ "Communities" ],
        "summary" : "Get community stats",
        "operationId" : "getCommunityStats",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the community stats are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SubgroupApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/communities/{id}/users/{userId}" : {
      "delete" : {
        "tags" : [ "Communities" ],
        "summary" : "Remove a user from a community",
        "operationId" : "removeUser",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userId",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the user is removed successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the user does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/community-types" : {
      "post" : {
        "tags" : [ "Community Types" ],
        "summary" : "Create community type",
        "operationId" : "addCommunityType",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The create community type request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CommunityTypeRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a community type is created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CommunityTypeApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Community Types" ],
        "summary" : "Get community types",
        "operationId" : "getCommunityTypes",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When community types are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CommunityTypesApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/community-types/{id}" : {
      "get" : {
        "tags" : [ "Community Types" ],
        "summary" : "Get community type",
        "operationId" : "getCommunityType",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the community type details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CommunityTypeApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the community type does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Community Types" ],
        "summary" : "Update community type",
        "operationId" : "updateCommunityType",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The update community type request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CommunityTypeRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a community type is updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CommunityTypeApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Community Types" ],
        "summary" : "Delete a community type",
        "operationId" : "deleteCommunityType",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the community type is deleted successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the community type does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/community/search" : {
      "get" : {
        "tags" : [ "Communities" ],
        "summary" : "Search community",
        "operationId" : "searchCommunity",
        "parameters" : [ {
          "name" : "phoneNumber",
          "in" : "query",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When request is successful",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchCommunityApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the user does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/community/{id}/org" : {
      "get" : {
        "tags" : [ "Communities" ],
        "summary" : "Get Org from SubOrg (Community)",
        "parameters" : [ ],
        "responses" : { },
        "deprecated" : false,
        "security" : [ ]
      }
    },
    "/api/v1/configs" : {
      "post" : {
        "tags" : [ "Configs" ],
        "summary" : "Create configs",
        "operationId" : "createConfigs",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The create/update configs request",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/ConfigRequest"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When create/update configs request successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Configs" ],
        "summary" : "Get configs",
        "operationId" : "getConfigs",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "Getting configs successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConfigsApiResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/configs/{configKey}" : {
      "get" : {
        "tags" : [ "Configs" ],
        "summary" : "Get a config",
        "operationId" : "getConfig",
        "parameters" : [ {
          "name" : "configKey",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When config is retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConfigApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the configKey provided wasn't found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Configs" ],
        "summary" : "Delete a config",
        "operationId" : "deleteConfig",
        "parameters" : [ {
          "name" : "configKey",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When delete config request successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the configKey provided wasn't found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Configs" ],
        "summary" : "Update a config",
        "operationId" : "updateConfig",
        "parameters" : [ {
          "name" : "configKey",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The update config request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ConfigUpdateRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When the config is updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConfigApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the config provided wasn't found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/contributions" : {
      "post" : {
        "tags" : [ "Contributions" ],
        "summary" : "Add contributions",
        "operationId" : "addContributions",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The create contributions request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ContributionsRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When contributions are recorded successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ContributionApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Contributions" ],
        "summary" : "Get contributions",
        "operationId" : "getContributions",
        "parameters" : [ {
          "name" : "fundraiserId",
          "in" : "path",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "actionable",
          "in" : "path",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When contributions are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ContributionsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/contributions/{id}" : {
      "get" : {
        "tags" : [ "Contributions" ],
        "summary" : "Get contribution",
        "operationId" : "getContribution",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the contribution details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ContributionApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the contribution does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Contributions" ],
        "summary" : "Update a contribution",
        "operationId" : "updateContribution",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The contribution update request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ContributionsRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a contribution details are updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ContributionApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the contribution does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/events/sef/report/{id}" : {
      "get" : {
        "tags" : [ "Events Report" ],
        "summary" : "Get sef event report",
        "operationId" : "getSefEventReport",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When sweep events are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedSweepEventsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/faqs" : {
      "get" : {
        "tags" : [ "FAQs" ],
        "summary" : "Get all FAQs with optional pagination and filtering",
        "operationId" : "getAllFaqs",
        "parameters" : [ {
          "name" : "pagination",
          "in" : "query",
          "description" : "Enable or disable pagination (default: true)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "description" : "Page number for pagination (default: 1)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "Number of items per page (default: 50)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Returns a list of all FAQs",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FaqApiResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "post" : {
        "tags" : [ "FAQs" ],
        "summary" : "Create a new FAQ",
        "operationId" : "createFaq",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "FAQ to create",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CreateFaqRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Returns the created FAQ",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FaqDetailApiResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/faqs/{id}" : {
      "put" : {
        "tags" : [ "FAQs" ],
        "summary" : "Update FAQ by ID",
        "operationId" : "updateFaqById",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The UUID of the FAQ to update",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "FAQ data to update",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/FaqDetailApiResponse"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Returns the updated FAQ",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FaqDto"
                }
              }
            }
          },
          "404" : {
            "description" : "No FAQ found with the specified ID",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/NotFoundResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "FAQs" ],
        "summary" : "Get FAQ by ID",
        "operationId" : "getFaqById",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The UUID of the FAQ to retrieve",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Returns the FAQ with the specified ID",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FaqDetailApiResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "No FAQ found with the specified ID",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/NotFoundResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "FAQs" ],
        "summary" : "Delete FAQ by ID",
        "operationId" : "deleteFaqById",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The UUID of the FAQ to delete",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "FAQ deleted successfully"
          },
          "404" : {
            "description" : "No FAQ found with the specified ID",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/NotFoundResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/fund-destinations" : {
      "get" : {
        "tags" : [ "FundDestinations" ],
        "summary" : "Get fund destinations",
        "operationId" : "getFundDestinations",
        "parameters" : [ {
          "name" : "communityId",
          "in" : "query",
          "description" : "Filter by community",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When fund destination are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AppFundDestinationsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/fund-managers" : {
      "get" : {
        "tags" : [ "Fund Managers" ],
        "summary" : "Get all fund managers",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When fund managers are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FundManagersApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/fundraiser-type-configs" : {
      "get" : {
        "tags" : [ "Fundraiser Type Configs" ],
        "summary" : "Get fundraiser type configs",
        "operationId" : "getFundraiserTypeConfigs",
        "parameters" : [ {
          "name" : "fundManagerId",
          "in" : "query",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fundraiserTypeId",
          "in" : "query",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When fundraiser type configs are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FundraiserTypeConfigsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "post" : {
        "tags" : [ "Fundraiser Type Configs" ],
        "summary" : "Create fundraiser type config",
        "operationId" : "createFundraiserTypeConfig",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/FundraiserTypeConfigRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When fundraiser type config is created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FundraiserTypeConfigApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/fundraiser-type-configs/{id}" : {
      "get" : {
        "tags" : [ "Fundraiser Type Configs" ],
        "summary" : "Get fundraiser type config",
        "operationId" : "getFundraiserTypeConfig",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When fundraiser type config is fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FundraiserTypeConfigApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Fundraiser Type Configs" ],
        "summary" : "Update fundraiser type config",
        "operationId" : "updateFundraiserTypeConfig",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/FundraiserTypeConfigRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When fundraiser type config is updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FundraiserTypeConfigApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Fundraiser Type Configs" ],
        "summary" : "Delete fundraiser type config",
        "operationId" : "deleteFundraiserTypeConfig",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When fundraiser type config is deleted successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/fundraiser-types" : {
      "post" : {
        "tags" : [ "Fundraiser Types" ],
        "summary" : "Create fundraiser type",
        "operationId" : "addFundraiserType",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The create fundraiser type request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/FundraiserTypeRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a fundraiser type is created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FundraiserTypeApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Fundraiser Types V2" ],
        "summary" : "Get fundraiser types v2",
        "operationId" : "getFundraiserTypesV2",
        "parameters" : [ {
          "name" : "fundManagerId",
          "in" : "query",
          "description" : "Fund manager ID",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When fundraiser types are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedFundraiserTypesApiApiV2Response"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/fundraiser-types/search" : {
      "get" : {
        "tags" : [ "Fundraiser Types" ],
        "summary" : "Search fundraiser type",
        "operationId" : "searchFundraiserType",
        "parameters" : [ {
          "name" : "phoneNumber",
          "in" : "query",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When request is successful",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchFundraiserTypeApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the user does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/fundraiser-types/{id}" : {
      "get" : {
        "tags" : [ "Fundraiser Types" ],
        "summary" : "Get fundraiser type",
        "operationId" : "getFundraiserType",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the fundraiser type details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FundraiserTypeApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the fundraiser type does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Fundraiser Types" ],
        "summary" : "Update fundraiser type",
        "operationId" : "updateFundraiserType",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The update fundraiser type request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/FundraiserTypeRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a fundraiser type is updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FundraiserTypeApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Fundraiser Types" ],
        "summary" : "Delete a fundraiser type",
        "operationId" : "deleteFundraiserType",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the fundraiser type is deleted successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the fundraiser type does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/fundraisers" : {
      "post" : {
        "tags" : [ "Fundraisers" ],
        "summary" : "Create a fundraiser",
        "operationId" : "createFundraiser",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The create fundraiser request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/FundraiserRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a fundraiser is created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FundraiserApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Fundraisers" ],
        "summary" : "Get fundraisers",
        "operationId" : "getFundraisers",
        "parameters" : [ {
          "name" : "communityId",
          "in" : "query",
          "description" : "Filter by community",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "groupId",
          "in" : "query",
          "description" : "Filter by group",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "ussdAccessible",
          "in" : "query",
          "description" : "Filter by ussd events",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "acceptsTransfer",
          "in" : "query",
          "description" : "Filter by events that accept transfers",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When fundraisers are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FundraisersApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : true,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/fundraisers/stats" : {
      "get" : {
        "tags" : [ "Fundraisers" ],
        "summary" : "Get fundraisers stats",
        "operationId" : "getFundraisersStats",
        "parameters" : [ {
          "name" : "fundraiserIds",
          "in" : "query",
          "description" : "Fundraiser ids",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "Investments from which date",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "Investments to which date",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "groupIds",
          "in" : "query",
          "description" : "Subgroup ids",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the community fundraisers are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CommunityFundraisersApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/fundraisers/{id}" : {
      "get" : {
        "tags" : [ "Fundraisers" ],
        "summary" : "Get fundraiser",
        "operationId" : "getFundraiser",
        "parameters" : [ {
          "name" : "Accept",
          "in" : "header",
          "description" : "Set to 'application/pdf' to get PDF output instead of JSON (defaults to JSON).",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "sumAllInterest",
          "in" : "query",
          "description" : "Whether to sum all interest or just for whole months",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the fundraiser details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FundraiserApiResponse"
                }
              },
              "application/pdf" : { }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the fundraiser does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Fundraisers" ],
        "summary" : "Update a fundraiser",
        "operationId" : "updateFundraiser",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The fundraiser update request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/FundraiserRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a fundraiser details are updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FundraiserApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the fundraiser does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Fundraisers" ],
        "summary" : "Delete a fundraiser",
        "operationId" : "deleteFundraiser",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the fundraiser is deleted successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the fundraiser does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/fundraisers/{id}/add-pledges" : {
      "post" : {
        "tags" : [ "Pledges" ],
        "summary" : "Add pledges in bulk",
        "operationId" : "addPledges",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The add pledges request",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/PledgeRequest"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When the pledges are added successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PledgeApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the fundraiser does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/fundraisers/{id}/anonymize" : {
      "patch" : {
        "tags" : [ "Fundraisers" ],
        "summary" : "Anonymize a fundraiser",
        "operationId" : "anonymizeFundraiser",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The anonymize request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AnonymizeRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a fundraiser contributions and pledges for this user are anonymized successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the fundraiser does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/fundraisers/{id}/archive" : {
      "patch" : {
        "tags" : [ "Fundraisers" ],
        "summary" : "Archive a fundraiser",
        "operationId" : "archiveFundraiser",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the fundraiser is archived successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the fundraiser does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/fundraisers/{id}/close" : {
      "patch" : {
        "tags" : [ "Fundraisers" ],
        "summary" : "Close a fundraiser",
        "operationId" : "closeFundraiser",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the fundraiser is closed successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the fundraiser does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/fundraisers/{id}/contributions" : {
      "get" : {
        "tags" : [ "Fundraisers" ],
        "summary" : "Get fundraiser contributions with pagination",
        "operationId" : "getFundraiserContributions",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "description" : "Page number for pagination",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "Page size for pagination",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Field to sort by (name, amount)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "order",
          "in" : "query",
          "description" : "Sort order (asc, desc)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the fundraiser contributions are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FundraiserContributionsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the fundraiser does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/fundraisers/{id}/cycles" : {
      "get" : {
        "tags" : [ "Fundraisers" ],
        "summary" : "Get fundraiser cycles latest first",
        "operationId" : "getFundraiserCycles",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Limit the number of cycles returned",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the fundraiser cycles are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FundraiserCyclesApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the fundraiser does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/fundraisers/{id}/groups" : {
      "get" : {
        "tags" : [ "Invites" ],
        "summary" : "Get fundraiser group and community invites",
        "operationId" : "getGroupInvites",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When fundraiser group and community invites are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GroupInvitesApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/fundraisers/{id}/invites" : {
      "post" : {
        "tags" : [ "Invites" ],
        "summary" : "Invite communities/groups/external friends and family to a fundraiser",
        "operationId" : "createInvites",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The invite request body - supply either of groupId/memberId/communityId or phoneNumber & name",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/InviteRequest"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a fundraiser invite is created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Invites" ],
        "summary" : "Get fundraiser invites",
        "operationId" : "getInvites",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "accepted",
          "in" : "query",
          "description" : "Only get those that have accepted the invite",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When fundraiser invites are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/InvitesApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/fundraisers/{id}/leave" : {
      "delete" : {
        "tags" : [ "Fundraisers" ],
        "summary" : "Leave a fundraiser",
        "operationId" : "leaveFundraiser",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When a member leaves successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the fundraiser does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/fundraisers/{id}/messages" : {
      "get" : {
        "tags" : [ "Messages" ],
        "summary" : "Get fundraiser messages",
        "operationId" : "getFundraiserMessages",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When fundraiser messages are retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AppMessagesApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/fundraisers/{id}/pledges" : {
      "post" : {
        "tags" : [ "Pledges" ],
        "summary" : "Make a pledge",
        "operationId" : "makePledge",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The pledge request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PledgeRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a pledge is added successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PledgeApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the fundraiser does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Pledges" ],
        "summary" : "Get fundraiser pledges",
        "operationId" : "getFundraiserPledges",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When fundraiser pledges are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PledgesApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/fundraisers/{id}/public" : {
      "get" : {
        "tags" : [ "Fundraisers" ],
        "summary" : "Get public fundraiser",
        "operationId" : "getPublicFundraiser",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the fundraiser details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PublicFundraiserApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the fundraiser does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        } ]
      }
    },
    "/api/v1/goals" : {
      "post" : {
        "tags" : [ "Goals" ],
        "summary" : "Create goal",
        "operationId" : "createGoal",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The create goal request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/GoalRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a goal is created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GoalApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Goals" ],
        "summary" : "Get goals",
        "operationId" : "getGoals",
        "parameters" : [ {
          "name" : "groupId",
          "in" : "query",
          "description" : "Filter by group",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "sumAllInterest",
          "in" : "query",
          "description" : "Whether to sum all interest or just for whole months",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "fundManagerId",
          "in" : "query",
          "description" : "Fund manager ID",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When goals are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GoalsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/goals/summary" : {
      "get" : {
        "tags" : [ "Goals" ],
        "summary" : "Get goals summary",
        "operationId" : "getGoalsSummary",
        "parameters" : [ {
          "name" : "sumAllInterest",
          "in" : "query",
          "description" : "Whether to sum all interest or just for whole months",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When goals summary is fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GoalsSummaryApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/goals/{id}" : {
      "get" : {
        "tags" : [ "Goals" ],
        "summary" : "Get goal",
        "operationId" : "getGoal",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "sumAllInterest",
          "in" : "query",
          "description" : "Whether to sum all interest or just for whole months",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the goal details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GoalApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the goal does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Goals" ],
        "summary" : "Update goal",
        "operationId" : "updateGoal",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The update goal request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/GoalRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a goal is updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GoalApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Goals" ],
        "summary" : "Delete a goal",
        "operationId" : "deleteGoal",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the goal is deleted successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the goal does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/goals/{id}/delete" : {
      "delete" : {
        "tags" : [ "Goals" ],
        "summary" : "Delete goal as the owner with total-contributions < KES. {CONFIGURABLE_AMOUNT}",
        "operationId" : "deleteUserGoal",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the user goal is deleted successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the goal does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/goals/{id}/statement" : {
      "get" : {
        "tags" : [ "Goals" ],
        "summary" : "Get goal statement",
        "operationId" : "getGoalStatement",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "sumAllInterest",
          "in" : "query",
          "description" : "Whether to sum all interest or just for whole months",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the goal statement is fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GoalStatementApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the goal does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/goals/{id}/transactions" : {
      "get" : {
        "tags" : [ "Goals" ],
        "summary" : "Get goal transactions",
        "operationId" : "getGoal",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the goal transactions are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GoalTransactionsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the goal does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/goals/{id}/{type}/balance" : {
      "get" : {
        "tags" : [ "Analytics" ],
        "summary" : "Get goal balance",
        "operationId" : "getGoalBalance",
        "parameters" : [ {
          "name" : "type",
          "in" : "path",
          "description" : "The type of goal, one of [GOAL, PYF, GPAY]",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Goal id",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When goal balance is fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TransactionsApiResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/groups" : {
      "post" : {
        "tags" : [ "Groups" ],
        "summary" : "Create group",
        "operationId" : "createGroup",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The create group request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/GroupRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a group is created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GroupApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Groups" ],
        "summary" : "Get investment groups",
        "operationId" : "getInvestmentGroups",
        "parameters" : [ {
          "name" : "pagination",
          "in" : "query",
          "description" : "Enable pagination (true/false)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "description" : "Page number (starts at 0)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "Page size (max 100)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Optional sort field",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When investment groups are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GroupsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/groups/not-invited" : {
      "get" : {
        "tags" : [ "Groups" ],
        "summary" : "Get uninvited groups",
        "operationId" : "getNotInvitedGroups",
        "parameters" : [ {
          "name" : "eventId",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Returns a non-paginated list of community subgroups that have not been invited to any fundraiser",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CustomJson"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is malformed or context is invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if authentication headers are missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/groups/{id}" : {
      "get" : {
        "tags" : [ "Groups" ],
        "summary" : "Get group",
        "operationId" : "getGroup",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the group details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GroupApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the group does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Groups" ],
        "summary" : "Update group",
        "operationId" : "updateGroup",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The update group request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpdateGroupRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a group is updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GroupApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Groups" ],
        "summary" : "Delete a group",
        "operationId" : "deleteGroup",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the group is deleted successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the group does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/groups/{id}/activity" : {
      "get" : {
        "tags" : [ "Groups" ],
        "summary" : "Get group activity logs",
        "operationId" : "getGroupActivityLogs",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Limit the number of logs returned",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Getting activity logs successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ActivityLogsApiResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/groups/{id}/leave" : {
      "delete" : {
        "tags" : [ "Groups" ],
        "summary" : "Leave a group",
        "operationId" : "leaveGroup",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the member is removed successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the member does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/groups/{id}/members" : {
      "post" : {
        "tags" : [ "Members" ],
        "summary" : "Add members",
        "operationId" : "addMembers",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Add members to group request",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/GroupMemberRequest"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When members are added to group successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AddMembersApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Members" ],
        "summary" : "Get group members",
        "operationId" : "getGroupMembers",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When group members are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MembersApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/groups/{id}/members/{memberId}" : {
      "delete" : {
        "tags" : [ "Groups" ],
        "summary" : "Remove a member from a group",
        "operationId" : "removeMember",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "memberId",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the member is removed successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the member does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/groups/{id}/messages" : {
      "get" : {
        "tags" : [ "Messages" ],
        "summary" : "Get group messages",
        "operationId" : "getGroupMessages",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When group messages are retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AppMessagesApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/heroes" : {
      "get" : {
        "tags" : [ "Heroes" ],
        "summary" : "Get heroes product",
        "operationId" : "getHeroes",
        "parameters" : [ {
          "name" : "communityId",
          "in" : "query",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When heroes products are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/HeroesApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/heroes/{communityId}" : {
      "post" : {
        "tags" : [ "Heroes" ],
        "summary" : "Create heroes product",
        "operationId" : "createHeroes",
        "parameters" : [ {
          "name" : "communityId",
          "in" : "path",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When heroes products are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/HeroApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/heroes/{id}" : {
      "patch" : {
        "tags" : [ "Heroes" ],
        "summary" : "Update heroes product",
        "operationId" : "updateHero",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When heroes plan is updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/HeroApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Heroes" ],
        "summary" : "Get heroes product",
        "operationId" : "getHero",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When heroes plan is retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/HeroApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Heroes" ],
        "summary" : "Delete a hero",
        "operationId" : "deleteHero",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the hero is deleted successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the community does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/images" : {
      "post" : {
        "tags" : [ "Images" ],
        "summary" : "Upload images or documents",
        "operationId" : "createImages",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "Image/doc to be uploaded",
          "content" : {
            "application/octet-stream" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "image" : {
                    "type" : "string"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a image/doc is uploaded successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ImageUploadApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/investments/pay-yourself" : {
      "post" : {
        "tags" : [ "PayYourSelf" ],
        "summary" : "Start a pay yourself investment",
        "operationId" : "payYourSelfInvestment",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The pay yourself investment request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PayYourselfRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When the pay yourself investment is started successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PayYourselfApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "PayYourSelf" ],
        "summary" : "Get pay yourself investments",
        "operationId" : "getPayYourselfInvestments",
        "parameters" : [ {
          "name" : "sumAllInterest",
          "in" : "query",
          "description" : "Whether to sum all interest or just for whole months",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "pagination",
          "in" : "query",
          "description" : "Set to false to disable pagination and return all results",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "description" : "Page number for paginated results (starts at 1)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "Number of items per page for paginated results",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When pay yourself investments are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PayYourselfListApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/investments/pay-yourself/{id}" : {
      "get" : {
        "tags" : [ "PayYourSelf" ],
        "summary" : "Get pay yourself investment",
        "operationId" : "getPayYourselfInvestment",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "sumAllInterest",
          "in" : "query",
          "description" : "Whether to sum all interest or just for whole months",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the pay yourself investment details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PayYourselfResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the investment does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "PayYourSelf" ],
        "summary" : "Update pay yourself investment",
        "operationId" : "updatePayYourselfInvestment",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The pay yourself investment update request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PayYourselfRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When the pay yourself investment details are updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PayYourselfResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the investment does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "PayYourSelf" ],
        "summary" : "Delete pay yourself investment",
        "operationId" : "deleteUserPYFInvestment",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "When the pay yourself investment is deleted successfully"
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the investment does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/investments/sure-pay" : {
      "post" : {
        "tags" : [ "SurePay" ],
        "summary" : "Start a sure pay investment",
        "operationId" : "surePayInvestment",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The sure pay investment request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SurePayRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When the sure pay investment is started successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SurePayApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "SurePay" ],
        "summary" : "Get SurePay investments with optional pagination and sorting",
        "operationId" : "getSurePayInvestments",
        "parameters" : [ {
          "name" : "pagination",
          "in" : "query",
          "description" : "Set to false to disable pagination and return all results",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "description" : "Page number for paginated results (starts at 1)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "Number of items per page for paginated results",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When SurePay investments are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SurePayListApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/investments/sure-pay/{id}" : {
      "get" : {
        "tags" : [ "SurePay" ],
        "summary" : "Get sure pay investment",
        "operationId" : "getSurePayInvestment",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "sumAllInterest",
          "in" : "query",
          "description" : "Whether to sum all interest or just for whole months",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the sure pay investment details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SurePayApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the investment does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "SurePay" ],
        "summary" : "Update sure pay investment",
        "operationId" : "updateSurePayInvestment",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The sure pay investment update request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SurePayRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When the sure pay investment details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SurePayApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the investment does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "SurePay" ],
        "summary" : "Delete SurePay investment",
        "operationId" : "deleteSurePayInvestment",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "When Sure-Pay investment is deleted successfully"
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the investment does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/invites/{id}" : {
      "patch" : {
        "tags" : [ "Invites" ],
        "summary" : "Action an invite",
        "operationId" : "actionInvite",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The action invite request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ActionRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When the invite request is actioned successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the invite does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/invites/{id}/resend" : {
      "post" : {
        "tags" : [ "Invites" ],
        "summary" : "Resend an invite",
        "operationId" : "resendInvite",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the invite request is resent successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the invite does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/jobs/coop-paybill" : {
      "post" : {
        "tags" : [ "Coop PayBill" ],
        "summary" : "Schedule Coop PayBill Checker Job",
        "description" : "Schedules a recurring cron job to check Coop PayBill statements every 7 minutes for all configured accounts.",
        "operationId" : "scheduleCoopPayBill",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "Optional request body with startDate and endDate (format: yyyy-MM-dd).",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CoopAccStatementRequest"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "description" : "Jobs scheduled successfully"
          },
          "400" : {
            "description" : "No COOP clients configured"
          },
          "500" : {
            "description" : "Failed to read or parse coop_clients.json"
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/jobs/coop-paybill/list" : {
      "get" : {
        "tags" : [ "Coop PayBill" ],
        "summary" : "List Coop PayBill Jobs",
        "description" : "Lists all scheduled Coop PayBill checker jobs with their triggers and states.",
        "operationId" : "listCoopJobs",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "Jobs listed successfully"
          },
          "500" : {
            "description" : "Failed to list jobs"
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/members/{id}" : {
      "get" : {
        "tags" : [ "Members" ],
        "summary" : "Get member",
        "operationId" : "getMember",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the member details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MemberApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the group does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Members" ],
        "summary" : "Update member",
        "operationId" : "updateMember",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The update member request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpdateMemberRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a member is updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MemberApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/messages" : {
      "post" : {
        "tags" : [ "Messages" ],
        "summary" : "Send message",
        "operationId" : "sendMessage",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The send message request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MessageRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a message is sent successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/messages/{id}/read" : {
      "post" : {
        "tags" : [ "Messages" ],
        "summary" : "Mark a specific message as read",
        "operationId" : "markMessageRead",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Message id",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Message marked as read successfully"
          },
          "400" : {
            "description" : "Invalid request"
          },
          "401" : {
            "description" : "Unauthorized"
          },
          "404" : {
            "description" : "Message not found"
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/notifications/{userId}" : {
      "get" : {
        "tags" : [ "Notifications" ],
        "summary" : "Get notifications",
        "operationId" : "getNotifications",
        "parameters" : [ {
          "name" : "userId",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "From which date",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "To which date",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "From what point",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Limit the number of results",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Getting notifications successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/NotificationsApiResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/organizations" : {
      "post" : {
        "tags" : [ "Org" ],
        "summary" : "Create Organization",
        "operationId" : "createOrg",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "CreateOrgRequest",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CreateOrgRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Organization created successfully",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Org" ],
        "summary" : "Get All Organizations",
        "operationId" : "getOrgs",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "Orgs fetched successfully",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/organizations/user" : {
      "get" : {
        "tags" : [ "Org-Membership" ],
        "summary" : "Get Orgs & communities for current logged in user",
        "operationId" : "getUserOrgs",
        "parameters" : [ {
          "name" : "pagination",
          "in" : "query",
          "description" : "Set to false to disable pagination and return all results",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "description" : "Page number for paginated results (starts at 1)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "Number of items per page for paginated results",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "User's organizations and sub-organizations fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedApiResponse"
                }
              },
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the user does not exist or query parameters are invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/organizations/{id}" : {
      "patch" : {
        "tags" : [ "Org" ],
        "summary" : "Update Organization",
        "operationId" : "updateOrg",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "UpdateOrgRequest",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpdateOrgRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Returns the updated organization details including linked sub-organizations",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is invalid, hierarchy linkage is invalid, or validation fails",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Org" ],
        "summary" : "Get Organization Details",
        "operationId" : "getOrg",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Org fetched successfully",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Org" ],
        "summary" : "Delete Organization",
        "operationId" : "deleteOrg",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Org deleted successfully",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/organizations/{id}/archive" : {
      "post" : {
        "tags" : [ "Org" ],
        "summary" : "Archive Organization",
        "operationId" : "archiveOrg",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Org archived successfully",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/organizations/{id}/communities" : {
      "get" : {
        "tags" : [ "Org" ],
        "summary" : "Get communities under an organization",
        "description" : "Returns a list of communities linked to the specified organization. Supports pagination and filtering out sub-org level zero.",
        "operationId" : "getCommunitiesByOrganization",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Organization UUID",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "pagination",
          "in" : "query",
          "description" : "Enable pagination (true/false)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "description" : "Page number (starts at 1)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "Page size (max 100)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Optional sort field",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of communities",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid organization ID or bad request"
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/organizations/{id}/default-community" : {
      "get" : {
        "tags" : [ "Org-Sub" ],
        "summary" : "Get Organization's Default Community",
        "operationId" : "getDefaultCommunity",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Default Community fetched successfully",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/organizations/{id}/event/add-subOrg/{subOrgId}" : {
      "post" : {
        "tags" : [ "Org-Events" ],
        "summary" : "Add SubOrgs to an Org-Event",
        "operationId" : "addSubOrgsToEvent",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "subOrgId",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Add SubOrg to Event Request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AddSubOrgToEventRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "SubOrgs removed from Org-Event successfully",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/organizations/{id}/link" : {
      "patch" : {
        "tags" : [ "Org" ],
        "summary" : "Link or unlink an organization to a parent organization",
        "operationId" : "linkSubOrg",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "ID of the organization to link or unlink",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Provide targetOrganizationId to link, or omit it to unlink. Must specify parentLevel (2 for linking to level 3, 3 for linking to level 4).",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/LinkSubOrgRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Returns the updated organization details including linked sub-organizations",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is invalid, hierarchy linkage is invalid, validation fails, or unlinking is blocked due to downstream dependencies",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if authentication headers are missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/organizations/{id}/message" : {
      "post" : {
        "tags" : [ "Org-Communication" ],
        "summary" : "Send Org Message",
        "operationId" : "sendOrgMessage",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Org Message Request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/OrgMessageRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When organization message is sent successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CommunityMessageResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the fundraiser does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Org-Communication" ],
        "summary" : "Get Org Messages",
        "operationId" : "getOrgMessage",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "description" : "page to query",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "page size to query",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When organization messages are fetched successfully",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the fundraiser does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/organizations/{id}/sub" : {
      "get" : {
        "tags" : [ "Org" ],
        "summary" : "Fetch suborganizations linked to a given organization",
        "operationId" : "getSubOrganizations",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "ID of the organization",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Returns a list of suborganizations linked to the specified organization",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "object"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the organization ID is invalid or not found",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if authentication headers are missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/otp" : {
      "post" : {
        "tags" : [ "OTP" ],
        "summary" : "Request and Validate OTP",
        "operationId" : "requestAndValidateOtp",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "Action withdrawal approval request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/OtpActionRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OTP activity completed successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OTPActionResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/packages" : {
      "get" : {
        "tags" : [ "Packages" ],
        "summary" : "Get packages",
        "operationId" : "getPackages",
        "parameters" : [ {
          "name" : "communityId",
          "in" : "query",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "heroId",
          "in" : "query",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "onlyContributedTo",
          "in" : "query",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When packages are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PackagesApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/packages/{category}" : {
      "get" : {
        "tags" : [ "Packages" ],
        "summary" : "Get packages by category",
        "operationId" : "getPackagesByCategory",
        "parameters" : [ {
          "name" : "category",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "heroId",
          "in" : "query",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "communityId",
          "in" : "query",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "onlyContributedTo",
          "in" : "query",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When packages are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PackagesByCategoryApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/packages/{name}/report" : {
      "get" : {
        "tags" : [ "Packages" ],
        "summary" : "Get package report",
        "operationId" : "getPackageReport",
        "parameters" : [ {
          "name" : "name",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "heroId",
          "in" : "query",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "communityId",
          "in" : "query",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When package report is fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PackageReportApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/password/forgot" : {
      "post" : {
        "tags" : [ "Password" ],
        "summary" : "Forgot password",
        "operationId" : "forgotPassword",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The password request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ForgotPasswordRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a password is reset successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserIdApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        } ]
      }
    },
    "/api/v1/password/{userId}/change" : {
      "post" : {
        "tags" : [ "Password" ],
        "summary" : "Change password",
        "operationId" : "changePassword",
        "parameters" : [ {
          "name" : "userId",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The change password request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ChangePasswordRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When password change request is done successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/password/{userId}/reset" : {
      "post" : {
        "tags" : [ "Password" ],
        "summary" : "Reset password",
        "operationId" : "resetPassword",
        "parameters" : [ {
          "name" : "userId",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The password reset request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ResetPasswordRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When password reset request is done successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        } ]
      }
    },
    "/api/v1/payments" : {
      "post" : {
        "tags" : [ "Payments" ],
        "summary" : "Make payment",
        "operationId" : "makePayment",
        "parameters" : [ {
          "name" : "userId",
          "in" : "query",
          "description" : "For which user",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The make payment request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MakePaymentRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When the payment is initiated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaymentApiResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Payments" ],
        "summary" : "Get payments",
        "operationId" : "getPayments",
        "parameters" : [ {
          "name" : "from",
          "in" : "query",
          "description" : "From which date",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "To which date",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "actionable",
          "in" : "query",
          "description" : "Filter by actionable",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "goalId",
          "in" : "query",
          "description" : "Filter by goal",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "payYourselfId",
          "in" : "query",
          "description" : "Filter by pyf",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "gpayId",
          "in" : "query",
          "description" : "Filter by gpay",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fundraiserId",
          "in" : "query",
          "description" : "Filter by fundraiser",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "coop",
          "in" : "query",
          "description" : "Filter only coop payments",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "mpesaPending",
          "in" : "query",
          "description" : "Filter Mpesa payments pending action",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "fundManagerId",
          "in" : "query",
          "description" : "Filter by fund manager",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "pagination",
          "in" : "query",
          "description" : "Enable pagination (true/false)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "description" : "Page number (starts at 1)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "Page size (max 100)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When payments are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaymentsApiResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/payments/coop-paybill" : {
      "post" : {
        "tags" : [ "Coop PayBill" ],
        "summary" : "Trigger Coop PayBill Checker Job",
        "description" : "Triggers the Coop PayBill checker job immediately for all configured accounts.",
        "operationId" : "triggerCoopPayBill",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "Optional request body with startDate and endDate (format: yyyy-MM-dd).",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CoopAccStatementRequest"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "description" : "Jobs triggered successfully"
          },
          "400" : {
            "description" : "No COOP clients configured"
          },
          "500" : {
            "description" : "Failed to trigger job"
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/payments/deposit" : {
      "post" : {
        "tags" : [ "Payments" ],
        "summary" : "Make payment deposit",
        "operationId" : "makePaymentDeposit",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The make payment deposit request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MakePaymentDepositRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When the payment deposit is initiated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaymentResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/payments/{id}" : {
      "patch" : {
        "tags" : [ "Payments" ],
        "summary" : "Update payment",
        "operationId" : "updatePayment",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The update payment request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpdatePaymentDepositRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When the payment is initiated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/payments/{id}/status" : {
      "get" : {
        "tags" : [ "Payments" ],
        "summary" : "Get payment status",
        "operationId" : "getPaymentStatus",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "From which date",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "To which date",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When payment status is fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaymentStatusApiResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        } ]
      }
    },
    "/api/v1/pledges" : {
      "get" : {
        "tags" : [ "Pledges" ],
        "summary" : "Get pledges",
        "operationId" : "getPledges",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When fundraiser pledges are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PledgesApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/pledges/{id}" : {
      "get" : {
        "tags" : [ "Pledges" ],
        "summary" : "Get pledge",
        "operationId" : "getPledge",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the pledge details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PledgeApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the pledge does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/productgroups" : {
      "post" : {
        "tags" : [ "Product Groups" ],
        "summary" : "Create a product group",
        "operationId" : "createProductGroup",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The create product group request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ProductGroupRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a product group is created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProductGroupApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Product Groups" ],
        "summary" : "Get product groups",
        "operationId" : "getProductGroups",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When product groups are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProductGroupsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/productgroups/{id}" : {
      "get" : {
        "tags" : [ "Product Groups" ],
        "summary" : "Get product group",
        "operationId" : "getProductGroup",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the product group details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProductGroupApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the product group does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Product Groups" ],
        "summary" : "Update a product group",
        "operationId" : "updateProductGroup",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The product group update request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpdateProductGroupRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a product group details are updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProductGroupApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the product does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Product Groups" ],
        "summary" : "Delete a product group",
        "operationId" : "deleteProductGroup",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the product group is deleted successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the product does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/products" : {
      "post" : {
        "tags" : [ "Products" ],
        "summary" : "Create product",
        "operationId" : "createProduct",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The create product request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ProductRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a product is created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProductApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Products" ],
        "summary" : "Get products",
        "operationId" : "getProducts",
        "parameters" : [ {
          "name" : "all",
          "in" : "query",
          "description" : "Return all include those not available to the App if all = 1",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When products are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProductsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/products/{id}" : {
      "get" : {
        "tags" : [ "Products" ],
        "summary" : "Get product",
        "operationId" : "getProduct",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fundManagerId",
          "in" : "query",
          "description" : "Fund manager ID",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the product details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProductApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the product does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Products" ],
        "summary" : "Update a product",
        "operationId" : "updateProduct",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The product update request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpdateProductRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a product details are updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProductApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the product does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Products" ],
        "summary" : "Delete a product",
        "operationId" : "deleteProduct",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the product is deleted successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the product does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/products/{id}/categories" : {
      "get" : {
        "tags" : [ "Categories" ],
        "summary" : "Get product categories",
        "operationId" : "getProductCategories",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the product details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProductCategoriesApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the product does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/providers" : {
      "post" : {
        "tags" : [ "Providers" ],
        "summary" : "Create providers",
        "operationId" : "createProvider",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The create provider request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ProviderRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a provider is created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Providers" ],
        "summary" : "Get providers",
        "operationId" : "getProviders",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When providers are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProvidersApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/providers/{id}" : {
      "patch" : {
        "tags" : [ "Providers" ],
        "summary" : "Update provider",
        "operationId" : "updateProvider",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The update provider request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ProviderRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a provider is updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Providers" ],
        "summary" : "Get a provider",
        "operationId" : "getProvider",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When a provider is fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Providers" ],
        "summary" : "Delete a provider",
        "operationId" : "deleteProvider",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When a provider is deleted successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/reports/{communityId}/contributions-summary" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Get contribution summary report for a community",
        "description" : "Returns a contribution summary for events in a community, ordered by latest created first. Use the 'format' parameter to choose the output: excel (default), pdf, or json.",
        "operationId" : "getContributionSummaryReport",
        "parameters" : [ {
          "name" : "communityId",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "format",
          "in" : "query",
          "description" : "Output format: excel (default), pdf, or json",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "status",
          "in" : "query",
          "description" : "Filter by event status: ACTIVE, CLOSED, ARCHIVED, or ALL (default)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "eventOwner",
          "in" : "query",
          "description" : "Filter by event owner: COMMUNITY, SUBGROUP, or ALL (default)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "groupIds",
          "in" : "query",
          "description" : "Comma-separated subgroup UUIDs",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "Contributions from date (yyyy-MM-dd)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "Contributions to date (yyyy-MM-dd)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "createdFrom",
          "in" : "query",
          "description" : "Events created from date (yyyy-MM-dd)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "createdTo",
          "in" : "query",
          "description" : "Events created to date (yyyy-MM-dd)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Contribution summary — content type depends on format param",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ContributionReportApiResponse"
                }
              },
              "application/pdf" : { },
              "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" : { }
            }
          },
          "400" : {
            "description" : "Invalid request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/sms-gateway" : {
      "post" : {
        "tags" : [ "SmsGateway" ],
        "summary" : "Create a community SMS gateway",
        "operationId" : "createSmsGateway",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The smsGateway request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SmsGatewayRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When sms gateway request is added successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WithdrawalApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "SmsGateway" ],
        "summary" : "Update a community SMS gateway",
        "operationId" : "updateSmsGateway",
        "parameters" : [ {
          "name" : "gatewayId",
          "in" : "path",
          "description" : "SMS Gateway Id",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The smsGateway request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SmsGatewayRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a smsGateway is updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WithdrawalApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "SmsGateway" ],
        "summary" : "Show SMS gateway",
        "operationId" : "showSmsGateway",
        "parameters" : [ {
          "name" : "gatewayId",
          "in" : "path",
          "description" : "SMS Gateway Id",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When a smsGateway is fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WithdrawalApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "SmsGateway" ],
        "summary" : "Create a community SMS gateway",
        "operationId" : "deleteSmsGateway",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The smsGateway request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SmsGatewayRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "When a smsGateway request is deleted successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WithdrawalApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/sms-providers/{id}/test" : {
      "post" : {
        "tags" : [ "SmsGateway" ],
        "summary" : "Send a test SMS through a configured gateway",
        "operationId" : "testSmsGateway",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "SMS Gateway Id",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The sms gateway test request. Use path id or pass communityId in the body on the /test route.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/TestSmsGatewayRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When the sms gateway test request is accepted successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WithdrawalApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/subcategories/{id}" : {
      "patch" : {
        "tags" : [ "Subcategories" ],
        "summary" : "Update a sub category",
        "operationId" : "updateSubCategory",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The product sub category update request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SubCategoryRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a sub category details are updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the sub category does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Subcategories" ],
        "summary" : "Delete a subcategory",
        "operationId" : "deleteSubCategory",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the sub category is deleted successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the sub category does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/subscriptions/user/{id}" : {
      "get" : {
        "tags" : [ "User Subscriptions" ],
        "summary" : "Get user subscriptions",
        "operationId" : "getUserSubscriptions",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When user subscription are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedUserSubscriptionsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/sweep-events" : {
      "post" : {
        "tags" : [ "Sweep Events" ],
        "summary" : "Create sweep event",
        "operationId" : "addSweepEvent",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "Create sweep event request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SweepEventsRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a sweep event is created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SweepEventsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Sweep Events" ],
        "summary" : "Get sweep events",
        "operationId" : "getSweepEvents",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When sweep events are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedSweepEventsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/sweep-events-job" : {
      "get" : {
        "tags" : [ "Sweep Events Job" ],
        "summary" : "Run sweep events job",
        "operationId" : "runSweepEvents",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When the sweep event is run successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the sweep event does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/sweep-events/report/summary" : {
      "get" : {
        "tags" : [ "Sweep Events Report" ],
        "summary" : "Get sweep events report summary",
        "operationId" : "getSweepEventReportSummary",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When sweep events are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedSweepEventsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/sweep-events/report/{event}" : {
      "get" : {
        "tags" : [ "Sweep Events Report" ],
        "summary" : "Get sweep events report",
        "operationId" : "getSweepEventReport",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When sweep events are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedSweepEventsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/sweep-events/{id}" : {
      "get" : {
        "tags" : [ "Sweep Events" ],
        "summary" : "Get sweep event",
        "operationId" : "getSweepEvent",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the sweep event details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SweepEventsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the sweep event does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Sweep Events" ],
        "summary" : "Update sweep event",
        "operationId" : "updateSweepEvent",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The update sweep event request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SweepEventsRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a sweep event is updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SweepEventsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Sweep Events" ],
        "summary" : "Delete a sweep event",
        "operationId" : "deleteSweepEvent",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the sweep event is deleted successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the sweep event does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/transactions" : {
      "get" : {
        "tags" : [ "Analytics" ],
        "summary" : "Get transactions",
        "operationId" : "getTransactions",
        "parameters" : [ {
          "name" : "year",
          "in" : "query",
          "description" : "Year of the transactions - (YYYY)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "month",
          "in" : "query",
          "description" : "Month of the transactions - (YYYY-MM)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "From which date (YYYY-MM-DD)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "To which date (YYYY-MM-DD)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "transactionType",
          "in" : "query",
          "description" : "Type of transaction, one of [DEPOSIT, WITHDRAWAL, INTEREST, FEES]",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "goalId",
          "in" : "query",
          "description" : "Filter by Savings Goal",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "payYourselfId",
          "in" : "query",
          "description" : "Filter by Hazina",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "gpayId",
          "in" : "query",
          "description" : "Filter by G-PAY",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "eventId",
          "in" : "query",
          "description" : "Filter by Event",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When user analytics are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TransactionsApiResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/transfers" : {
      "post" : {
        "tags" : [ "Transfers" ],
        "summary" : "Make a transfer request",
        "operationId" : "makeTransfer",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The transfer request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/TransferRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a transfer request is is added successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/transfers/approvals" : {
      "get" : {
        "tags" : [ "Transfers" ],
        "summary" : "Get all transfer approvals",
        "operationId" : "getTransferApprovals",
        "parameters" : [ {
          "name" : "communityId",
          "in" : "query",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When transfer approvals are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TransfersApiResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/transfers/{id}/approvals" : {
      "get" : {
        "tags" : [ "Transfers" ],
        "summary" : "Get transfer approval details",
        "operationId" : "getTransferApprovalDetails",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When transfer approval details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApprovalsApiResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Transfers" ],
        "summary" : "Action transfer approval",
        "operationId" : "actionTransferApproval",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Action transfer approval request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ActionRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a transfer approval is actioned successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TransferApiResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/users" : {
      "post" : {
        "tags" : [ "Users" ],
        "summary" : "Register a user",
        "operationId" : "registerUser",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The registration request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RegistrationRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a user is registered successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the phone number already exists",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        } ]
      }
    },
    "/api/v1/users/login" : {
      "post" : {
        "tags" : [ "Users" ],
        "summary" : "Login a user",
        "operationId" : "loginUser",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The login request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/LoginRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a user is logged in successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the login credentials are incorrect",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        } ]
      }
    },
    "/api/v1/users/next-of-kin" : {
      "get" : {
        "tags" : [ "NextOfKin" ],
        "summary" : "Get all next of kin in all statuses",
        "operationId" : "getAllNextOfKins",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the list of next of kin is fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/NextOfKinResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the user does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/users/search" : {
      "get" : {
        "tags" : [ "Users" ],
        "summary" : "Search user",
        "operationId" : "searchUser",
        "parameters" : [ {
          "name" : "phoneNumber",
          "in" : "query",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the user details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchUserApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the user does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/users/{id}" : {
      "get" : {
        "tags" : [ "Users" ],
        "summary" : "Get user",
        "operationId" : "getUser",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the user details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the user does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Users" ],
        "summary" : "Update a user",
        "operationId" : "updateUser",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The user update request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpdateUserRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a user details are updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the user does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Users" ],
        "summary" : "Delete a user",
        "operationId" : "deleteUser",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the user is deleted successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the user does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/users/{id}/accounts" : {
      "get" : {
        "tags" : [ "Accounts" ],
        "summary" : "Get Accounts for a Specific User",
        "operationId" : "getUserAccounts",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "User ID whose accounts are being fetched",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "pagination",
          "in" : "query",
          "description" : "Enable or disable pagination",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "description" : "Page number for pagination",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "Page size for pagination",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Accounts fetched successfully",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/users/{id}/analytics" : {
      "get" : {
        "tags" : [ "Analytics" ],
        "summary" : "Get user analytics",
        "operationId" : "getUserAnalytics",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When user analytics are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AnalyticsApiResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/users/{id}/analytics/goals" : {
      "get" : {
        "tags" : [ "Analytics" ],
        "summary" : "Get user goal report",
        "operationId" : "getUserGoalReport",
        "parameters" : [ {
          "name" : "year",
          "in" : "query",
          "description" : "Year of the transactions - (YYYY)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "month",
          "in" : "query",
          "description" : "Month of the transactions - (YYYY-MM)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "From which date (YYYY-MM-DD)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "To which date (YYYY-MM-DD)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "goalId",
          "in" : "query",
          "description" : "Filter by Savings Goal",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "payYourselfId",
          "in" : "query",
          "description" : "Filter by Hazina",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "gpayId",
          "in" : "query",
          "description" : "Filter by G-PAY",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "eventId",
          "in" : "query",
          "description" : "Filter by Event",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When user analytics are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserGoalTransactionsApiResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/users/{id}/contributions" : {
      "get" : {
        "tags" : [ "Users", "Contributions", "Events", "Communities" ],
        "summary" : "Get user contributions for a event/community",
        "operationId" : "getUserContributions",
        "parameters" : [ {
          "name" : "Accept",
          "in" : "header",
          "description" : "Set to 'application/pdf' to get PDF output instead of JSON (defaults to JSON).",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "communityId",
          "in" : "query",
          "description" : "Investments in which community",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "eventId",
          "in" : "query",
          "description" : "Investments in which event",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "eventIds",
          "in" : "query",
          "description" : "Investments in which events",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "groupId",
          "in" : "query",
          "description" : "Investments in which subgroup",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "subgroupId",
          "in" : "query",
          "description" : "Alias for groupId",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "Investments from which date",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "Investments to which date",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "year",
          "in" : "query",
          "description" : "Investments in which year",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "month",
          "in" : "query",
          "description" : "Investments in which month",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserContributionsApiResponse"
                }
              },
              "application/pdf" : { }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/users/{id}/deactivate" : {
      "patch" : {
        "tags" : [ "Users" ],
        "summary" : "Deactivate a user",
        "operationId" : "deactivateUser",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The user deactivation request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DeactivateUserRequest"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "description" : "When the user is deactivated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OkResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the user does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/users/{id}/id-check" : {
      "post" : {
        "tags" : [ "Users" ],
        "summary" : "Verify id number",
        "operationId" : "verifyIdNumber",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The id verification request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/IdVerificationRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When the verification is triggered successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if user was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Users" ],
        "summary" : "Recheck id number",
        "operationId" : "recheckIdNumber",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the verification code is resent successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if user was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/users/{id}/info" : {
      "post" : {
        "tags" : [ "Users" ],
        "summary" : "Add user information",
        "operationId" : "addUserInfo",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Add user information request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UserInfoRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When the user info is captured successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if user was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/users/{id}/info-admin" : {
      "post" : {
        "tags" : [ "Users" ],
        "summary" : "Admin Add user information",
        "operationId" : "adminAddUserInfo",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Add user information as Admin request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UserInfoRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When the user info (uploads & details) is added successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if user was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/users/{id}/invites" : {
      "get" : {
        "tags" : [ "Invites" ],
        "summary" : "Get pending invites",
        "operationId" : "getInvites",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When pending invites are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MemberInviteApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/users/{id}/messages" : {
      "get" : {
        "tags" : [ "Messages" ],
        "summary" : "Retrieve messages for a user with pagination and filters",
        "description" : "\n        Fetches messages for the specified user.\n        Supports filtering by type (announcements, chats, transactions, general) and purpose.\n        Returns both read and unread messages, along with pagination metadata and unread count.\n    ",
        "operationId" : "getUserMessages",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Unique identifier of the user whose messages are being fetched",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "purpose",
          "in" : "query",
          "description" : "Filter messages by purpose (optional). Cannot be OTP.",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Filter messages by type. Valid values: ANNOUNCEMENTS, CHATS, TRANSACTIONS, GENERAL",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "communityId",
          "in" : "query",
          "description" : "Required when type=ANNOUNCEMENTS. Filters messages by community ID.",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "groupId",
          "in" : "query",
          "description" : "Required when type=CHATS (if fundraiserId not provided). Filters messages by group ID.",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fundraiserId",
          "in" : "query",
          "description" : "Required when type=CHATS (if groupId not provided). Filters messages by fundraiser ID.",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "description" : "Page number (starts at 1). Default is 1.",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "Page size (max 100). Default is 20.",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Messages retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request (missing required parameters or invalid type)"
          },
          "401" : {
            "description" : "Unauthorized (user not authenticated or not allowed to fetch messages)"
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/users/{id}/messages/read" : {
      "post" : {
        "tags" : [ "Messages" ],
        "summary" : "Mark all messages as read for a user with filters",
        "operationId" : "markAllMessagesRead",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "User id",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "purpose",
          "in" : "query",
          "description" : "Filter by purpose (optional)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Message type: ANNOUNCEMENTS, CHATS, TRANSACTIONS, GENERAL",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "communityId",
          "in" : "query",
          "description" : "Required if type=ANNOUNCEMENTS",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "groupId",
          "in" : "query",
          "description" : "Required if type=CHATS (if fundraiserId not provided)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fundraiserId",
          "in" : "query",
          "description" : "Required if type=CHATS (if groupId not provided)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Messages marked as read successfully"
          },
          "400" : {
            "description" : "Invalid request"
          },
          "401" : {
            "description" : "Unauthorized"
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/users/{id}/next-of-kin" : {
      "post" : {
        "tags" : [ "NextOfKin" ],
        "summary" : "Create user's next of kin",
        "operationId" : "addNextOfKin",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Create next of kin request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AddNextOfKinRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When the the user is created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/NextOfKinResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the user does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "NextOfKin" ],
        "summary" : "Get user's next of kin in active status",
        "operationId" : "getUserNextOfKins",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the user's next of kin is fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/NextOfKinResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the user does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/users/{id}/next-of-kin/{nok_id}" : {
      "patch" : {
        "tags" : [ "NextOfKin" ],
        "summary" : "Edit user's next of kin",
        "operationId" : "editNextOfKin",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "nok_id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Edit next of kin request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/EditNextOfKinRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When the next of kin is updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/NextOfKinResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the next of kin or user does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "NextOfKin" ],
        "summary" : "Soft delete a next of kin. Use admin for actual deletion",
        "operationId" : "deleteUserNextOfKins",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "nok_id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "When the next of kin is deleted successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the user does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/users/{id}/roles" : {
      "get" : {
        "tags" : [ "Users" ],
        "summary" : "Get user roles",
        "operationId" : "getUserRoles",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the user roles are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserRolesApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the user does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/users/{id}/verify" : {
      "post" : {
        "tags" : [ "Users" ],
        "summary" : "Verify a user",
        "operationId" : "verifyUser",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The verification request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/VerificationRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a user is verified successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the confirmation code is incorrect",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        } ]
      }
    },
    "/api/v1/users/{id}/verify/resend" : {
      "post" : {
        "tags" : [ "Users" ],
        "summary" : "Resend a verification code",
        "operationId" : "resendVerificationCode",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the verification code is resent successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if user was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        } ]
      }
    },
    "/api/v1/wallets/commission" : {
      "get" : {
        "tags" : [ "Wallets" ],
        "summary" : "Get Commission wallets",
        "operationId" : "getCommissionWallets",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When request is successful",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedWalletsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/wallets/commission/filter" : {
      "get" : {
        "tags" : [ "Wallets" ],
        "summary" : "Filter Commission wallets",
        "operationId" : "filterCommissionWallets",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When request is successful",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedWalletsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/wallets/commission/user/{id}" : {
      "get" : {
        "tags" : [ "Wallets" ],
        "summary" : "Get user commission wallet",
        "operationId" : "getUserCommissionWallet",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "When request is executed successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedWalletsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/wallets/commission/withdraw" : {
      "post" : {
        "tags" : [ "Wallets" ],
        "summary" : "Withdraw from commission wallet",
        "operationId" : "withdrawFromCommissionWallet",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "Commission withdraw request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CommissionWithdrawRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When withdrawal is successful",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedWalletsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/withdrawals" : {
      "post" : {
        "tags" : [ "Withdrawals" ],
        "summary" : "Make a withdrawal request",
        "operationId" : "makeWithdrawalRequest",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The withdrawal request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/WithdrawalRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a withdrawal request is is added successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WithdrawalApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "get" : {
        "tags" : [ "Withdrawals" ],
        "summary" : "Get withdrawals",
        "operationId" : "getWithdrawals",
        "parameters" : [ {
          "name" : "userId",
          "in" : "query",
          "description" : "Filter by user",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "groupId",
          "in" : "query",
          "description" : "Filter by group",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "communityId",
          "in" : "query",
          "description" : "Filter by community",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the withdrawals are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WithdrawalsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/withdrawals/approvals" : {
      "get" : {
        "tags" : [ "Withdrawals" ],
        "summary" : "Get all withdrawals approvals",
        "operationId" : "getWithdrawalsApprovals",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When withdrawals approvals are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WithdrawalsApiResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/withdrawals/{id}" : {
      "get" : {
        "tags" : [ "Withdrawals" ],
        "summary" : "Get withdrawal",
        "operationId" : "getWithdrawal",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the withdrawal details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WithdrawalApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the withdrawal does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v1/withdrawals/{id}/approvals" : {
      "get" : {
        "tags" : [ "Withdrawals" ],
        "summary" : "Get withdrawal approvals",
        "operationId" : "getWithdrawalApprovals",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When a withdrawal approvals are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApprovalsApiResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Withdrawals" ],
        "summary" : "Action withdrawal approval",
        "operationId" : "actionWithdrawalApproval",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Action withdrawal approval request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ActionRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "When a withdrawal approval is actioned successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WithdrawalApiResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v2/communities/{id}/fundraisers" : {
      "get" : {
        "tags" : [ "Communities" ],
        "summary" : "Get community fundraisers v2",
        "operationId" : "getCommunityFundraisersV2",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "Investments from which date",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "Investments to which date",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "description" : "Page number (0-based)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "Page size",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Sort field (name, totalContributions, totalPledges, totalDeficits)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "order",
          "in" : "query",
          "description" : "Sort order (asc, desc)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the community fundraisers are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedCommunityFundraisersApiV2Response"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v2/communities/{id}/groups" : {
      "get" : {
        "tags" : [ "Communities" ],
        "summary" : "Get community specific sub-groups v2",
        "operationId" : "getCommunitySubGroupsV2",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "isDefault",
          "in" : "query",
          "description" : "Get only community default subgroup",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "userId",
          "in" : "query",
          "description" : "Get only community subgroups for a specific user",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "description" : "Page number (0-based)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "Page size",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Sort field (name, createdAt)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "order",
          "in" : "query",
          "description" : "Sort order (asc, desc)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the community subgroups are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedGroupsApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v2/communities/{id}/members" : {
      "get" : {
        "tags" : [ "Members" ],
        "summary" : "Get community members v2",
        "operationId" : "getCommunityMembersV2",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "From which date",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "To which date",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "description" : "Page number (0-based)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "Page size",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Field to sort by",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "order",
          "in" : "query",
          "description" : "Sort order (asc or desc)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When community members are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedMembersApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v2/fundraisers" : {
      "get" : {
        "tags" : [ "Fundraisers" ],
        "summary" : "Get fundraisers V2",
        "operationId" : "getFundraisersV2",
        "parameters" : [ {
          "name" : "communityId",
          "in" : "query",
          "description" : "Filter by community",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "groupId",
          "in" : "query",
          "description" : "Filter by group",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "ussdAccessible",
          "in" : "query",
          "description" : "Filter by ussd events",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "acceptsTransfer",
          "in" : "query",
          "description" : "Filter by events that accept transfers",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "description" : "Page number (0-based)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "Page size",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Field to sort by (e.g., name, createdAt, deadline, targetAmount)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "order",
          "in" : "query",
          "description" : "Sort order (asc or desc)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When fundraisers are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedFundraisersApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v2/fundraisers/stats" : {
      "get" : {
        "tags" : [ "Fundraisers" ],
        "summary" : "Get fundraisers stats v2",
        "operationId" : "getFundraisersStatsV2",
        "parameters" : [ {
          "name" : "fundraiserIds",
          "in" : "query",
          "description" : "Fundraiser ids",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "Investments from which date",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "Investments to which date",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "groupIds",
          "in" : "query",
          "description" : "Subgroup ids",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the community fundraisers are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CommunityFundraisersApiV2Response"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v2/groups/{id}/members" : {
      "get" : {
        "tags" : [ "Members" ],
        "summary" : "Get group members",
        "operationId" : "getGroupMembersV2",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "description" : "Page number for paginated results (starts at 1)",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "Number of items per page for paginated results",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When group members are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MembersApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v2/users/search" : {
      "get" : {
        "tags" : [ "Users" ],
        "summary" : "Search user V2",
        "operationId" : "searchUserV2",
        "parameters" : [ {
          "name" : "phoneNumber",
          "in" : "query",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "countryCode",
          "in" : "query",
          "required" : false,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the user details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchUserApiV2Response"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the user does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/api/v3/users/search" : {
      "get" : {
        "tags" : [ "Users" ],
        "summary" : "Search user",
        "operationId" : "searchUserV3",
        "parameters" : [ {
          "name" : "phoneNumber",
          "in" : "query",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "When the user details are fetched successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchUserApiResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Returns 400 if the request is not valid or the user does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Returns 401 if the right authentication headers were not provided",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnAuthorizedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "apiKey" : [ ]
        }, {
          "bearerAuth" : [ ]
        } ]
      }
    }
  },
  "components" : {
    "schemas" : {
      "AccountApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/AccountResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "AccountRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "ownerId" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The owner of this account - either the userId, groupId or communityId"
          },
          "ownerType" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The type of owner - either USER, GROUP or COMMUNITY"
          },
          "productId" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The product associated to this account - either the goalId, pyfId or gpayId or fundraiserId"
          },
          "productType" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The type of product - either GOAL, PYF or GPAY or FUNDRAISER"
          },
          "type" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The type of account - either MPESA or BANK"
          },
          "accountName" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The account name or MPESA name"
          },
          "accountNumber" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The account number"
          },
          "institution" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The name of the bank"
          },
          "branch" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The bank branch"
          },
          "swiftCode" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The bank swift code"
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true,
            "description" : "The cheque or other doc to verify ownership"
          },
          "phoneNumber" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The MPESA phone number"
          },
          "approvers" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true,
            "description" : "The account approvers phone numbers or user ids"
          }
        }
      },
      "AccountsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/AccountResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "ActionRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "accept" : {
            "type" : "boolean",
            "nullable" : true
          },
          "rejectionReason" : {
            "type" : "string",
            "nullable" : true
          },
          "markSuccessful" : {
            "type" : "boolean",
            "nullable" : true
          }
        }
      },
      "ActivityLogResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string"
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime"
          }
        },
        "required" : [ "id", "description", "createdAt" ]
      },
      "ActivityLogsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ActivityLogResponse"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "AddMemberResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "successes" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/MemberResponse"
            },
            "nullable" : true
          },
          "failures" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/MemberFailure"
            },
            "nullable" : true
          }
        }
      },
      "AddMembersApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/AddMemberResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "AddNextOfKinRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "firstName" : {
            "type" : "string"
          },
          "lastName" : {
            "type" : "string"
          },
          "relationShip" : {
            "type" : "string"
          },
          "idNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "email" : {
            "type" : "string",
            "nullable" : true
          },
          "phoneNumber" : {
            "type" : "string"
          },
          "dateOfBirth" : {
            "type" : "string"
          },
          "guardianName" : {
            "type" : "string",
            "nullable" : true
          },
          "guardianPhoneNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "guardianIdNumber" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "firstName", "lastName", "relationShip", "phoneNumber", "dateOfBirth" ]
      },
      "AddSubOrgToEventRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "eventId" : {
            "type" : "string"
          },
          "subOrgIds" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        },
        "required" : [ "eventId", "subOrgIds" ]
      },
      "AdminCommunityUpdateRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "typeId" : {
            "type" : "string",
            "nullable" : true
          },
          "details" : {
            "$ref" : "#/components/schemas/CommunityDetails",
            "nullable" : true
          },
          "accountId" : {
            "type" : "string",
            "nullable" : true
          },
          "registrar" : {
            "type" : "string",
            "nullable" : true
          },
          "category" : {
            "type" : "string",
            "nullable" : true
          },
          "smsSenderId" : {
            "type" : "string",
            "nullable" : true
          },
          "useOwnSenderId" : {
            "type" : "boolean",
            "nullable" : true
          },
          "smsGatewayName" : {
            "type" : "string",
            "nullable" : true
          },
          "useOwnSmsGateway" : {
            "type" : "string",
            "nullable" : true
          },
          "approvalStatus" : {
            "type" : "string",
            "nullable" : true
          },
          "suspendStatus" : {
            "type" : "string",
            "nullable" : true
          },
          "suspensionReason" : {
            "type" : "string",
            "nullable" : true
          },
          "fundManagerId" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "AnalyticsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/AnalyticsResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "AnalyticsResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "savings" : {
            "type" : "number",
            "format" : "double"
          },
          "pledges" : {
            "type" : "number",
            "format" : "double"
          },
          "investments" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProductInvested"
            },
            "nullable" : true
          }
        },
        "required" : [ "savings", "pledges" ]
      },
      "AnonymizeRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "anonymize" : {
            "type" : "boolean",
            "nullable" : true
          },
          "paymentId" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "AppFundDestinationResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "communityId" : {
            "type" : "string",
            "nullable" : true
          },
          "communityName" : {
            "type" : "string",
            "nullable" : true
          },
          "type" : {
            "type" : "string"
          },
          "default" : {
            "type" : "boolean"
          },
          "passKey" : {
            "type" : "string",
            "nullable" : true
          },
          "shortCode" : {
            "type" : "string",
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime"
          },
          "bankDetails" : {
            "$ref" : "#/components/schemas/BankDetails",
            "nullable" : true
          },
          "payBillType" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "id", "type", "default", "createdAt" ]
      },
      "AppFundDestinationsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AppFundDestinationResponse"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "AppMessagesApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AppTextMessage"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "AppVersionRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "appVersion" : {
            "type" : "string"
          },
          "appName" : {
            "type" : "string",
            "nullable" : true
          },
          "platform" : {
            "type" : "string"
          }
        },
        "required" : [ "appVersion", "platform" ]
      },
      "AppVersionResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "appName" : {
            "type" : "string"
          },
          "appVersion" : {
            "type" : "string"
          },
          "platform" : {
            "type" : "string"
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "updatedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          }
        },
        "required" : [ "id", "appName", "appVersion", "platform" ]
      },
      "AppVersionUpdateRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "appName" : {
            "type" : "string",
            "nullable" : true
          },
          "appVersion" : {
            "type" : "string",
            "nullable" : true
          },
          "platform" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "ApprovalResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "userId" : {
            "type" : "string",
            "nullable" : true
          },
          "userName" : {
            "type" : "string",
            "nullable" : true
          },
          "phoneNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "status" : {
            "type" : "string"
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "actionedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          }
        },
        "required" : [ "status" ]
      },
      "ApprovalsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ApprovalResponse"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "ApproverApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ApproverResponse"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "ApproversApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ApproverResponse"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "AuditLogsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AuditLogsResponse"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "AuditLogsResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "module" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string"
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime"
          },
          "userId" : {
            "type" : "string"
          },
          "userName" : {
            "type" : "string"
          },
          "phoneNumber" : {
            "type" : "string"
          }
        },
        "required" : [ "id", "module", "description", "createdAt", "userId", "userName", "phoneNumber" ]
      },
      "BadRequestResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          }
        },
        "required" : [ "status", "message" ]
      },
      "ChangePasswordRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "currentPassword" : {
            "type" : "string",
            "nullable" : true
          },
          "newPassword" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "CommunityApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/CommunityResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "CommunityCommunication" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "message" : {
            "type" : "string",
            "description" : "The message to send"
          },
          "messageType" : {
            "type" : "string",
            "description" : "The message type to send: SMS, PUSH, HYBRID"
          },
          "recipientMemberIds" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true,
            "description" : "The communities members to receive the message"
          },
          "recipientSubGroupIds" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true,
            "description" : "The communities subgroups to receive the message"
          }
        },
        "required" : [ "message", "messageType" ]
      },
      "CommunityContribution" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "userId" : {
            "type" : "string"
          },
          "userName" : {
            "type" : "string"
          },
          "memberId" : {
            "type" : "string"
          },
          "phoneNumber" : {
            "type" : "string"
          },
          "fundraisers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FundraiserContribution"
            },
            "nullable" : true
          },
          "totalContributions" : {
            "type" : "number",
            "format" : "double"
          }
        },
        "required" : [ "userId", "userName", "memberId", "phoneNumber", "totalContributions" ]
      },
      "CommunityContributionsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/CommunityContribution"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "CommunityDocApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/CommunityDocResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "CommunityDocRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "docType" : {
            "type" : "string",
            "nullable" : true
          },
          "docUrl" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "CommunityDocResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "docType" : {
            "type" : "string"
          },
          "docUrl" : {
            "type" : "string"
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "updatedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          }
        },
        "required" : [ "id", "docType", "docUrl" ]
      },
      "CommunityDocsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/CommunityDocResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "CommunityFundraisersApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/CommunityFundraisersResponse",
            "nullable" : true
          }
        },
        "required" : [ "status", "message" ]
      },
      "CommunityFundraisersApiV2Response" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/CommunityFundraisersV2Response",
            "nullable" : true
          }
        },
        "required" : [ "status", "message" ]
      },
      "CommunityFundraisersResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "totalContributions" : {
            "type" : "number",
            "format" : "double"
          },
          "fundraisersSummary" : {
            "$ref" : "#/components/schemas/FundraisersSummary",
            "nullable" : true
          },
          "fundraisers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FundraiserList"
            },
            "nullable" : true
          },
          "repeatFundraisers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/RepeatFundraiserItem"
            },
            "nullable" : true
          }
        },
        "required" : [ "totalContributions" ]
      },
      "CommunityFundraisersV2Response" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "totalContributions" : {
            "type" : "number",
            "format" : "double"
          },
          "fundraisersSummary" : {
            "$ref" : "#/components/schemas/FundraisersSummary",
            "nullable" : true
          },
          "fundraisers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FundraiserListV2"
            },
            "nullable" : true
          }
        },
        "required" : [ "totalContributions" ]
      },
      "CommunityHomilyPatchRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "title" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Homily title"
          },
          "content" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Homily body content (supports long text and links)"
          },
          "category" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Homily category: DAILY or SUNDAY"
          },
          "date" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Homily date in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format"
          }
        }
      },
      "CommunityHomilyRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "title" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Homily title"
          },
          "content" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Homily body content (supports long text and links)"
          },
          "category" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Homily category: DAILY or SUNDAY"
          },
          "date" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Homily date in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format"
          }
        }
      },
      "CommunityHomilyResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          },
          "content" : {
            "type" : "string"
          },
          "category" : {
            "type" : "string"
          },
          "date" : {
            "$ref" : "#/components/schemas/DateTime"
          },
          "contentName" : {
            "type" : "string"
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime"
          },
          "updatedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "creatorId" : {
            "type" : "string",
            "nullable" : true
          },
          "creatorName" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "id", "title", "content", "category", "date", "contentName", "createdAt" ]
      },
      "CommunityInviteResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "identifier" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime"
          }
        },
        "required" : [ "id", "identifier", "name", "createdAt" ]
      },
      "CommunityMessageResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "communityMessageId" : {
            "type" : "string"
          },
          "message" : {
            "type" : "string"
          },
          "messageType" : {
            "type" : "string"
          },
          "dateSent" : {
            "$ref" : "#/components/schemas/DateTime"
          },
          "status" : {
            "type" : "string"
          }
        },
        "required" : [ "communityMessageId", "message", "messageType", "dateSent", "status" ]
      },
      "CommunityProvidersRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "packageId" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "providers" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "expiresAt" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The expiry date in the format yyyy-MM-dd HH:mm:ss"
          }
        }
      },
      "CommunityRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "typeId" : {
            "type" : "string",
            "nullable" : true
          },
          "details" : {
            "$ref" : "#/components/schemas/CommunityDetails",
            "nullable" : true
          },
          "accountId" : {
            "type" : "string",
            "nullable" : true
          },
          "registrar" : {
            "type" : "string",
            "nullable" : true
          },
          "category" : {
            "type" : "string",
            "nullable" : true
          },
          "smsSenderId" : {
            "type" : "string",
            "nullable" : true
          },
          "useOwnSenderId" : {
            "type" : "boolean",
            "nullable" : true
          },
          "smsGatewayName" : {
            "type" : "string",
            "nullable" : true
          },
          "useOwnSmsGateway" : {
            "type" : "string",
            "nullable" : true
          },
          "organizationId" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The parent organization ID for this sub-organization"
          },
          "subOrgLevel" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true,
            "description" : "The sub-organization level (0 for default community, 1 for regular sub-org)"
          },
          "fundManagerId" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "CommunityResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "identifier" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "type" : {
            "type" : "string",
            "nullable" : true
          },
          "typeName" : {
            "type" : "string",
            "nullable" : true
          },
          "approvalStatus" : {
            "type" : "string",
            "nullable" : true
          },
          "details" : {
            "$ref" : "#/components/schemas/CommunityDetails",
            "nullable" : true
          },
          "approvedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "updatedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "deactivatedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "completedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "registrar" : {
            "type" : "string",
            "nullable" : true
          },
          "category" : {
            "type" : "string",
            "nullable" : true
          },
          "suspensionReason" : {
            "type" : "string",
            "nullable" : true
          },
          "smsProvider" : {
            "$ref" : "#/components/schemas/SmsGatewayResponse",
            "nullable" : true
          },
          "fundManagerId" : {
            "type" : "string",
            "nullable" : true
          },
          "fundManagerName" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "id", "identifier", "name" ]
      },
      "CommunityTypeApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/CommunityTypeResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "CommunityTypeRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "active" : {
            "type" : "boolean",
            "nullable" : true
          }
        }
      },
      "CommunityTypeResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "active" : {
            "type" : "boolean"
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "updatedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          }
        },
        "required" : [ "id", "name", "active" ]
      },
      "CommunityTypesApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/CommunityTypeResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "ConfigApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "ConfigRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "configKey" : {
            "type" : "string",
            "nullable" : true
          },
          "configValue" : {
            "type" : "string",
            "nullable" : true
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "availableToApp" : {
            "type" : "boolean",
            "nullable" : true
          }
        }
      },
      "ConfigUpdateRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "configValue" : {
            "type" : "string",
            "nullable" : true
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "availableToApp" : {
            "type" : "boolean",
            "nullable" : true
          }
        }
      },
      "ConfigsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "ContributionApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/ContributionResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "ContributionReportApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/ContributionReportResult",
            "nullable" : true
          }
        },
        "required" : [ "status", "message" ]
      },
      "ContributionReportItem" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "identifier" : {
            "type" : "string",
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "dashboardDisplay" : {
            "type" : "string",
            "nullable" : true
          },
          "communityId" : {
            "type" : "string",
            "nullable" : true
          },
          "communityName" : {
            "type" : "string",
            "nullable" : true
          },
          "accountId" : {
            "type" : "string",
            "nullable" : true
          },
          "accountName" : {
            "type" : "string",
            "nullable" : true
          },
          "withdrawals" : {
            "type" : "number",
            "format" : "double"
          },
          "withdrawalFees" : {
            "type" : "number",
            "format" : "double"
          },
          "deposits" : {
            "type" : "number",
            "format" : "double"
          },
          "adminFees" : {
            "type" : "number",
            "format" : "double"
          },
          "interest" : {
            "type" : "number",
            "format" : "double"
          },
          "payouts" : {
            "type" : "number",
            "format" : "double"
          },
          "balance" : {
            "type" : "number",
            "format" : "double"
          },
          "transfersIn" : {
            "type" : "number",
            "format" : "double"
          },
          "transfersOut" : {
            "type" : "number",
            "format" : "double"
          }
        },
        "required" : [ "id", "name", "withdrawals", "withdrawalFees", "deposits", "adminFees", "interest", "payouts", "balance", "transfersIn", "transfersOut" ]
      },
      "ContributionReportResult" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "totalDeposits" : {
            "type" : "number",
            "format" : "double"
          },
          "totalWithdrawals" : {
            "type" : "number",
            "format" : "double"
          },
          "totalWithdrawalFees" : {
            "type" : "number",
            "format" : "double"
          },
          "totalAdminFees" : {
            "type" : "number",
            "format" : "double"
          },
          "totalInterest" : {
            "type" : "number",
            "format" : "double"
          },
          "totalPayouts" : {
            "type" : "number",
            "format" : "double"
          },
          "totalTransfersIn" : {
            "type" : "number",
            "format" : "double"
          },
          "totalTransfersOut" : {
            "type" : "number",
            "format" : "double"
          },
          "totalBalance" : {
            "type" : "number",
            "format" : "double"
          },
          "events" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ContributionReportItem"
            }
          }
        },
        "required" : [ "totalDeposits", "totalWithdrawals", "totalWithdrawalFees", "totalAdminFees", "totalInterest", "totalPayouts", "totalTransfersIn", "totalTransfersOut", "totalBalance", "events" ]
      },
      "ContributionResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "status" : {
            "type" : "string"
          },
          "fundraiserId" : {
            "type" : "string",
            "nullable" : true
          },
          "fundraiserName" : {
            "type" : "string",
            "nullable" : true
          },
          "depositSlipUrl" : {
            "type" : "string",
            "nullable" : true
          },
          "confirmationSlipUrl" : {
            "type" : "string",
            "nullable" : true
          },
          "contributions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ContributionRequest"
            },
            "nullable" : true
          },
          "totalAmount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "updatedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "actionedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "rejectionReason" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "id", "status" ]
      },
      "ContributionsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/ContributionResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "ContributionsRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "fundraiserId" : {
            "type" : "string",
            "nullable" : true
          },
          "contributions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ContributionRequest"
            },
            "nullable" : true
          },
          "depositSlipUrl" : {
            "type" : "string",
            "nullable" : true
          },
          "confirmationSlipUrl" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "CreateFaqRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "question" : {
            "type" : "string",
            "nullable" : true
          },
          "answer" : {
            "type" : "string",
            "nullable" : true
          },
          "videoLink" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "CreateOrgRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "displayName" : {
            "type" : "string"
          },
          "email" : {
            "type" : "string"
          },
          "phone" : {
            "type" : "string"
          },
          "website" : {
            "type" : "string"
          },
          "county" : {
            "type" : "string"
          },
          "subCounty" : {
            "type" : "string"
          },
          "logoUrl" : {
            "type" : "string",
            "nullable" : true
          },
          "address" : {
            "type" : "string"
          },
          "level" : {
            "$ref" : "#/components/schemas/ORGANIZATION_LEVEL"
          },
          "organization3Id" : {
            "type" : "string",
            "nullable" : true
          },
          "organization4Id" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "name", "displayName", "email", "phone", "website", "county", "subCounty", "address", "level" ]
      },
      "DeactivateUserRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "suspensionReason" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "EditNextOfKinRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "string"
          },
          "firstName" : {
            "type" : "string"
          },
          "lastName" : {
            "type" : "string"
          },
          "relationShip" : {
            "type" : "string"
          },
          "idNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "email" : {
            "type" : "string"
          },
          "phoneNumber" : {
            "type" : "string"
          },
          "dateOfBirth" : {
            "type" : "string"
          },
          "guardianName" : {
            "type" : "string",
            "nullable" : true
          },
          "guardianPhoneNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "guardianIdNumber" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "status", "firstName", "lastName", "relationShip", "email", "phoneNumber", "dateOfBirth" ]
      },
      "FaqApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/PagedFaqResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "FaqDetailApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/FaqDto"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "ForgotPasswordRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "email" : {
            "type" : "string",
            "nullable" : true
          },
          "phoneNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "countryCode" : {
            "type" : "string",
            "nullable" : true
          },
          "role" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "FundManagerResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "withdrawalSlaHours" : {
            "type" : "integer",
            "format" : "int32"
          },
          "disbursementTime" : {
            "type" : "string"
          },
          "openGoalRate" : {
            "type" : "number",
            "format" : "double"
          },
          "closedGoalRates" : {
            "type" : "string"
          },
          "payYourselfProductRates" : {
            "type" : "string"
          },
          "surePayRates" : {
            "type" : "string"
          },
          "heroesInterestRate" : {
            "type" : "number",
            "format" : "double"
          },
          "default" : {
            "type" : "boolean"
          },
          "b2cShortcode" : {
            "type" : "string"
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime"
          },
          "updatedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          }
        },
        "required" : [ "id", "name", "withdrawalSlaHours", "disbursementTime", "openGoalRate", "closedGoalRates", "payYourselfProductRates", "surePayRates", "heroesInterestRate", "default", "b2cShortcode", "createdAt" ]
      },
      "FundManagersApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FundManagerResponse"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "FundraiserApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/FundraiserDetailsResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "FundraiserContribution" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "amount" : {
            "type" : "number",
            "format" : "double"
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime"
          }
        },
        "required" : [ "id", "name", "amount", "createdAt" ]
      },
      "FundraiserContributionsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/PaginatedResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "FundraiserCycleResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string",
            "nullable" : true
          },
          "fundraiserId" : {
            "type" : "string",
            "nullable" : true
          },
          "fundraiserName" : {
            "type" : "string",
            "nullable" : true
          },
          "contributions" : {
            "type" : "number",
            "format" : "double"
          },
          "pledges" : {
            "type" : "number",
            "format" : "double"
          },
          "deficit" : {
            "type" : "number",
            "format" : "double"
          },
          "startAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "endAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          }
        },
        "required" : [ "contributions", "pledges", "deficit" ]
      },
      "FundraiserCyclesApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FundraiserCycleResponse"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "FundraiserGroupInviteResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "groups" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/GroupInviteResponse"
            },
            "nullable" : true
          },
          "communities" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/CommunityInviteResponse"
            },
            "nullable" : true
          }
        }
      },
      "FundraiserInviteResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "inviteId" : {
            "type" : "string"
          },
          "fundraiserId" : {
            "type" : "string",
            "nullable" : true
          },
          "userId" : {
            "type" : "string",
            "nullable" : true
          },
          "userName" : {
            "type" : "string",
            "nullable" : true
          },
          "phoneNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "status" : {
            "type" : "string"
          },
          "actionedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "communityName" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "inviteId", "status" ]
      },
      "FundraiserItem" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "userName" : {
            "type" : "string",
            "nullable" : true
          },
          "idNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "phoneNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "deposit" : {
            "type" : "number",
            "format" : "double"
          }
        },
        "required" : [ "deposit" ]
      },
      "FundraiserItemV2" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "userId" : {
            "type" : "string",
            "nullable" : true
          },
          "userName" : {
            "type" : "string",
            "nullable" : true
          },
          "idNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "phoneNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "identifier" : {
            "type" : "string",
            "nullable" : true
          },
          "pledges" : {
            "type" : "number",
            "format" : "double"
          },
          "contributions" : {
            "type" : "number",
            "format" : "double"
          },
          "deficits" : {
            "type" : "number",
            "format" : "double"
          },
          "months" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/MonthsTotals"
            }
          }
        },
        "required" : [ "pledges", "contributions", "deficits", "months" ]
      },
      "FundraiserList" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "totalDeposits" : {
            "type" : "number",
            "format" : "double"
          },
          "contributions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FundraiserItem"
            }
          }
        },
        "required" : [ "id", "name", "totalDeposits", "contributions" ]
      },
      "FundraiserListV2" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "totalPledges" : {
            "type" : "number",
            "format" : "double"
          },
          "totalContributions" : {
            "type" : "number",
            "format" : "double"
          },
          "totalDeficits" : {
            "type" : "number",
            "format" : "double"
          },
          "contributions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FundraiserItemV2"
            }
          },
          "monthsTotals" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/MonthsTotals"
            }
          },
          "userContributionMap" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/FundraiserItemV2"
            }
          }
        },
        "required" : [ "id", "name", "totalPledges", "totalContributions", "totalDeficits", "contributions", "monthsTotals", "userContributionMap" ]
      },
      "FundraiserRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "fundraiserType" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The type of fundraiser this is"
          },
          "ownerId" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Owner id - the user the fundraiser is for"
          },
          "name" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Name of the fundraiser"
          },
          "shortDescription" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Short description of the fundraiser"
          },
          "longDescription" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Long description of the fundraiser"
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true,
            "description" : "Fundraiser images"
          },
          "repeats" : {
            "type" : "boolean",
            "nullable" : true,
            "description" : "Whether the fundraiser repeats or not"
          },
          "frequency" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true,
            "description" : "How frequent the fundraiser happens in days"
          },
          "frequencyTime" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The time when the fundraiser occurs as HH:mm"
          },
          "contributionDays" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The days when contributions happen for a repeat fundraiser in the form of a range - for example 1:4 to mean Mon-Thur for a weekly fundraiser, use a range https://en.wikipedia.org/wiki/ISO_week_date"
          },
          "targetAmount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true,
            "description" : "The fundraiser target amount"
          },
          "deadline" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The fundraiser deadline date in the format yyyy-MM-dd HH:mm:ss"
          },
          "communityId" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The Community or \"Org Default-Community\" the fundraiser belongs to"
          },
          "groupId" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The subgroup the fundraiser belongs to."
          },
          "accountId" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The account the contributions from this fundraiser will be sent to."
          },
          "payoutFrequency" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true,
            "description" : "If a fundraiser is compassionate, you can send an interval in days when withdrawals happen."
          },
          "payoutAmount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true,
            "description" : "If a fundraiser is compassionate, send an amount that will be withdrawn at the given intervals. if the payoutAmount > contributions at that point, the total contributions are withdrawn"
          },
          "startDate" : {
            "type" : "string",
            "nullable" : true,
            "description" : "When a fundraiser is starting in the format yyyy-MM-dd HH:mm:ss, default is immediately"
          },
          "locked" : {
            "type" : "boolean",
            "nullable" : true,
            "description" : "Whether the fundraiser is closed or open"
          },
          "lockDuration" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true,
            "description" : "The period in days that the fundraiser funds are locked - if the fundraiser is closed then this field is required"
          },
          "anonymous" : {
            "type" : "boolean",
            "nullable" : true,
            "description" : "Whether the fundraiser contributions/pledges are anonymous or not - default false"
          },
          "dashboardDisplay" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Dashboard config - FULL, HALF, NONE"
          },
          "ussdAccessible" : {
            "type" : "boolean",
            "nullable" : true,
            "description" : "Whether the fundraiser is accessible via ussd or not"
          },
          "allowMemberInvites" : {
            "type" : "boolean",
            "nullable" : true,
            "description" : "Whether non-leaders can send more invites for this event, default true"
          },
          "visibleToAllMembers" : {
            "type" : "boolean",
            "nullable" : true,
            "description" : "Whether this event is visible to all members in the community/subgroup without invites"
          },
          "acceptsTransfer" : {
            "type" : "boolean",
            "nullable" : true,
            "description" : "Whether the event accepts transfers. New events default to false and leaders can enable it later."
          },
          "allowCommunication" : {
            "type" : "boolean",
            "nullable" : true,
            "description" : "Whether the event allows communication among the mumbers"
          },
          "communicationType" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The message type to use for communication in the event"
          },
          "reminders" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FundraiserReminderRequest"
            },
            "nullable" : true,
            "description" : "Community leaders can schedule reminders on an event"
          },
          "fundDestinationId" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The fund destination id"
          },
          "subOrgIds" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true,
            "description" : "SubOrgIds (communityIds) which will part of in this event"
          },
          "cleanedContributionDays" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "FundraiserResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "fundraiserType" : {
            "type" : "string",
            "nullable" : true
          },
          "fundraiserTypeName" : {
            "type" : "string",
            "nullable" : true
          },
          "name" : {
            "type" : "string"
          },
          "identifier" : {
            "type" : "string",
            "nullable" : true
          },
          "shortDescription" : {
            "type" : "string",
            "nullable" : true
          },
          "longDescription" : {
            "type" : "string",
            "nullable" : true
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "repeats" : {
            "type" : "boolean"
          },
          "frequency" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "frequencyTime" : {
            "type" : "string",
            "nullable" : true
          },
          "contributionDays" : {
            "type" : "string",
            "nullable" : true
          },
          "targetAmount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "deadline" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "startDate" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "payoutFrequency" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "payoutAmount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "isLocked" : {
            "type" : "boolean"
          },
          "lockDuration" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "accountId" : {
            "type" : "string",
            "nullable" : true
          },
          "anonymous" : {
            "type" : "boolean"
          },
          "dashboardDisplay" : {
            "type" : "string",
            "nullable" : true
          },
          "closedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "archivedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "ussdAccessible" : {
            "type" : "boolean"
          },
          "allowMemberInvites" : {
            "type" : "boolean"
          },
          "visibleToAllMembers" : {
            "type" : "boolean"
          },
          "acceptsTransfer" : {
            "type" : "boolean"
          },
          "interestRate" : {
            "type" : "number",
            "format" : "double"
          },
          "allowCommunication" : {
            "type" : "boolean",
            "nullable" : true
          },
          "communicationType" : {
            "type" : "string",
            "nullable" : true
          },
          "paybill" : {
            "type" : "string",
            "nullable" : true
          },
          "allowsDirectWithdrawals" : {
            "type" : "boolean"
          },
          "reminders" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FundraiserReminderResponse"
            },
            "nullable" : true
          },
          "keyword" : {
            "type" : "string",
            "nullable" : true
          },
          "groupId" : {
            "type" : "string",
            "nullable" : true
          },
          "groupName" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "id", "name", "repeats", "isLocked", "anonymous", "ussdAccessible", "allowMemberInvites", "visibleToAllMembers", "acceptsTransfer", "interestRate", "allowsDirectWithdrawals" ]
      },
      "FundraiserSummaryItem" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "withdrawals" : {
            "type" : "number",
            "format" : "double"
          },
          "withdrawalFees" : {
            "type" : "number",
            "format" : "double"
          },
          "deposits" : {
            "type" : "number",
            "format" : "double"
          },
          "adminFees" : {
            "type" : "number",
            "format" : "double"
          },
          "interest" : {
            "type" : "number",
            "format" : "double"
          },
          "payouts" : {
            "type" : "number",
            "format" : "double"
          },
          "balance" : {
            "type" : "number",
            "format" : "double"
          },
          "transfersIn" : {
            "type" : "number",
            "format" : "double"
          },
          "transfersOut" : {
            "type" : "number",
            "format" : "double"
          }
        },
        "required" : [ "id", "name", "withdrawals", "withdrawalFees", "deposits", "adminFees", "interest", "payouts", "balance", "transfersIn", "transfersOut" ]
      },
      "FundraiserTypeApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/FundraiserTypeResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "FundraiserTypeConfigApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FundraiserTypeConfigResponse"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "FundraiserTypeConfigRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "fundraiserTypeId" : {
            "type" : "string",
            "nullable" : true
          },
          "fundManagerId" : {
            "type" : "string",
            "nullable" : true
          },
          "interestRate" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          }
        }
      },
      "FundraiserTypeConfigResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "fundraiserTypeId" : {
            "type" : "string"
          },
          "fundraiserTypeName" : {
            "type" : "string"
          },
          "fundManagerId" : {
            "type" : "string"
          },
          "fundManagerName" : {
            "type" : "string"
          },
          "interestRate" : {
            "type" : "number",
            "format" : "double"
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "updatedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          }
        },
        "required" : [ "id", "fundraiserTypeId", "fundraiserTypeName", "fundManagerId", "fundManagerName", "interestRate" ]
      },
      "FundraiserTypeConfigsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FundraiserTypeConfigResponse"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "FundraiserTypeRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "compassionate" : {
            "type" : "boolean",
            "nullable" : true
          },
          "availableToApp" : {
            "type" : "boolean",
            "nullable" : true
          },
          "adminFeesRate" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "interestRate" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "commission" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "keyWord" : {
            "type" : "string",
            "nullable" : true
          },
          "fundManagerId" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "FundraiserTypeResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "compassionate" : {
            "type" : "boolean",
            "nullable" : true
          },
          "availableToApp" : {
            "type" : "boolean",
            "nullable" : true
          },
          "adminFeesRate" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "interestRate" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "commission" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "keyword" : {
            "type" : "string",
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "fundManagerId" : {
            "type" : "string",
            "nullable" : true
          },
          "fundManagerName" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "id", "name" ]
      },
      "FundraiserTypesApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/FundraiserTypeResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "FundraisersApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FundraiserResponse"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "FundraisersSummary" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "totalDeposits" : {
            "type" : "number",
            "format" : "double"
          },
          "totalBalances" : {
            "type" : "number",
            "format" : "double"
          },
          "summary" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FundraiserSummaryItem"
            }
          }
        },
        "required" : [ "totalDeposits", "totalBalances", "summary" ]
      },
      "GoalApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/GoalDetailsResponse",
            "nullable" : true
          }
        },
        "required" : [ "status", "message" ]
      },
      "GoalDetailsResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "identifier" : {
            "type" : "string",
            "nullable" : true
          },
          "productId" : {
            "type" : "string",
            "nullable" : true
          },
          "categoryId" : {
            "type" : "string",
            "nullable" : true
          },
          "subCategoryId" : {
            "type" : "string",
            "nullable" : true
          },
          "open" : {
            "type" : "boolean",
            "nullable" : true
          },
          "targetAmount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "interestRate" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "frequency" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "instalmentAmount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "investmentAmount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "reminders" : {
            "$ref" : "#/components/schemas/RemindersRequest",
            "nullable" : true
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "duration" : {
            "type" : "integer",
            "format" : "int32"
          },
          "targetDate" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "groupMembersCount" : {
            "type" : "integer",
            "format" : "int32"
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "updatedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "userName" : {
            "type" : "string"
          },
          "phoneNumber" : {
            "type" : "string"
          },
          "idNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "group" : {
            "$ref" : "#/components/schemas/GroupResponse",
            "nullable" : true
          },
          "pendingWithdrawals" : {
            "type" : "number",
            "format" : "double"
          },
          "totalWithdrawals" : {
            "type" : "number",
            "format" : "double"
          },
          "totalInterest" : {
            "type" : "number",
            "format" : "double"
          },
          "netBalance" : {
            "type" : "number",
            "format" : "double"
          },
          "totalDeposits" : {
            "type" : "number",
            "format" : "double"
          },
          "creationStatus" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "id", "name", "duration", "groupMembersCount", "userName", "phoneNumber", "pendingWithdrawals", "totalWithdrawals", "totalInterest", "netBalance", "totalDeposits" ]
      },
      "GoalRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "open" : {
            "type" : "boolean",
            "nullable" : true
          },
          "amount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "frequency" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "duration" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "targetDate" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Event targetDate in format yyyy-MM-DD HH:mm:ss"
          },
          "instalmentAmount" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "productId" : {
            "type" : "string",
            "nullable" : true
          },
          "categoryId" : {
            "type" : "string",
            "nullable" : true
          },
          "subCategoryId" : {
            "type" : "string",
            "nullable" : true
          },
          "groupId" : {
            "type" : "string",
            "nullable" : true
          },
          "reminders" : {
            "$ref" : "#/components/schemas/RemindersRequest",
            "nullable" : true
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "accountId" : {
            "type" : "string",
            "nullable" : true
          },
          "creationStatus" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Whether a goal is saved as DRAFT or ACTIVE"
          },
          "fundManagerId" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "GoalResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "identifier" : {
            "type" : "string",
            "nullable" : true
          },
          "open" : {
            "type" : "boolean",
            "nullable" : true
          },
          "targetAmount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "interestRate" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "frequency" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "instalmentAmount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "investmentAmount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "reminders" : {
            "$ref" : "#/components/schemas/RemindersRequest",
            "nullable" : true
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "duration" : {
            "type" : "integer",
            "format" : "int32"
          },
          "targetDate" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "updatedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "userName" : {
            "type" : "string"
          },
          "phoneNumber" : {
            "type" : "string"
          },
          "idNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "groupId" : {
            "type" : "string",
            "nullable" : true
          },
          "productId" : {
            "type" : "string",
            "nullable" : true
          },
          "categoryId" : {
            "type" : "string",
            "nullable" : true
          },
          "subCategoryId" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "id", "name", "duration", "userName", "phoneNumber" ]
      },
      "GoalStatementApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/GoalStatementResponse",
            "nullable" : true
          }
        },
        "required" : [ "status", "message" ]
      },
      "GoalStatementResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "contributions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/UserContributionResponse"
            }
          },
          "totalContributions" : {
            "type" : "number",
            "format" : "double"
          },
          "totalInterestEarned" : {
            "type" : "number",
            "format" : "double"
          },
          "totalBalance" : {
            "type" : "number",
            "format" : "double"
          },
          "totalWithdrawals" : {
            "type" : "number",
            "format" : "double"
          },
          "netBalance" : {
            "type" : "number",
            "format" : "double"
          }
        },
        "required" : [ "contributions", "totalContributions", "totalInterestEarned", "totalBalance", "totalWithdrawals", "netBalance" ]
      },
      "GoalSummaryItem" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "identifier" : {
            "type" : "string",
            "nullable" : true
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "open" : {
            "type" : "boolean",
            "nullable" : true
          },
          "targetAmount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "investmentAmount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "groupName" : {
            "type" : "string",
            "nullable" : true
          },
          "memberRole" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "id", "name" ]
      },
      "GoalSummaryResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "individual" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/GoalSummaryItem"
            }
          },
          "group" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/GoalSummaryItem"
            }
          }
        },
        "required" : [ "individual", "group" ]
      },
      "GoalTransactionsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/GoalTransactionsResponse",
            "nullable" : true
          }
        },
        "required" : [ "status", "message" ]
      },
      "GoalTransactionsResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "deposits" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/TransactionResponse"
            }
          },
          "withdrawals" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/TransactionResponse"
            }
          }
        },
        "required" : [ "deposits", "withdrawals" ]
      },
      "GoalsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/GoalResponse"
            },
            "nullable" : true
          }
        },
        "required" : [ "status", "message" ]
      },
      "GoalsSummaryApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/GoalSummaryResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "GroupApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/GroupResponse",
            "nullable" : true
          }
        },
        "required" : [ "status", "message" ]
      },
      "GroupInviteResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime"
          }
        },
        "required" : [ "id", "name", "createdAt" ]
      },
      "GroupInvitesApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/FundraiserGroupInviteResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "GroupListResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "email" : {
            "type" : "string",
            "nullable" : true
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "default" : {
            "type" : "boolean"
          },
          "communityId" : {
            "type" : "string",
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "membersCount" : {
            "type" : "integer",
            "format" : "int64"
          }
        },
        "required" : [ "id", "name", "default", "membersCount" ]
      },
      "GroupMemberRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "phoneNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "email" : {
            "type" : "string",
            "nullable" : true
          },
          "role" : {
            "type" : "string",
            "nullable" : true
          },
          "memberId" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "GroupRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "email" : {
            "type" : "string",
            "nullable" : true
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "members" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/MemberRequest"
            },
            "nullable" : true
          },
          "communityId" : {
            "type" : "string",
            "nullable" : true
          },
          "accountId" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "GroupResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "email" : {
            "type" : "string",
            "nullable" : true
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "default" : {
            "type" : "boolean"
          },
          "communityId" : {
            "type" : "string",
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          }
        },
        "required" : [ "id", "name", "default" ]
      },
      "GroupedProductResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "updatedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "products" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProductResponse"
            }
          }
        },
        "required" : [ "id", "name", "products" ]
      },
      "GroupsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/GroupListResponse"
            },
            "nullable" : true
          }
        },
        "required" : [ "status", "message" ]
      },
      "HeroApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/HeroResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "HeroResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "communityId" : {
            "type" : "string"
          },
          "communityName" : {
            "type" : "string"
          },
          "identifier" : {
            "type" : "string"
          },
          "heroPackage" : {
            "$ref" : "#/components/schemas/CommunityPackage",
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime"
          },
          "updatedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "expiresAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          }
        },
        "required" : [ "id", "communityId", "communityName", "identifier", "createdAt" ]
      },
      "HeroesApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/HeroResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "IdVerificationRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "idNumber" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "ImageUploadApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "InviteRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "userId" : {
            "type" : "string",
            "nullable" : true
          },
          "groupId" : {
            "type" : "string",
            "nullable" : true
          },
          "communityId" : {
            "type" : "string",
            "nullable" : true
          },
          "phoneNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "name" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "InvitesApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FundraiserInviteResponse"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "LinkSubOrgRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "parentLevel" : {
            "$ref" : "#/components/schemas/ORGANIZATION_LEVEL"
          },
          "targetOrganizationId" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "parentLevel" ]
      },
      "LoginRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "username" : {
            "type" : "string",
            "nullable" : true
          },
          "password" : {
            "type" : "string",
            "nullable" : true
          },
          "countryCode" : {
            "type" : "string",
            "nullable" : true
          },
          "adminLogin" : {
            "type" : "boolean",
            "nullable" : true
          },
          "platform" : {
            "type" : "string",
            "nullable" : true
          },
          "app_version" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "MakePaymentDepositRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "amount" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "image" : {
            "type" : "string",
            "nullable" : true
          },
          "reason" : {
            "$ref" : "#/components/schemas/PaymentReason",
            "nullable" : true
          },
          "sourceOfFunds" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "MakePaymentRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "amount" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true,
            "description" : "The amount being paid"
          },
          "phoneNumber" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The phone number of the user making the payment - must be provided if the user is not logged in"
          },
          "beneficiaryPhoneNumber" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Beneficiary phone number if paying on behalf of another person. Requires payer phoneNumber to be provided. If null, defaults to payer's phoneNumber."
          },
          "name" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Optional name of the user - if they aren't logged in"
          },
          "goalId" : {
            "type" : "string",
            "nullable" : true
          },
          "fundraiserId" : {
            "type" : "string",
            "nullable" : true
          },
          "surePayId" : {
            "type" : "string",
            "nullable" : true
          },
          "payYourselfId" : {
            "type" : "string",
            "nullable" : true
          },
          "heroId" : {
            "type" : "string",
            "nullable" : true
          },
          "identifier" : {
            "type" : "string",
            "nullable" : true
          },
          "paymentMethod" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The payment method used - MPESA, COOP,PAYSTACK etc, default is MPESA"
          }
        }
      },
      "MemberApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/MemberResponse"
            },
            "nullable" : true
          }
        },
        "required" : [ "status", "message" ]
      },
      "MemberFailure" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "request" : {
            "$ref" : "#/components/schemas/MemberRequest"
          },
          "errorMessage" : {
            "type" : "string"
          }
        },
        "required" : [ "request", "errorMessage" ]
      },
      "MemberInvite" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "inviteId" : {
            "type" : "string"
          },
          "entityId" : {
            "type" : "string"
          },
          "entityName" : {
            "type" : "string"
          },
          "role" : {
            "type" : "string"
          },
          "sentAt" : {
            "$ref" : "#/components/schemas/DateTime"
          },
          "communityName" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "inviteId", "entityId", "entityName", "role", "sentAt" ]
      },
      "MemberInviteApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/MemberInviteResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "MemberInviteResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "groups" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/MemberInvite"
            }
          },
          "communities" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/MemberInvite"
            }
          },
          "fundraisers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/MemberInvite"
            }
          }
        },
        "required" : [ "groups", "communities", "fundraisers" ]
      },
      "MemberRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "phoneNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "email" : {
            "type" : "string",
            "nullable" : true
          },
          "role" : {
            "type" : "string",
            "nullable" : true
          },
          "memberId" : {
            "type" : "string",
            "nullable" : true
          },
          "groupIds" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          }
        }
      },
      "MemberResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "userId" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "email" : {
            "type" : "string",
            "nullable" : true
          },
          "phoneNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "role" : {
            "type" : "string"
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "inviteStatus" : {
            "type" : "string",
            "nullable" : true
          },
          "memberId" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "id", "userId", "name", "role" ]
      },
      "MembersApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/MemberResponse"
            },
            "nullable" : true
          }
        },
        "required" : [ "status", "message" ]
      },
      "MessagesApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/TextMessageResponse"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "MonthlyTransactions" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "month" : {
            "type" : "string"
          },
          "transactions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/TransactionEntry"
            }
          }
        },
        "required" : [ "month", "transactions" ]
      },
      "MonthsTotals" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "month" : {
            "type" : "string"
          },
          "total" : {
            "type" : "number",
            "format" : "double"
          }
        },
        "required" : [ "month", "total" ]
      },
      "NextOfKinResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string",
            "nullable" : true
          },
          "firstName" : {
            "type" : "string"
          },
          "lastName" : {
            "type" : "string"
          },
          "relationship" : {
            "type" : "string"
          },
          "dataOfBirth" : {
            "type" : "string"
          },
          "email" : {
            "type" : "string"
          },
          "phoneNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "idNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "status" : {
            "type" : "string"
          },
          "userId" : {
            "type" : "string"
          },
          "guardianName" : {
            "type" : "string",
            "nullable" : true
          },
          "guardianIdNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "guardianPhoneNumber" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "firstName", "lastName", "relationship", "dataOfBirth", "email", "status", "userId" ]
      },
      "NotificationResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "message" : {
            "type" : "string",
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          }
        },
        "required" : [ "id" ]
      },
      "NotificationsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/NotificationResponse"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "OTPActionResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "messageId" : {
            "type" : "string"
          },
          "status" : {
            "type" : "string"
          }
        },
        "required" : [ "messageId", "status" ]
      },
      "OkResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          }
        },
        "required" : [ "status", "message" ]
      },
      "OrgMessageRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "message" : {
            "type" : "string"
          },
          "messageType" : {
            "type" : "string"
          },
          "messageToType" : {
            "$ref" : "#/components/schemas/ORG_MESSAGE_RECIPIENT_TYPE"
          },
          "subGroupIds" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          }
        },
        "required" : [ "message", "messageType", "messageToType" ]
      },
      "OtpActionRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "otpProcess" : {
            "type" : "string",
            "description" : "Givva process requesting OTP"
          },
          "otpPhone" : {
            "type" : "string",
            "description" : "Withdrawal initiator phoneNumber"
          },
          "otpAction" : {
            "type" : "string",
            "description" : "OTP \"request\" or \"validate\""
          },
          "otpCode" : {
            "type" : "string",
            "nullable" : true,
            "description" : "OTP code on \"validate\""
          },
          "messageId" : {
            "type" : "string",
            "nullable" : true,
            "description" : "OTP messageId to validate"
          }
        },
        "required" : [ "otpProcess", "otpPhone", "otpAction" ]
      },
      "PYFReminderResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "frequency" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "time" : {
            "type" : "string",
            "nullable" : true
          },
          "startAt" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "PackageDetails" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "markingPackageId" : {
            "type" : "string",
            "nullable" : true
          },
          "packageName" : {
            "type" : "string",
            "nullable" : true
          },
          "heroId" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "PackageModel" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "category" : {
            "type" : "string",
            "nullable" : true
          },
          "amount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "limit" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          }
        }
      },
      "PackageReportApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/PackageReportResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PackageReportResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "amountContributed" : {
            "type" : "number",
            "format" : "double"
          },
          "amountWithdrawable" : {
            "type" : "number",
            "format" : "double"
          },
          "amountBeingSent" : {
            "type" : "number",
            "format" : "double"
          },
          "charges" : {
            "type" : "number",
            "format" : "double"
          },
          "balance" : {
            "type" : "number",
            "format" : "double"
          },
          "markingPackageId" : {
            "type" : "string"
          }
        },
        "required" : [ "amountContributed", "amountWithdrawable", "amountBeingSent", "charges", "balance", "markingPackageId" ]
      },
      "PackageRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "phoneNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "annualContributions" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "familySize" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "packages" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PackageModel"
            },
            "nullable" : true
          },
          "heroId" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "PackageResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "userId" : {
            "type" : "string"
          },
          "userName" : {
            "type" : "string"
          },
          "phoneNumber" : {
            "type" : "string"
          },
          "communityId" : {
            "type" : "string",
            "nullable" : true
          },
          "annualContributions" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "amountAllocated" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "contributedAmount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "balance" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "limit" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "category" : {
            "type" : "string",
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "familySize" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "heroId" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "id", "userId", "userName", "phoneNumber" ]
      },
      "PackagesApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PackageResponse"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PackagesByCategoryApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PackagesByCategoryResponse"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PackagesByCategoryResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "contributions" : {
            "type" : "number",
            "format" : "double"
          }
        },
        "required" : [ "contributions" ]
      },
      "PagedFaqResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "totalRecords" : {
            "type" : "integer",
            "format" : "int64"
          },
          "items" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FaqDto"
            }
          }
        },
        "required" : [ "totalRecords", "items" ]
      },
      "PaginatedCommunitiesApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/PaginatedResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PaginatedCommunityFundraisersApiV2Response" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/PaginatedResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PaginatedCommunityListApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/PaginatedResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PaginatedFundraiserTypesApiApiV2Response" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/PaginatedResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PaginatedFundraisersApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/PaginatedResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PaginatedGroupsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/PaginatedResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PaginatedMembersApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/PaginatedResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PaginatedSubgroupApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/PaginatedResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PayYourselfApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/PayYourselfResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PayYourselfListApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/PayYourselfResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PayYourselfRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "earningFrequency" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "earnings" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "savingFrequency" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "savingAmount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "duration" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "maturityDate" : {
            "type" : "string",
            "nullable" : true
          },
          "reminders" : {
            "$ref" : "#/components/schemas/RemindersRequest",
            "nullable" : true
          },
          "accountId" : {
            "type" : "string",
            "nullable" : true
          },
          "fundManagerId" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "PayYourselfResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "identifier" : {
            "type" : "string",
            "nullable" : true
          },
          "initialInvestment" : {
            "type" : "number",
            "format" : "double"
          },
          "totalAdditions" : {
            "type" : "number",
            "format" : "double"
          },
          "totalInterest" : {
            "type" : "number",
            "format" : "double"
          },
          "pendingWithdrawals" : {
            "type" : "number",
            "format" : "double"
          },
          "totalWithdrawals" : {
            "type" : "number",
            "format" : "double"
          },
          "totalInvestment" : {
            "type" : "number",
            "format" : "double"
          },
          "investmentDuration" : {
            "type" : "integer",
            "format" : "int32"
          },
          "savingFrequency" : {
            "type" : "integer",
            "format" : "int32"
          },
          "savingAmount" : {
            "type" : "number",
            "format" : "double"
          },
          "interestRate" : {
            "type" : "number",
            "format" : "double"
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime"
          },
          "maturesAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "reminders" : {
            "$ref" : "#/components/schemas/PYFReminderResponse",
            "nullable" : true
          },
          "ownerName" : {
            "type" : "string",
            "nullable" : true
          },
          "phoneNumber" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "id", "initialInvestment", "totalAdditions", "totalInterest", "pendingWithdrawals", "totalWithdrawals", "totalInvestment", "investmentDuration", "savingFrequency", "savingAmount", "interestRate", "createdAt" ]
      },
      "PaymentResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "transactionId" : {
            "type" : "string"
          },
          "amount" : {
            "type" : "number",
            "format" : "double"
          },
          "payerId" : {
            "type" : "string",
            "nullable" : true
          },
          "payerPhone" : {
            "type" : "string",
            "nullable" : true
          },
          "accountNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "payerName" : {
            "type" : "string",
            "nullable" : true
          },
          "channel" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "paymentReason" : {
            "$ref" : "#/components/schemas/PaymentReason",
            "nullable" : true
          },
          "scannedDeposit" : {
            "type" : "string",
            "nullable" : true
          },
          "failureReason" : {
            "type" : "string",
            "nullable" : true
          },
          "actionedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "validatedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "confirmedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "paymentDate" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "updatedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "rejectedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "rejectionReason" : {
            "type" : "string",
            "nullable" : true
          },
          "sourceOfFunds" : {
            "type" : "string",
            "nullable" : true
          },
          "proof" : {
            "type" : "string",
            "nullable" : true
          },
          "eventName" : {
            "type" : "string",
            "nullable" : true
          },
          "fundManagerId" : {
            "type" : "string",
            "nullable" : true
          },
          "fundManagerName" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "id", "transactionId", "amount" ]
      },
      "PaymentStatusApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PaymentResponse"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PaymentsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PaymentResponse"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PledgeApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/PledgeResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PledgeRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "amount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "frequency" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "frequencyAmount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "targetDate" : {
            "type" : "string",
            "nullable" : true
          },
          "reminders" : {
            "$ref" : "#/components/schemas/RemindersRequest",
            "nullable" : true
          },
          "identifier" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "PledgesApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/PledgeResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "ProductApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/ProductResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "ProductCategoriesApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProductCategoryResponse"
            },
            "nullable" : true
          }
        },
        "required" : [ "status", "message" ]
      },
      "ProductCategoryApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProductCategoryResponse"
            },
            "nullable" : true
          }
        },
        "required" : [ "status", "message" ]
      },
      "ProductCategoryRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "productId" : {
            "type" : "string",
            "nullable" : true
          },
          "subCategories" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SubCategoryRequest"
            },
            "nullable" : true
          }
        }
      },
      "ProductCategoryResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "productId" : {
            "type" : "string",
            "nullable" : true
          },
          "productName" : {
            "type" : "string",
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "updatedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "subCategories" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProductSubCategoryResponse"
            },
            "nullable" : true
          },
          "openGoalRate" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "closedGoalRate" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ClosedGoalRates"
            },
            "nullable" : true
          }
        },
        "required" : [ "id", "name" ]
      },
      "ProductGroupApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/ProductGroupResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "ProductGroupRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          }
        }
      },
      "ProductGroupResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "updatedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          }
        },
        "required" : [ "id", "name" ]
      },
      "ProductGroupsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/ProductGroupResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "ProductInvested" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "productId" : {
            "type" : "string"
          },
          "productName" : {
            "type" : "string"
          },
          "productImages" : {
            "type" : "string",
            "nullable" : true
          },
          "amountInvested" : {
            "type" : "number",
            "format" : "double"
          }
        },
        "required" : [ "productId", "productName", "amountInvested" ]
      },
      "ProductRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "productGroupId" : {
            "type" : "string",
            "nullable" : true
          },
          "categories" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProductCategoryRequest"
            },
            "nullable" : true
          },
          "availableToApp" : {
            "type" : "boolean",
            "nullable" : true
          }
        }
      },
      "ProductResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "availableToApp" : {
            "type" : "boolean"
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "updatedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "productGroupId" : {
            "type" : "string",
            "nullable" : true
          },
          "categories" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProductCategoryResponse"
            },
            "nullable" : true
          }
        },
        "required" : [ "id", "name", "availableToApp" ]
      },
      "ProductSubCategoryResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "categoryId" : {
            "type" : "string",
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "updatedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          }
        },
        "required" : [ "id", "name" ]
      },
      "ProductsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/GroupedProductResponse"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "ProviderRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "category" : {
            "type" : "string",
            "nullable" : true
          },
          "limit" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "familySize" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "ProviderResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "category" : {
            "type" : "string"
          },
          "limit" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "familySize" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "accountNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "accountLink" : {
            "type" : "string",
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "updatedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          }
        },
        "required" : [ "id", "name", "category" ]
      },
      "ProvidersApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProviderResponse"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PublicFundraiserApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/PublicFundraiserResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PublicFundraiserResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "fundraiserType" : {
            "type" : "string",
            "nullable" : true
          },
          "fundraiserTypeName" : {
            "type" : "string",
            "nullable" : true
          },
          "name" : {
            "type" : "string"
          },
          "identifier" : {
            "type" : "string",
            "nullable" : true
          },
          "shortDescription" : {
            "type" : "string",
            "nullable" : true
          },
          "longDescription" : {
            "type" : "string",
            "nullable" : true
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "targetAmount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "deadline" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "startDate" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "closedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "archivedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "communityId" : {
            "type" : "string",
            "nullable" : true
          },
          "communityName" : {
            "type" : "string",
            "nullable" : true
          },
          "groupId" : {
            "type" : "string",
            "nullable" : true
          },
          "groupName" : {
            "type" : "string",
            "nullable" : true
          },
          "totalPledges" : {
            "type" : "number",
            "format" : "double"
          },
          "totalContributions" : {
            "type" : "number",
            "format" : "double"
          },
          "dashboardDisplay" : {
            "type" : "string",
            "nullable" : true
          },
          "ussdAccessible" : {
            "type" : "boolean",
            "nullable" : true
          },
          "interestRate" : {
            "type" : "number",
            "format" : "double"
          },
          "reminders" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FundraiserReminderResponse"
            },
            "nullable" : true
          },
          "allowsDirectWithdrawals" : {
            "type" : "boolean"
          },
          "keyword" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "id", "name", "totalPledges", "totalContributions", "interestRate", "allowsDirectWithdrawals" ]
      },
      "RegistrationRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "phoneNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "email" : {
            "type" : "string",
            "nullable" : true
          },
          "password" : {
            "type" : "string",
            "nullable" : true
          },
          "gender" : {
            "type" : "string",
            "nullable" : true
          },
          "countryCode" : {
            "type" : "string",
            "nullable" : true
          },
          "extraInfo" : {
            "$ref" : "#/components/schemas/UserInfo",
            "nullable" : true
          },
          "pushNotificationId" : {
            "type" : "string",
            "nullable" : true
          },
          "referrerCode" : {
            "type" : "string",
            "nullable" : true
          },
          "knewAboutUs" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "ResetPasswordRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "resetCode" : {
            "type" : "string",
            "nullable" : true
          },
          "newPassword" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "SearchUserApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "string"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "SearchUserApiV2Response" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/SearchUserResult"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "SearchUserResult" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          }
        },
        "required" : [ "id", "name" ]
      },
      "SmsGatewayRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "communityId" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "url" : {
            "type" : "string"
          },
          "senderId" : {
            "type" : "string"
          },
          "status" : {
            "type" : "string",
            "nullable" : true
          },
          "hashedCredentials" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "communityId", "name", "url", "senderId" ]
      },
      "SmsGatewayResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "communityId" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "senderId" : {
            "type" : "string"
          },
          "status" : {
            "type" : "string"
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "updatedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          }
        },
        "required" : [ "id", "communityId", "name", "senderId", "status" ]
      },
      "SubCategoryRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "categoryId" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "SubgroupApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SubgroupResponse"
            },
            "nullable" : true
          }
        },
        "required" : [ "status", "message" ]
      },
      "SubgroupResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "membersCount" : {
            "type" : "integer",
            "format" : "int64"
          }
        },
        "required" : [ "name", "membersCount" ]
      },
      "SurePayApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/SurePayResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "SurePayListApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/SurePayResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "SurePayRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "investmentAmount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "investmentDuration" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "investmentFrequency" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "payoutFrequency" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "payoutAmount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "accountId" : {
            "type" : "string",
            "nullable" : true
          },
          "fundManagerId" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "SurePayResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "identifier" : {
            "type" : "string",
            "nullable" : true
          },
          "targetInvestment" : {
            "type" : "number",
            "format" : "double"
          },
          "currentInvestment" : {
            "type" : "number",
            "format" : "double"
          },
          "netBalance" : {
            "type" : "number",
            "format" : "double"
          },
          "totalInterest" : {
            "type" : "number",
            "format" : "double"
          },
          "pendingWithdrawals" : {
            "type" : "number",
            "format" : "double"
          },
          "totalWithdrawals" : {
            "type" : "number",
            "format" : "double"
          },
          "projectedPrincipal" : {
            "type" : "number",
            "format" : "double"
          },
          "investmentDuration" : {
            "type" : "integer",
            "format" : "int32"
          },
          "pendingDuration" : {
            "type" : "integer",
            "format" : "int32"
          },
          "investmentFrequency" : {
            "type" : "integer",
            "format" : "int32"
          },
          "payoutFrequency" : {
            "type" : "integer",
            "format" : "int32"
          },
          "payoutAmount" : {
            "type" : "number",
            "format" : "double"
          },
          "interestRate" : {
            "type" : "number",
            "format" : "double"
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime"
          },
          "maturesAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "ownerName" : {
            "type" : "string",
            "nullable" : true
          },
          "phoneNumber" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "id", "targetInvestment", "currentInvestment", "netBalance", "totalInterest", "pendingWithdrawals", "totalWithdrawals", "projectedPrincipal", "investmentDuration", "pendingDuration", "investmentFrequency", "payoutFrequency", "payoutAmount", "interestRate", "createdAt" ]
      },
      "TestSmsGatewayRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "communityId" : {
            "type" : "string",
            "nullable" : true
          },
          "phoneNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "message" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "TextMessageResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "recipient" : {
            "type" : "string",
            "nullable" : true
          },
          "message" : {
            "type" : "string",
            "nullable" : true
          },
          "messageId" : {
            "type" : "string",
            "nullable" : true
          },
          "status" : {
            "type" : "string",
            "nullable" : true
          },
          "failureReason" : {
            "type" : "string",
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          }
        },
        "required" : [ "id" ]
      },
      "TransactionEntry" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "amount" : {
            "type" : "string"
          },
          "doneAt" : {
            "type" : "string"
          },
          "transactionType" : {
            "type" : "string"
          }
        },
        "required" : [ "amount", "doneAt", "transactionType" ]
      },
      "TransactionResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "userId" : {
            "type" : "string"
          },
          "userName" : {
            "type" : "string"
          },
          "amount" : {
            "type" : "number",
            "format" : "double"
          },
          "doneAt" : {
            "$ref" : "#/components/schemas/DateTime"
          }
        },
        "required" : [ "userId", "userName", "amount", "doneAt" ]
      },
      "TransactionsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/MonthlyTransactions"
            },
            "nullable" : true
          }
        },
        "required" : [ "status", "message" ]
      },
      "TransferApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/TransferResponse"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "TransferRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "amount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "fromEventId" : {
            "type" : "string",
            "nullable" : true
          },
          "toEventId" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "TransferResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "amount" : {
            "type" : "number",
            "format" : "double"
          },
          "creatorId" : {
            "type" : "string",
            "nullable" : true
          },
          "creatorName" : {
            "type" : "string",
            "nullable" : true
          },
          "communityId" : {
            "type" : "string",
            "nullable" : true
          },
          "fromEventId" : {
            "type" : "string",
            "nullable" : true
          },
          "fromEventName" : {
            "type" : "string",
            "nullable" : true
          },
          "toEventId" : {
            "type" : "string",
            "nullable" : true
          },
          "toEventName" : {
            "type" : "string",
            "nullable" : true
          },
          "status" : {
            "type" : "string"
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "approvedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "rejectionReason" : {
            "type" : "string",
            "nullable" : true
          },
          "approvals" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ApprovalResponse"
            },
            "nullable" : true
          }
        },
        "required" : [ "id", "amount", "status" ]
      },
      "TransfersApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/TransferResponse"
            }
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "UnAuthorizedResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          }
        },
        "required" : [ "status", "message" ]
      },
      "UpdateGroupRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "UpdateMemberRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "role" : {
            "type" : "string",
            "nullable" : true
          },
          "memberId" : {
            "type" : "string",
            "nullable" : true
          },
          "communityId" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "UpdateOrgRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "displayName" : {
            "type" : "string",
            "nullable" : true
          },
          "email" : {
            "type" : "string",
            "nullable" : true
          },
          "phone" : {
            "type" : "string",
            "nullable" : true
          },
          "website" : {
            "type" : "string",
            "nullable" : true
          },
          "logoUrl" : {
            "type" : "string",
            "nullable" : true
          },
          "address" : {
            "type" : "string",
            "nullable" : true
          },
          "status" : {
            "type" : "string",
            "nullable" : true
          },
          "metadata" : {
            "type" : "string",
            "nullable" : true
          },
          "organization3Id" : {
            "type" : "string",
            "nullable" : true
          },
          "organization4Id" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "UpdatePaymentDepositRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "sourceOfFunds" : {
            "type" : "string",
            "nullable" : true
          },
          "accountNumber" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "UpdateProductGroupRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          }
        }
      },
      "UpdateProductRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "productGroupId" : {
            "type" : "string",
            "nullable" : true
          },
          "availableToApp" : {
            "type" : "boolean",
            "nullable" : true
          }
        }
      },
      "UpdateUserRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "email" : {
            "type" : "string",
            "nullable" : true
          },
          "idNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "gender" : {
            "type" : "string",
            "nullable" : true
          },
          "role" : {
            "type" : "string",
            "nullable" : true
          },
          "extraInfo" : {
            "$ref" : "#/components/schemas/UserInfo",
            "nullable" : true
          },
          "pushNotificationId" : {
            "type" : "string",
            "nullable" : true
          },
          "passportPhoto" : {
            "type" : "string",
            "nullable" : true
          },
          "referrerCode" : {
            "type" : "string",
            "nullable" : true
          },
          "knewAboutUs" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "UserApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/UserResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "UserContributionResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "userId" : {
            "type" : "string"
          },
          "userName" : {
            "type" : "string"
          },
          "amount" : {
            "type" : "number",
            "format" : "double"
          }
        },
        "required" : [ "userId", "userName", "amount" ]
      },
      "UserContributionsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/UserCommunityContributions"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "UserGoalTransactionsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/UserGoalReport",
            "nullable" : true
          }
        },
        "required" : [ "status", "message" ]
      },
      "UserIdApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/UserIdResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "UserIdResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "userId" : {
            "type" : "string"
          }
        },
        "required" : [ "userId" ]
      },
      "UserInfoRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "kraPin" : {
            "type" : "string",
            "nullable" : true
          },
          "kraPinCert" : {
            "type" : "string",
            "nullable" : true
          },
          "occupation" : {
            "type" : "string",
            "nullable" : true
          },
          "physicalAddress" : {
            "type" : "string",
            "nullable" : true
          },
          "dateOfBirth" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true,
            "description" : "The date of birth in the format yyyy-MM-dd"
          },
          "idFront" : {
            "type" : "string",
            "nullable" : true
          },
          "idBack" : {
            "type" : "string",
            "nullable" : true
          },
          "passportPhoto" : {
            "type" : "string",
            "nullable" : true
          },
          "referrerCode" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "UserResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "email" : {
            "type" : "string",
            "nullable" : true
          },
          "phoneNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "phoneVerified" : {
            "type" : "boolean"
          },
          "role" : {
            "type" : "string"
          },
          "idNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "gender" : {
            "type" : "string",
            "nullable" : true
          },
          "referralCode" : {
            "type" : "string",
            "nullable" : true
          },
          "dateOfBirth" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "countryCode" : {
            "type" : "string",
            "nullable" : true
          },
          "deactivatedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "updatedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "idCheckStatus" : {
            "type" : "string"
          },
          "idVerificationRetries" : {
            "type" : "integer",
            "format" : "int32"
          },
          "passportPhoto" : {
            "type" : "string",
            "nullable" : true
          },
          "docCheckStatus" : {
            "type" : "string"
          },
          "userInfo" : {
            "$ref" : "#/components/schemas/UserInfo",
            "nullable" : true
          },
          "token" : {
            "type" : "string",
            "nullable" : true
          },
          "hasInvestments" : {
            "type" : "boolean"
          },
          "inviteStatus" : {
            "type" : "string",
            "nullable" : true
          },
          "adminRole" : {
            "type" : "string",
            "nullable" : true
          },
          "suspensionReason" : {
            "type" : "string",
            "nullable" : true
          },
          "communities" : {
            "type" : "string",
            "nullable" : true
          },
          "memberId" : {
            "type" : "string",
            "nullable" : true
          },
          "knewAboutUs" : {
            "type" : "string",
            "nullable" : true
          },
          "hasSubOrgs" : {
            "type" : "boolean"
          },
          "agent" : {
            "type" : "boolean",
            "nullable" : true
          },
          "supervisor" : {
            "type" : "boolean",
            "nullable" : true
          },
          "churchOrSEFMember" : {
            "type" : "boolean",
            "nullable" : true
          }
        },
        "required" : [ "id", "name", "phoneVerified", "role", "idCheckStatus", "idVerificationRetries", "docCheckStatus", "hasInvestments", "hasSubOrgs" ]
      },
      "UserRoleResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "role" : {
            "type" : "string"
          },
          "communityId" : {
            "type" : "string",
            "nullable" : true
          },
          "groupId" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "role" ]
      },
      "UserRolesApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/UserRoleResponse"
            },
            "nullable" : true
          }
        },
        "required" : [ "status", "message" ]
      },
      "VerificationRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "confirmationCode" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "WithdrawalApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/WithdrawalResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "WithdrawalRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "amount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "accountId" : {
            "type" : "string",
            "nullable" : true
          },
          "goalId" : {
            "type" : "string",
            "nullable" : true
          },
          "surePayId" : {
            "type" : "string",
            "nullable" : true
          },
          "payYourselfId" : {
            "type" : "string",
            "nullable" : true
          },
          "fundraiserId" : {
            "type" : "string",
            "nullable" : true
          },
          "comments" : {
            "type" : "string",
            "nullable" : true
          },
          "packageDetails" : {
            "$ref" : "#/components/schemas/PackageDetails",
            "nullable" : true
          },
          "fundManagerId" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "WithdrawalResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "amount" : {
            "type" : "number",
            "format" : "double"
          },
          "creatorId" : {
            "type" : "string",
            "nullable" : true
          },
          "creatorName" : {
            "type" : "string",
            "nullable" : true
          },
          "groupId" : {
            "type" : "string",
            "nullable" : true
          },
          "communityId" : {
            "type" : "string",
            "nullable" : true
          },
          "accountId" : {
            "type" : "string",
            "nullable" : true
          },
          "accountName" : {
            "type" : "string",
            "nullable" : true
          },
          "status" : {
            "type" : "string"
          },
          "goalName" : {
            "type" : "string",
            "nullable" : true
          },
          "surePayIdentifier" : {
            "type" : "string",
            "nullable" : true
          },
          "payYourselfIdentifier" : {
            "type" : "string",
            "nullable" : true
          },
          "fundraiserName" : {
            "type" : "string",
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "comments" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "id", "amount", "status" ]
      },
      "WithdrawalsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/WithdrawalResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "CommissionWithdrawRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "userId" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The user applicable"
          },
          "goalId" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The goal applicable"
          },
          "amount" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The withdrawal amount"
          },
          "type" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The commission type"
          }
        }
      },
      "CommissionsRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "eventTypeId" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The event type applicable"
          },
          "name" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Name of the commission configuration"
          },
          "year" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Year applicable to"
          },
          "agentRate" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Agent commission rate"
          },
          "supervisorRate" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Supervisor commission rate"
          },
          "description" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Description"
          },
          "status" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Status"
          }
        }
      },
      "CommunityAgentsReportRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "communities" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "The communities applicable"
          }
        },
        "required" : [ "communities" ]
      },
      "CommunityAgentsRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "communityId" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The community applicable"
          },
          "agentId" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The agent applicable"
          },
          "dateOnBoarded" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Date onboarded"
          },
          "status" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Status"
          }
        }
      },
      "CommunitySupervisorsReportRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "agents" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "The agents applicable"
          }
        },
        "required" : [ "agents" ]
      },
      "CommunitySupervisorsRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "agentId" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The agent applicable"
          },
          "supervisorId" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The supervisor applicable"
          },
          "supervisorLevel" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The supervisor level applicable"
          },
          "dateOnBoarded" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Date onboarded"
          },
          "status" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Status"
          }
        }
      },
      "SweepEventsRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Name of the sweep event"
          },
          "description" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Description of the sweep event"
          },
          "eventId" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The event that this sweep will run against."
          },
          "status" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Whether an event is saved as INACTIVE or ACTIVE"
          },
          "typeId" : {
            "type" : "string",
            "nullable" : true,
            "description" : "Sweep event type"
          }
        }
      },
      "CommissionsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/CommissionsResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "CommissionsResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "eventType" : {
            "$ref" : "#/components/schemas/FundraiserDetails",
            "nullable" : true
          },
          "name" : {
            "type" : "string"
          },
          "year" : {
            "type" : "string"
          },
          "agentRate" : {
            "type" : "string"
          },
          "supervisorRate" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string"
          },
          "status" : {
            "type" : "string"
          },
          "createdAt" : {
            "type" : "string"
          }
        },
        "required" : [ "id", "name", "year", "agentRate", "supervisorRate", "description", "status", "createdAt" ]
      },
      "CommunityAgentsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/CommunityAgentsResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "CommunityAgentsResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "community" : {
            "$ref" : "#/components/schemas/CommunityDetails",
            "nullable" : true
          },
          "agent" : {
            "$ref" : "#/components/schemas/UserResponse",
            "nullable" : true
          },
          "dateOnboarded" : {
            "type" : "string",
            "nullable" : true
          },
          "status" : {
            "type" : "string"
          },
          "createdAt" : {
            "type" : "string"
          }
        },
        "required" : [ "id", "status", "createdAt" ]
      },
      "CommunityDetails" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "county" : {
            "type" : "string",
            "nullable" : true
          },
          "town" : {
            "type" : "string",
            "nullable" : true
          },
          "street" : {
            "type" : "string",
            "nullable" : true
          },
          "churchName" : {
            "type" : "string",
            "nullable" : true
          },
          "churchType" : {
            "type" : "string",
            "nullable" : true
          },
          "mission" : {
            "type" : "string",
            "nullable" : true
          },
          "vision" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "CommunitySupervisorsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/CommunitySupervisorsResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "CommunitySupervisorsResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "communityName" : {
            "type" : "string",
            "nullable" : true
          },
          "agentId" : {
            "type" : "string",
            "nullable" : true
          },
          "agentName" : {
            "type" : "string",
            "nullable" : true
          },
          "agentPhoneNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "supervisorId" : {
            "type" : "string",
            "nullable" : true
          },
          "supervisorName" : {
            "type" : "string",
            "nullable" : true
          },
          "supervisorPhoneNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "supervisorLevel" : {
            "type" : "string"
          },
          "dateOnboarded" : {
            "type" : "string",
            "nullable" : true
          },
          "status" : {
            "type" : "string"
          },
          "createdAt" : {
            "type" : "string"
          }
        },
        "required" : [ "id", "supervisorLevel", "status", "createdAt" ]
      },
      "FundraiserDetails" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          }
        },
        "required" : [ "id", "name" ]
      },
      "PaginatedAgentsCommunitiesApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/PaginatedResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PaginatedAgentsEventsReportApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/PaginatedResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PaginatedCommissionsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/PaginatedResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PaginatedCommissionsEarnedApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/PaginatedResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PaginatedCommunityAgentsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/PaginatedResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PaginatedCommunitySupervisorsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/PaginatedResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PaginatedSweepEventsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/PaginatedResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PaginatedUserSubscriptionsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/PaginatedResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PaginatedWalletsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/PaginatedResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "ReferralEvents" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "amount" : {
            "type" : "string"
          },
          "commission" : {
            "type" : "string"
          },
          "tax" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "id", "name", "amount", "commission" ]
      },
      "ReferralEventsResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "events" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ReferralEvents"
            }
          },
          "total" : {
            "$ref" : "#/components/schemas/ReferralEventsSummation"
          }
        },
        "required" : [ "events", "total" ]
      },
      "ReferralEventsSummation" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "amountCollected" : {
            "type" : "string"
          },
          "commission" : {
            "type" : "string"
          },
          "tax" : {
            "type" : "string"
          },
          "amountPayable" : {
            "type" : "string"
          },
          "amountWithdrawn" : {
            "type" : "string"
          }
        },
        "required" : [ "amountCollected", "commission", "tax", "amountPayable", "amountWithdrawn" ]
      },
      "SearchAgentApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/SearchAgentResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "SearchAgentResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          }
        },
        "required" : [ "id", "name" ]
      },
      "SearchCommunityApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/SearchCommunityResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "SearchCommunityResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          }
        },
        "required" : [ "id", "name" ]
      },
      "SearchFundraiserTypeApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/SearchFundraiserTypeResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "SearchFundraiserTypeResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          }
        },
        "required" : [ "id", "name" ]
      },
      "SweepEventsApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/SweepEventsResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "SweepEventsResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "eventId" : {
            "type" : "string",
            "nullable" : true
          },
          "eventName" : {
            "type" : "string",
            "nullable" : true
          },
          "status" : {
            "type" : "string",
            "nullable" : true
          },
          "typeId" : {
            "type" : "string",
            "nullable" : true
          },
          "typeName" : {
            "type" : "string",
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "updatedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          }
        },
        "required" : [ "id", "name" ]
      },
      "ContributionRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "amount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "phoneNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "identifier" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "MessageAttachment" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string"
          }
        },
        "required" : [ "name", "type" ]
      },
      "PaymentReason" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "goalId" : {
            "type" : "string",
            "nullable" : true
          },
          "fundraiserId" : {
            "type" : "string",
            "nullable" : true
          },
          "surePayId" : {
            "type" : "string",
            "nullable" : true
          },
          "payYourselfId" : {
            "type" : "string",
            "nullable" : true
          },
          "heroId" : {
            "type" : "string",
            "nullable" : true
          },
          "userIdentifier" : {
            "type" : "string",
            "nullable" : true
          },
          "beneficiaryPhoneNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "anonymizeContributions" : {
            "type" : "boolean",
            "nullable" : true
          }
        }
      },
      "AccountResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "ownerId" : {
            "type" : "string"
          },
          "ownerType" : {
            "type" : "string"
          },
          "status" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "nullable" : true
          },
          "accountName" : {
            "type" : "string",
            "nullable" : true
          },
          "accountNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "phoneNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "institution" : {
            "type" : "string",
            "nullable" : true
          },
          "branch" : {
            "type" : "string",
            "nullable" : true
          },
          "swiftCode" : {
            "type" : "string",
            "nullable" : true
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "creatorId" : {
            "type" : "string",
            "nullable" : true
          },
          "creatorName" : {
            "type" : "string",
            "nullable" : true
          },
          "approvers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ApproverResponse"
            },
            "nullable" : true
          }
        },
        "required" : [ "id", "ownerId", "ownerType", "status" ]
      },
      "ApproverResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "userId" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "phoneNumber" : {
            "type" : "string"
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime"
          }
        },
        "required" : [ "id", "userId", "name", "phoneNumber", "createdAt" ]
      },
      "BankDetailsResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "accountName" : {
            "type" : "string",
            "nullable" : true
          },
          "accountNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "bankName" : {
            "type" : "string",
            "nullable" : true
          },
          "branch" : {
            "type" : "string",
            "nullable" : true
          },
          "swiftCode" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "CommunityPackage" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "integer",
            "format" : "int32"
          },
          "dailyRate" : {
            "type" : "string"
          },
          "monthlyRate" : {
            "type" : "string"
          }
        },
        "required" : [ "id", "dailyRate", "monthlyRate" ]
      },
      "CoopAccStatementRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "startDate" : {
            "type" : "string"
          },
          "endDate" : {
            "type" : "string"
          }
        },
        "required" : [ "startDate", "endDate" ]
      },
      "EventContribution" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "number" : {
            "type" : "integer",
            "format" : "int32"
          },
          "eventName" : {
            "type" : "string"
          },
          "eventDate" : {
            "type" : "string"
          },
          "amount" : {
            "type" : "number",
            "format" : "double"
          }
        },
        "required" : [ "number", "eventName", "eventDate", "amount" ]
      },
      "FaqDto" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "question" : {
            "type" : "string"
          },
          "answer" : {
            "type" : "string"
          },
          "videoLink" : {
            "type" : "string",
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime"
          },
          "updatedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          }
        },
        "required" : [ "id", "question", "answer", "createdAt" ]
      },
      "FundraiserContributionResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "userId" : {
            "type" : "string"
          },
          "userName" : {
            "type" : "string"
          },
          "phoneNumber" : {
            "type" : "string"
          },
          "userIdentifier" : {
            "type" : "string",
            "nullable" : true
          },
          "amount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "memberId" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "userId", "userName", "phoneNumber" ]
      },
      "FundraiserDetailsResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "fundraiserType" : {
            "type" : "string",
            "nullable" : true
          },
          "fundraiserTypeName" : {
            "type" : "string",
            "nullable" : true
          },
          "name" : {
            "type" : "string"
          },
          "identifier" : {
            "type" : "string",
            "nullable" : true
          },
          "shortDescription" : {
            "type" : "string",
            "nullable" : true
          },
          "longDescription" : {
            "type" : "string",
            "nullable" : true
          },
          "images" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "repeats" : {
            "type" : "boolean"
          },
          "frequency" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "frequencyTime" : {
            "type" : "string",
            "nullable" : true
          },
          "contributionDays" : {
            "type" : "string",
            "nullable" : true
          },
          "targetAmount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "deadline" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "startDate" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "payoutFrequency" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "payoutAmount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "isLocked" : {
            "type" : "boolean"
          },
          "lockDuration" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "creatorId" : {
            "type" : "string",
            "nullable" : true
          },
          "communityId" : {
            "type" : "string",
            "nullable" : true
          },
          "communityName" : {
            "type" : "string",
            "nullable" : true
          },
          "groupId" : {
            "type" : "string",
            "nullable" : true
          },
          "groupName" : {
            "type" : "string",
            "nullable" : true
          },
          "summary" : {
            "$ref" : "#/components/schemas/FundraiserSummary",
            "nullable" : true
          },
          "investmentStatement" : {
            "$ref" : "#/components/schemas/FundraiserSummary",
            "nullable" : true
          },
          "pledges" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PledgeResponse"
            },
            "nullable" : true
          },
          "contributions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FundraiserContributionResponse"
            },
            "nullable" : true
          },
          "transfers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FundraiserTransferResponse"
            },
            "nullable" : true
          },
          "accountResponse" : {
            "$ref" : "#/components/schemas/AccountResponse",
            "nullable" : true
          },
          "dashboardDisplay" : {
            "type" : "string",
            "nullable" : true
          },
          "closedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "archivedAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "ussdAccessible" : {
            "type" : "boolean",
            "nullable" : true
          },
          "allowMemberInvites" : {
            "type" : "boolean"
          },
          "visibleToAllMembers" : {
            "type" : "boolean"
          },
          "acceptsTransfer" : {
            "type" : "boolean"
          },
          "interestRate" : {
            "type" : "number",
            "format" : "double"
          },
          "paybill" : {
            "type" : "string",
            "nullable" : true
          },
          "allowsDirectWithdrawals" : {
            "type" : "boolean"
          },
          "reminders" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FundraiserReminderResponse"
            },
            "nullable" : true
          },
          "keyword" : {
            "type" : "string",
            "nullable" : true
          },
          "bankDetails" : {
            "$ref" : "#/components/schemas/BankDetailsResponse",
            "nullable" : true
          }
        },
        "required" : [ "id", "name", "repeats", "isLocked", "allowMemberInvites", "visibleToAllMembers", "acceptsTransfer", "interestRate", "allowsDirectWithdrawals" ]
      },
      "FundraiserReminderRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "frequency" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "How often the reminder is sent. 1 DAILY, 7 WEEKLY, 14 BIWEEKLY, 30 MONTHLY"
          },
          "startDate" : {
            "type" : "string",
            "description" : "Date when then the reminder starts"
          },
          "time" : {
            "type" : "string",
            "description" : "Time when the reminder starts"
          },
          "reminderType" : {
            "type" : "string",
            "description" : "Message type used to send the reminder"
          }
        },
        "required" : [ "frequency", "startDate", "time", "reminderType" ]
      },
      "FundraiserReminderResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string"
          },
          "frequency" : {
            "type" : "integer",
            "format" : "int32"
          },
          "time" : {
            "type" : "string"
          },
          "startDate" : {
            "type" : "string"
          }
        },
        "required" : [ "name", "type", "frequency", "time", "startDate" ]
      },
      "FundraiserSummary" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "individual" : {
            "$ref" : "#/components/schemas/IndividualSummary"
          },
          "overall" : {
            "$ref" : "#/components/schemas/OverallSummary"
          }
        },
        "required" : [ "individual", "overall" ]
      },
      "FundraiserTransferResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "amount" : {
            "type" : "number",
            "format" : "double"
          },
          "direction" : {
            "type" : "string"
          },
          "fromEventId" : {
            "type" : "string",
            "nullable" : true
          },
          "fromEventName" : {
            "type" : "string",
            "nullable" : true
          },
          "toEventId" : {
            "type" : "string",
            "nullable" : true
          },
          "toEventName" : {
            "type" : "string",
            "nullable" : true
          },
          "transferredAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          }
        },
        "required" : [ "id", "amount", "direction" ]
      },
      "IndividualSummary" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "pledges" : {
            "type" : "number",
            "format" : "double"
          },
          "contributions" : {
            "type" : "number",
            "format" : "double"
          },
          "deficit" : {
            "type" : "number",
            "format" : "double"
          }
        },
        "required" : [ "pledges", "contributions", "deficit" ]
      },
      "MessageRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "message" : {
            "type" : "string",
            "nullable" : true
          },
          "groupId" : {
            "type" : "string",
            "nullable" : true
          },
          "communityId" : {
            "type" : "string",
            "nullable" : true
          },
          "fundraiserId" : {
            "type" : "string",
            "nullable" : true
          },
          "attachments" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/MessageAttachment"
            },
            "nullable" : true
          }
        }
      },
      "OverallSummary" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "pledges" : {
            "type" : "number",
            "format" : "double"
          },
          "contributions" : {
            "type" : "number",
            "format" : "double"
          },
          "deficit" : {
            "type" : "number",
            "format" : "double"
          },
          "withdrawals" : {
            "type" : "number",
            "format" : "double"
          },
          "netAmount" : {
            "type" : "number",
            "format" : "double"
          },
          "interest" : {
            "type" : "number",
            "format" : "double"
          },
          "adminFees" : {
            "type" : "number",
            "format" : "double"
          },
          "pendingWithdrawal" : {
            "type" : "number",
            "format" : "double"
          },
          "smsCharges" : {
            "type" : "number",
            "format" : "double"
          },
          "commissionFees" : {
            "type" : "number",
            "format" : "double"
          },
          "transfersIn" : {
            "type" : "number",
            "format" : "double"
          },
          "transfersOut" : {
            "type" : "number",
            "format" : "double"
          }
        },
        "required" : [ "pledges", "contributions", "deficit", "withdrawals", "netAmount", "interest", "adminFees", "pendingWithdrawal", "smsCharges", "commissionFees", "transfersIn", "transfersOut" ]
      },
      "PaginatedResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "data" : {
            "type" : "array",
            "items" : {
              "type" : "object"
            }
          },
          "pagination" : {
            "$ref" : "#/components/schemas/PaginationInfo"
          },
          "sorting" : {
            "$ref" : "#/components/schemas/SortInfo",
            "nullable" : true
          }
        },
        "required" : [ "data", "pagination" ]
      },
      "PaginationInfo" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "page" : {
            "type" : "integer",
            "format" : "int32"
          },
          "size" : {
            "type" : "integer",
            "format" : "int32"
          },
          "totalCount" : {
            "type" : "integer",
            "format" : "int64"
          },
          "totalPages" : {
            "type" : "integer",
            "format" : "int32"
          },
          "hasNext" : {
            "type" : "boolean"
          },
          "hasPrevious" : {
            "type" : "boolean"
          }
        },
        "required" : [ "page", "size", "totalCount", "totalPages", "hasNext", "hasPrevious" ]
      },
      "PaymentApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "$ref" : "#/components/schemas/PaymentRequestResponse"
          }
        },
        "required" : [ "status", "message", "result" ]
      },
      "PaymentRequestResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "accessCode" : {
            "type" : "string",
            "nullable" : true
          },
          "authorizationUrl" : {
            "type" : "string",
            "nullable" : true
          },
          "reference" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "id" ]
      },
      "PledgeResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string",
            "nullable" : true
          },
          "userId" : {
            "type" : "string",
            "nullable" : true
          },
          "userName" : {
            "type" : "string",
            "nullable" : true
          },
          "phoneNumber" : {
            "type" : "string",
            "nullable" : true
          },
          "totalAmount" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "amountPaid" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "frequency" : {
            "type" : "integer",
            "format" : "int32"
          },
          "frequencyAmount" : {
            "type" : "number",
            "format" : "double"
          },
          "targetDate" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "reminders" : {
            "$ref" : "#/components/schemas/RemindersRequest",
            "nullable" : true
          },
          "createdAt" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "userIdentifier" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "frequency", "frequencyAmount" ]
      },
      "RepeatFundraiserItem" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "fundraiserId" : {
            "type" : "string"
          },
          "fundraiserName" : {
            "type" : "string"
          },
          "contributions" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "number",
                "format" : "double"
              }
            }
          },
          "monthsTotals" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "number",
              "format" : "double"
            }
          }
        },
        "required" : [ "fundraiserId", "fundraiserName", "contributions", "monthsTotals" ]
      },
      "SortInfo" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "field" : {
            "type" : "string"
          },
          "order" : {
            "$ref" : "#/components/schemas/SortOrder"
          }
        },
        "required" : [ "field", "order" ]
      },
      "SortOrder" : {
        "type" : "string",
        "enum" : [ "ASC", "DESC" ]
      },
      "UserCommunityContributions" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "reportDate" : {
            "type" : "string"
          },
          "userId" : {
            "type" : "string"
          },
          "userName" : {
            "type" : "string"
          },
          "memberId" : {
            "type" : "string"
          },
          "phoneNumber" : {
            "type" : "string"
          },
          "communityName" : {
            "type" : "string"
          },
          "totalUserContributions" : {
            "type" : "number",
            "format" : "double"
          },
          "contributions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/EventContribution"
            }
          }
        },
        "required" : [ "reportDate", "userId", "userName", "memberId", "phoneNumber", "communityName", "totalUserContributions", "contributions" ]
      },
      "UserGoalReport" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "startDate" : {
            "type" : "string"
          },
          "endDate" : {
            "type" : "string"
          },
          "userId" : {
            "type" : "string"
          },
          "userName" : {
            "type" : "string"
          },
          "phoneNumber" : {
            "type" : "string"
          },
          "goalName" : {
            "type" : "string",
            "nullable" : true
          },
          "goalId" : {
            "type" : "string",
            "nullable" : true
          },
          "groupName" : {
            "type" : "string",
            "nullable" : true
          },
          "totalAmount" : {
            "type" : "number",
            "format" : "double"
          },
          "credits" : {
            "type" : "number",
            "format" : "double"
          },
          "debits" : {
            "type" : "number",
            "format" : "double"
          },
          "transactions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/UserGoalTransaction"
            }
          }
        },
        "required" : [ "startDate", "endDate", "userId", "userName", "phoneNumber", "totalAmount", "credits", "debits", "transactions" ]
      },
      "UserGoalTransaction" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "number" : {
            "type" : "integer",
            "format" : "int32"
          },
          "transactionDate" : {
            "type" : "string"
          },
          "transactionId" : {
            "type" : "string"
          },
          "paymentMethod" : {
            "type" : "string"
          },
          "payerName" : {
            "type" : "string"
          },
          "credit" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          },
          "debit" : {
            "type" : "number",
            "format" : "double",
            "nullable" : true
          }
        },
        "required" : [ "number", "transactionDate", "transactionId", "paymentMethod", "payerName" ]
      },
      "AppTextMessage" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "message" : {
            "type" : "string",
            "nullable" : true
          },
          "purpose" : {
            "type" : "string",
            "nullable" : true
          },
          "createdAt" : {
            "type" : "string"
          },
          "attachments" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/MessageAttachment"
            },
            "nullable" : true
          },
          "senderId" : {
            "type" : "string",
            "nullable" : true
          },
          "senderName" : {
            "type" : "string",
            "nullable" : true
          },
          "senderPhone" : {
            "type" : "string",
            "nullable" : true
          },
          "senderEmail" : {
            "type" : "string",
            "nullable" : true
          },
          "groupId" : {
            "type" : "string",
            "nullable" : true
          },
          "communityId" : {
            "type" : "string",
            "nullable" : true
          },
          "fundraiserId" : {
            "type" : "string",
            "nullable" : true
          },
          "readAt" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "required" : [ "id", "createdAt" ]
      },
      "BankDetails" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "number" : {
            "type" : "string",
            "nullable" : true
          },
          "bank" : {
            "type" : "string",
            "nullable" : true
          },
          "branch" : {
            "type" : "string",
            "nullable" : true
          },
          "branchCode" : {
            "type" : "string",
            "nullable" : true
          },
          "swiftCode" : {
            "type" : "string",
            "nullable" : true
          },
          "paybill" : {
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "RemindersRequest" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "frequency" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true,
            "description" : "How often to send the reminders in days"
          },
          "time" : {
            "type" : "string",
            "nullable" : true,
            "description" : "The time to send the reminders in the format HH:MM"
          },
          "startAt" : {
            "type" : "string",
            "nullable" : true,
            "description" : "When to start sending the reminders in the format yyyy-MM-dd HH:mm:ss"
          }
        }
      },
      "UserInfo" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "kraPin" : {
            "type" : "string",
            "nullable" : true
          },
          "kraPinCert" : {
            "type" : "string",
            "nullable" : true
          },
          "occupation" : {
            "type" : "string",
            "nullable" : true
          },
          "physicalAddress" : {
            "type" : "string",
            "nullable" : true
          },
          "dateOfBirth" : {
            "$ref" : "#/components/schemas/DateTime",
            "nullable" : true
          },
          "idFront" : {
            "type" : "string",
            "nullable" : true
          },
          "idBack" : {
            "type" : "string",
            "nullable" : true
          },
          "extraData" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "nullable" : true
          }
        }
      },
      "ApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "result" : {
            "type" : "object",
            "nullable" : true
          },
          "transactionId" : {
            "type" : "string",
            "nullable" : true
          },
          "statusCode" : {
            "type" : "integer",
            "format" : "int32"
          },
          "responseFormatter" : {
            "$ref" : "#/components/schemas/Function1",
            "nullable" : true
          }
        },
        "required" : [ "status", "message", "statusCode" ]
      },
      "ClosedGoalRates" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "duration" : {
            "type" : "integer",
            "format" : "int32"
          },
          "interestRate" : {
            "type" : "number",
            "format" : "double"
          }
        },
        "required" : [ "duration", "interestRate" ]
      },
      "CustomJson" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : { }
      },
      "ORGANIZATION_LEVEL" : {
        "type" : "string",
        "enum" : [ "TWO", "THREE", "FOUR" ]
      },
      "ORG_MESSAGE_RECIPIENT_TYPE" : {
        "type" : "string",
        "enum" : [ "ORG_LEADERS", "ORG_MEMBERS", "ORG_LEADERS_AND_MEMBERS", "SUB_ORG_LEADERS", "SUB_ORG_MEMBERS", "SUB_ORG_LEADERS_AND_MEMBERS" ]
      },
      "PaginatedApiResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "data" : {
            "type" : "array",
            "items" : {
              "type" : "object"
            },
            "nullable" : true
          },
          "totalRecords" : {
            "type" : "integer",
            "format" : "int64"
          },
          "totalPages" : {
            "type" : "integer",
            "format" : "int64"
          },
          "currentPage" : {
            "type" : "integer",
            "format" : "int32"
          },
          "pageSize" : {
            "type" : "integer",
            "format" : "int32"
          }
        },
        "required" : [ "totalRecords", "totalPages", "currentPage", "pageSize" ]
      },
      "NotFoundResponse" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "message" : {
            "type" : "string"
          },
          "localizedMessage" : {
            "type" : "string"
          },
          "cause" : {
            "$ref" : "#/components/schemas/Throwable"
          },
          "stackTrace" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/StackTraceElement"
            }
          },
          "suppressed" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Throwable"
            }
          },
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "details" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          }
        },
        "required" : [ "status", "details" ]
      },
      "StackTraceElement" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "fileName" : {
            "type" : "string"
          },
          "lineNumber" : {
            "type" : "integer",
            "format" : "int32"
          },
          "moduleName" : {
            "type" : "string"
          },
          "moduleVersion" : {
            "type" : "string"
          },
          "classLoaderName" : {
            "type" : "string"
          },
          "className" : {
            "type" : "string"
          },
          "methodName" : {
            "type" : "string"
          },
          "nativeMethod" : {
            "type" : "boolean"
          }
        },
        "required" : [ "lineNumber", "nativeMethod" ]
      },
      "Throwable" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "message" : {
            "type" : "string"
          },
          "localizedMessage" : {
            "type" : "string"
          },
          "cause" : {
            "$ref" : "#/components/schemas/Throwable"
          },
          "stackTrace" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/StackTraceElement"
            }
          },
          "ourStackTrace" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/StackTraceElement"
            }
          },
          "suppressed" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Throwable"
            }
          }
        }
      },
      "Function1" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : { }
      },
      "Chronology" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "zone" : {
            "$ref" : "#/components/schemas/DateTimeZone"
          },
          "dateTimeMillis" : {
            "type" : "integer",
            "format" : "int64"
          },
          "" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int32"
            }
          }
        },
        "required" : [ "dateTimeMillis", "dateTimeMillis", "dateTimeMillis" ]
      },
      "DateTime" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "zone" : {
            "$ref" : "#/components/schemas/DateTimeZone"
          },
          "supported" : {
            "type" : "boolean"
          },
          "" : {
            "type" : "integer",
            "format" : "int32"
          },
          "after" : {
            "type" : "boolean"
          },
          "afterNow" : {
            "type" : "boolean"
          },
          "before" : {
            "type" : "boolean"
          },
          "beforeNow" : {
            "type" : "boolean"
          },
          "equal" : {
            "type" : "boolean"
          },
          "equalNow" : {
            "type" : "boolean"
          },
          "era" : {
            "type" : "integer",
            "format" : "int32"
          },
          "centuryOfEra" : {
            "type" : "integer",
            "format" : "int32"
          },
          "yearOfEra" : {
            "type" : "integer",
            "format" : "int32"
          },
          "yearOfCentury" : {
            "type" : "integer",
            "format" : "int32"
          },
          "year" : {
            "type" : "integer",
            "format" : "int32"
          },
          "weekyear" : {
            "type" : "integer",
            "format" : "int32"
          },
          "monthOfYear" : {
            "type" : "integer",
            "format" : "int32"
          },
          "weekOfWeekyear" : {
            "type" : "integer",
            "format" : "int32"
          },
          "dayOfYear" : {
            "type" : "integer",
            "format" : "int32"
          },
          "dayOfMonth" : {
            "type" : "integer",
            "format" : "int32"
          },
          "dayOfWeek" : {
            "type" : "integer",
            "format" : "int32"
          },
          "hourOfDay" : {
            "type" : "integer",
            "format" : "int32"
          },
          "minuteOfDay" : {
            "type" : "integer",
            "format" : "int32"
          },
          "minuteOfHour" : {
            "type" : "integer",
            "format" : "int32"
          },
          "secondOfDay" : {
            "type" : "integer",
            "format" : "int32"
          },
          "secondOfMinute" : {
            "type" : "integer",
            "format" : "int32"
          },
          "millisOfDay" : {
            "type" : "integer",
            "format" : "int32"
          },
          "millisOfSecond" : {
            "type" : "integer",
            "format" : "int32"
          },
          "millis" : {
            "type" : "integer",
            "format" : "int64"
          },
          "chronology" : {
            "$ref" : "#/components/schemas/Chronology"
          }
        },
        "required" : [ "supported", "", "after", "afterNow", "after", "before", "beforeNow", "before", "equal", "equalNow", "equal", "", "era", "centuryOfEra", "yearOfEra", "yearOfCentury", "year", "weekyear", "monthOfYear", "weekOfWeekyear", "dayOfYear", "dayOfMonth", "dayOfWeek", "hourOfDay", "minuteOfDay", "minuteOfHour", "secondOfDay", "secondOfMinute", "millisOfDay", "millisOfSecond", "millis" ]
      },
      "DateTimeZone" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "iD" : {
            "type" : "string"
          },
          "nameKey" : {
            "type" : "string"
          },
          "shortName" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "offset" : {
            "type" : "integer",
            "format" : "int32"
          },
          "standardOffset" : {
            "type" : "boolean"
          },
          "offsetFromLocal" : {
            "type" : "integer",
            "format" : "int32"
          },
          "millisKeepLocal" : {
            "type" : "integer",
            "format" : "int64"
          },
          "localDateTimeGap" : {
            "type" : "boolean"
          },
          "fixed" : {
            "type" : "boolean"
          }
        },
        "required" : [ "offset", "offset", "standardOffset", "standardOffset", "offsetFromLocal", "millisKeepLocal", "localDateTimeGap", "fixed" ]
      }
    },
    "securitySchemes" : {
      "bearerAuth" : {
        "scheme" : "bearer",
        "type" : "http"
      },
      "apiKey" : {
        "in" : "header",
        "name" : "X-API-KEY",
        "type" : "apiKey"
      }
    }
  },
  "servers" : [ ],
  "security" : [ ]
}