object LoanPaymentDetailsGroup
{
  "type": "object",
  "required": [
    "accountId",
    "groupNumber",
    "groupPaymentNumber",
    "groupPaymentAddress",
    "groupLoanDetail"
  ],
  "properties": {
    "accountId": {
      "$ref": "#/components/schemas/AccountId"
    },
    "groupNumber": {
      "type": "string",
      "example": "3210-Group A",
      "description": "Institution's ID of the Student Loan Group"
    },
    "groupLoanDetail": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LoanPaymentDetailsLoan"
      }
    },
    "groupPaymentNumber": {
      "type": "string",
      "example": "00001234895413-A",
      "description": "The payment number given by the institution. This number is typically for manual payments. This is not an ACH payment number."
    },
    "groupPaymentAddress": {
      "type": "string",
      "example": "P.O. Box 123 Sioux Falls, IA 51054",
      "description": "The payment address to which send manual payments should be sent"
    },
    "groupFuturePayoffDate": {
      "type": "string",
      "format": "date-time",
      "example": "2022-01-01T00:00:00.000Z",
      "description": "The date to which the \"Future Payoff Amount\" applies"
    },
    "groupFuturePayoffAmount": {
      "type": "number",
      "example": 7500,
      "description": "The payoff amount for the group"
    }
  },
  "description": "Group details"
}
object LoanPaymentDetailsLoan
{
  "type": "object",
  "required": [
    "accountId",
    "loanNumber",
    "loanPaymentNumber",
    "loanPaymentAddress"
  ],
  "properties": {
    "accountId": {
      "$ref": "#/components/schemas/AccountId"
    },
    "loanNumber": {
      "type": "string",
      "example": "3210-Group A-1",
      "description": "Institution's ID of the Student Loan"
    },
    "loanPaymentNumber": {
      "type": "string",
      "example": "00001234895413-A-1",
      "description": "The payment number given by the institution. This number is typically for manual payments. This is not an ACH payment number."
    },
    "loanPaymentAddress": {
      "type": "string",
      "example": "P.O. Box 123 Sioux Falls, IA 51054",
      "description": "The payment address to which send manual payments should be sent"
    },
    "loanFuturePayoffDate": {
      "type": "string",
      "format": "date-time",
      "example": "2022-01-01T00:00:00.000Z",
      "description": "The date to which the \"Future Payoff Amount\" applies"
    },
    "loanFuturePayoffAmount": {
      "type": "number",
      "example": 5000,
      "description": "The payoff amount for the loan"
    }
  },
  "description": "Loan details"
}
integer LoanStatusEndDate
{
  "type": "integer",
  "format": "int64",
  "example": 1607450357,
  "description": "(Student Loan) The end date of the current status. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
integer LoanStatusStartDate
{
  "type": "integer",
  "format": "int64",
  "example": 1607450357,
  "description": "(Student Loan) The start date of the current status. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
object MainPayStatementFields
{
  "type": "object",
  "required": [
    "payDate",
    "grossPayAmount"
  ],
  "properties": {
    "endDate": {
      "type": "integer",
      "format": "int64",
      "example": 1607450357,
      "description": "End date for the pay period"
    },
    "payDate": {
      "type": "integer",
      "format": "int64",
      "example": 1607450357,
      "description": "Pay date for the pay period"
    },
    "payType": {
      "type": "string",
      "example": "Hourly",
      "description": "Current pay type:\n\n* `Salary`\n\n* `Hourly`\n\n* `Daily`\n"
    },
    "startDate": {
      "type": "integer",
      "format": "int64",
      "example": 1607450357,
      "description": "Start date for the pay period"
    },
    "netPayAmount": {
      "type": "number",
      "example": 608.77,
      "description": "Net pay amount for a pay period"
    },
    "payFrequency": {
      "type": "string",
      "example": "Weekly",
      "description": "The current pay frequency, or how often a regular pay check is  \ndistributed:\n\n* `Daily`\n\n* `Weekly`\n\n* `Bi-Weekly`\n\n* `Semi-Monthly`\n\n* `Monthly`\n\n* `Quarterly`\n\n* `Semi-Annual`\n\n* `Annual`\n\n* `Every 2.6 wks`\n\n* `Every 4 wks`\n\n* `Every 5.2 wks`\n\n* `Other`\n"
    },
    "grossPayAmount": {
      "type": "number",
      "example": 755.25,
      "description": "Gross pay amount for the pay period"
    },
    "payPeriodHours": {
      "type": "number",
      "example": 39.75,
      "description": "Sum of all hours worked each week for the pay period"
    },
    "netPayAmountYTD": {
      "type": "number",
      "example": 2345.99,
      "description": "Year to date (YTD) net pay amount at the time of payment"
    },
    "grossPayAmountYTD": {
      "type": "number",
      "example": 4256,
      "description": "Year to date (YTD) gross pay amount at the time of payment"
    }
  }
}
string MarketSegment
{
  "type": "string",
  "example": "Mortgage",
  "description": "Use case for requesting the consumer's data. Current supported enumerations are \"Mortgage\" and \"KYC\". If your use case doesn't match one of these please reach out to your technical point of contact."
}
integer MaturityDate
{
  "type": "integer",
  "format": "int64",
  "example": 1607450357,
  "description": "(Checking/Savings/CD/MoneyMarket) Maturity date of account type. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
string MicroDepositCallbackUrl
{
  "type": "string",
  "format": "uri",
  "example": "https://www.mydomain.com/listener",
  "description": "A callback URL where to receive micro deposit notifications"
}
integer MicroDepositCount
{
  "type": "integer",
  "format": "int32",
  "example": 2,
  "description": "Count of micro entries"
}
object MicroDepositDetails
{
  "type": "object",
  "properties": {
    "status": {
      "$ref": "#/components/schemas/MicroDepositStatus"
    },
    "creationDate": {
      "$ref": "#/components/schemas/NoZoneDateTime"
    },
    "routingNumber": {
      "$ref": "#/components/schemas/RoutingNumber"
    },
    "statusDescription": {
      "$ref": "#/components/schemas/MicroDepositStatusDescription"
    },
    "accountNumberLast4": {
      "$ref": "#/components/schemas/AccountNumberLast4"
    }
  }
}
object MicroDepositInitiation
{
  "type": "object",
  "required": [
    "receiver"
  ],
  "properties": {
    "receiver": {
      "$ref": "#/components/schemas/Receiver"
    },
    "callbackUrl": {
      "$ref": "#/components/schemas/MicroDepositCallbackUrl"
    },
    "institutionLoginId": {
      "$ref": "#/components/schemas/InstitutionLoginId"
    }
  }
}
string MicroDepositStatus
{
  "type": "string",
  "example": "Pending",
  "description": "The following values may be returned in the field of a status:\n\n* \"Pending\" : Micro entries not yet deposited to customer's account\n* \"Completed\": Micro entries deposited to customer's account\n* \"Verified\": Micro entries got successfully verified\n* \"Rejected\": Micro entries got rejected due to some reason\n* \"Returned\": Micro entries got returned back\n* \"Failed\": Micro entries got failed due to some reason\n* \"Expired\": Micro entries got expired as they remains unverified for\ncertain defined days"
}
string MicroDepositStatusDescription
{
  "type": "string",
  "example": "Micro entries are in pending status",
  "description": "Micro entries status description"
}
object MicroDepositVerification
{
  "type": "object",
  "required": [
    "amounts"
  ],
  "properties": {
    "amounts": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/DecimalNumber"
      },
      "example": [
        0.12,
        0.15
      ],
      "description": "The list of amounts to be verified"
    }
  },
  "description": "A list of amounts"
}
object MicroDepositVerificationError
{
  "type": "object",
  "properties": {
    "status": {
      "$ref": "#/components/schemas/MicroDepositStatus"
    },
    "statusDescription": {
      "$ref": "#/components/schemas/MicroDepositStatusDescription"
    }
  }
}
object MicroEntryVerifyRequestParameter
{
  "type": "object",
  "properties": {
    "webhook": {
      "$ref": "#/components/schemas/Webhook"
    },
    "accountId": {
      "$ref": "#/components/schemas/AccountId"
    },
    "partnerId": {
      "$ref": "#/components/schemas/PartnerId"
    },
    "customerId": {
      "$ref": "#/components/schemas/CustomerId"
    },
    "experience": {
      "$ref": "#/components/schemas/Experience"
    },
    "redirectUri": {
      "$ref": "#/components/schemas/RedirectUri"
    },
    "webhookData": {
      "$ref": "#/components/schemas/WebhookData"
    },
    "webhookHeaders": {
      "$ref": "#/components/schemas/WebhookHeaders"
    },
    "webhookContentType": {
      "$ref": "#/components/schemas/WebhookContentType"
    }
  }
}
string MiddleName
{
  "type": "string",
  "example": "L",
  "description": "The middle name of the account holder"
}
object MonthlyIncome
{
  "type": "object",
  "required": [
    "estimatedMonthlyTotalPay"
  ],
  "properties": {
    "estimatedMonthlyBasePay": {
      "type": "number",
      "example": 123.45,
      "description": "Mastercard Open Banking estimated monthly base pay amount for the employment"
    },
    "estimatedMonthlyBonusPay": {
      "type": "number",
      "example": 123.45,
      "description": "Mastercard Open Banking estimated monthly bonus pay amount for the employment"
    },
    "estimatedMonthlyOtherPay": {
      "type": "number",
      "example": 123.45,
      "description": "Mastercard Open Banking estimated monthly other pay amount for the employment"
    },
    "estimatedMonthlyTotalPay": {
      "type": "number",
      "example": 123.45,
      "description": "Sum of all Mastercard Open Banking estimated monthly pay amounts"
    },
    "estimatedMonthlyOvertimePay": {
      "type": "number",
      "example": 123.45,
      "description": "Mastercard Open Banking estimated monthly overtime pay amount for the employment"
    },
    "estimatedMonthlyCommissionPay": {
      "type": "number",
      "example": 123.45,
      "description": "Mastercard Open Banking estimated monthly commission pay amount for the employment"
    }
  },
  "description": "Current estimated monthly pay for the employment.\n\nThis is a mandatory field only for VOIE-payroll report type."
}
boolean MoreResultsAvailable
{
  "type": "boolean",
  "example": true,
  "description": "If the value of `moreAvailable` is \"true\", you can retrieve the next page of results by increasing the value of the start parameter in your next request:\"...&start=6&limit=5\""
}
string Name
{
  "type": "string",
  "example": "Super Checking",
  "description": "The account name from the institution"
}
string NameClassificationType
{
  "type": "string",
  "example": "person",
  "description": "The classification of the account holder:\n* \"person / personal / home\"\n* \"business\"\n* \"other\""
}
object NetMonthly
{
  "type": "object",
  "required": [
    "month",
    "net"
  ],
  "properties": {
    "net": {
      "type": "number",
      "example": 2004.77,
      "description": "Total income during the given month, across all income streams"
    },
    "month": {
      "type": "integer",
      "format": "int64",
      "example": 1522562400,
      "description": "Timestamp for the first day of this month"
    }
  }
}
object NewAddress
{
  "type": "object",
  "properties": {
    "city": {
      "$ref": "#/components/schemas/City"
    },
    "state": {
      "$ref": "#/components/schemas/State"
    },
    "country": {
      "$ref": "#/components/schemas/CountryCode"
    },
    "postalCode": {
      "$ref": "#/components/schemas/ZipCode"
    },
    "addressLine1": {
      "$ref": "#/components/schemas/AddressLine1"
    },
    "addressLine2": {
      "$ref": "#/components/schemas/AddressLine2"
    }
  }
}
object NewBusiness
{
  "type": "object",
  "required": [
    "name",
    "personallyLiable",
    "address",
    "phoneNumber"
  ],
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "example": "https://www.finicity.com/",
      "maxLength": 2000,
      "minLength": 0,
      "description": "A URL for the business website"
    },
    "name": {
      "type": "string",
      "example": "ABC Tires Inc",
      "maxLength": 150,
      "minLength": 1,
      "description": "The legal name of the business"
    },
    "type": {
      "type": "string",
      "example": "Nonprofit",
      "maxLength": 150,
      "minLength": 0,
      "description": "The business type eg LLC, Corp, S Corp, C Corp, B Corp, Sole Propriertorship, Nonprofit, etc."
    },
    "email": {
      "$ref": "#/components/schemas/EmailAddress"
    },
    "taxId": {
      "type": "string",
      "example": "A1234561Z",
      "maxLength": 15,
      "minLength": 9,
      "description": "Provide details of the tax id for the business"
    },
    "address": {
      "$ref": "#/components/schemas/NewAddress"
    },
    "phoneNumber": {
      "$ref": "#/components/schemas/PhoneNumberFormat"
    },
    "personallyLiable": {
      "type": "boolean",
      "example": true,
      "description": "Indicates whether a business owner is personally liable for a loan"
    }
  }
}
object NewConsumer
{
  "type": "object",
  "required": [
    "firstName",
    "lastName",
    "address",
    "city",
    "state",
    "zip",
    "phone",
    "ssn",
    "birthday"
  ],
  "properties": {
    "ssn": {
      "$ref": "#/components/schemas/SocialSecurityNumber"
    },
    "zip": {
      "$ref": "#/components/schemas/ZipCode"
    },
    "city": {
      "$ref": "#/components/schemas/City"
    },
    "email": {
      "$ref": "#/components/schemas/EmailAddress"
    },
    "phone": {
      "$ref": "#/components/schemas/PhoneNumber"
    },
    "state": {
      "$ref": "#/components/schemas/State"
    },
    "suffix": {
      "$ref": "#/components/schemas/Suffix"
    },
    "address": {
      "$ref": "#/components/schemas/Address"
    },
    "birthday": {
      "$ref": "#/components/schemas/Birthday"
    },
    "lastName": {
      "$ref": "#/components/schemas/LastName"
    },
    "firstName": {
      "$ref": "#/components/schemas/FirstName"
    }
  },
  "description": "A new consumer to be created"
}
object NewCustomer
{
  "type": "object",
  "required": [
    "username"
  ],
  "properties": {
    "email": {
      "$ref": "#/components/schemas/EmailAddress"
    },
    "phone": {
      "$ref": "#/components/schemas/PhoneNumber"
    },
    "lastName": {
      "$ref": "#/components/schemas/LastName"
    },
    "username": {
      "$ref": "#/components/schemas/CustomerUsername"
    },
    "firstName": {
      "$ref": "#/components/schemas/FirstName"
    },
    "applicationId": {
      "$ref": "#/components/schemas/ApplicationId"
    }
  },
  "description": "A new customer to be enrolled"
}
string NewPhoneNumber
{
  "type": "string",
  "example": "8042221111",
  "maxLength": 12,
  "description": "A phone number ([E.164](https://en.wikipedia.org/wiki/E.164) format) minLength: 7"
}
integer NextPaymentDate
{
  "type": "integer",
  "format": "int64",
  "example": 1607450357,
  "description": "(Mortgage/Loan) Due date for the next payment. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
string NoZoneDateTime
{
  "type": "string",
  "example": "2022-04-12T11:51:23",
  "description": "A date-time without time zone"
}
integer NumericAccountId
{
  "type": "integer",
  "format": "int64",
  "example": 5011648377,
  "description": "An account ID represented as a number"
}
integer NumericCustomerId
{
  "type": "integer",
  "format": "int64",
  "example": 1005061234,
  "description": "A customer ID represented as a number. See Add Customer API for how to create a customer ID."
}
integer NumericInstitutionId
{
  "type": "integer",
  "format": "int64",
  "example": 4222,
  "description": "The ID of a financial institution, represented as a number"
}
integer NumericInstitutionLoginId
{
  "type": "integer",
  "format": "int64",
  "example": 1007302745,
  "description": "An institution login ID (from the account record), represented as a number"
}
integer NumericPreAppId
{
  "type": "integer",
  "format": "int64",
  "example": 2581,
  "description": "Identifier to track the application registration from the App Registration and Get App Registration Status APIs, represented as a number"
}
object ObbAccountDetails
{
  "type": "object",
  "required": [
    "id",
    "institution",
    "accountOwner"
  ],
  "properties": {
    "id": {
      "$ref": "#/components/schemas/NumericAccountId"
    },
    "name": {
      "type": "string",
      "example": "Super Checking",
      "maxLength": 50,
      "minLength": 0,
      "description": "The account name from the institution"
    },
    "type": {
      "type": "string",
      "example": "checking",
      "maxLength": 50,
      "minLength": 0,
      "description": "Account type, e.g. checking/saving"
    },
    "status": {
      "type": "string",
      "example": "active",
      "maxLength": 50,
      "minLength": 0,
      "description": "pending during account discovery, always active following successful account activation"
    },
    "currency": {
      "type": "string",
      "example": "USD",
      "maxLength": 5,
      "minLength": 0,
      "description": "The currency of the account"
    },
    "institution": {
      "$ref": "#/components/schemas/ObbInstitution"
    },
    "accountOwner": {
      "$ref": "#/components/schemas/ObbAccountOwner"
    },
    "currentBalance": {
      "type": "number",
      "example": 2239.22,
      "description": "Current reported balance of the account"
    },
    "institutionLoginId": {
      "$ref": "#/components/schemas/NumericInstitutionLoginId"
    },
    "accountNumberDisplay": {
      "type": "string",
      "example": "8888",
      "maxLength": 50,
      "minLength": 0,
      "description": "The account number from a financial institution in truncated format"
    },
    "aggregationStatusCode": {
      "type": "integer",
      "example": 0,
      "description": "The status of the most recent aggregation attempt. This will not be present until you have run your first aggregation for the account"
    },
    "aggregationAttemptDate": {
      "type": "string",
      "example": "2022-03-30T14:47:19-07:00",
      "maxLength": 25,
      "minLength": 25,
      "description": "A timestamp showing the last aggregation attempt. This will not be present until you have run your first aggregation for the account."
    },
    "aggregationSuccessDate": {
      "type": "string",
      "example": "2022-03-30T14:47:19-07:00",
      "maxLength": 25,
      "minLength": 25,
      "description": "A timestamp showing the last successful aggregation of the account. This will not be present until you have run your first aggregation for the account."
    },
    "realAccountNumberLast4": {
      "type": "integer",
      "example": 5678,
      "description": "The last 4 digits of the ACH account number"
    }
  },
  "description": "Details of the account and financial institution"
}
object ObbAccountOwner
{
  "type": "object",
  "required": [
    "name",
    "address"
  ],
  "properties": {
    "name": {
      "type": "string",
      "example": "Johnny Appleseed",
      "maxLength": 255,
      "minLength": 0,
      "description": "Name of the owner on record for the account"
    },
    "address": {
      "type": "string",
      "example": "123 Main St, Portland, OR 12345",
      "maxLength": 255,
      "minLength": 0,
      "description": "Address of the owner on record for the account"
    }
  },
  "description": "Who is on record as the owner of the account. May be the business name, the business owner name, or otherwise."
}
object ObbAnalyticsReport
{
  "allOf": [
    {
      "$ref": "#/components/schemas/CashFlowAnalyticsReport"
    },
    {
      "$ref": "#/components/schemas/BalanceAnalyticsReport"
    },
    {
      "$ref": "#/components/schemas/PaymentHistoryReport"
    }
  ],
  "description": "Cash Flow Analytics, Balance Analytics, and Payment History report data as JSON"
}
object ObbAnalyticsReportAck
{
  "type": "object",
  "required": [
    "reportId",
    "reportPin",
    "customerId",
    "accountIds",
    "title",
    "createdDate"
  ],
  "properties": {
    "title": {
      "$ref": "#/components/schemas/ReportTitle"
    },
    "reportId": {
      "$ref": "#/components/schemas/ReportId"
    },
    "reportPin": {
      "type": "string",
      "example": "qert",
      "maxLength": 50,
      "minLength": 0,
      "description": "PIN that may be used to access the report"
    },
    "accountIds": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/NumericAccountId"
      },
      "description": "List of account IDs included in the report"
    },
    "businessId": {
      "type": "integer",
      "example": 1005061234,
      "description": "Business ID associated with the requested customer"
    },
    "customerId": {
      "$ref": "#/components/schemas/NumericCustomerId"
    },
    "createdDate": {
      "type": "string",
      "example": "2023-05-17T06:48:22-07:00",
      "maxLength": 25,
      "minLength": 25,
      "description": "Created date of balance analytics request"
    },
    "requesterName": {
      "type": "string",
      "example": "Mortgage ABC LLC",
      "maxLength": 255,
      "minLength": 0,
      "description": "Name of requester"
    }
  },
  "description": "Response given when analytics were generated successfully, providing the caller with a report ID which can be used to retrieve the report as JSON or a PDF."
}
object ObbAverageWeeklyBalance
{
  "type": "object",
  "required": [
    "week",
    "fromDate",
    "toDate",
    "amount"
  ],
  "properties": {
    "week": {
      "type": "integer",
      "example": 1,
      "description": "Week number, where the first week of each year begins on January 1st and ends on January 7th. May be in the range [1, 53]"
    },
    "amount": {
      "type": "number",
      "example": 679.07,
      "description": "Average daily ending balance during the week"
    },
    "toDate": {
      "type": "string",
      "example": "2020-01-07",
      "maxLength": 10,
      "minLength": 10,
      "description": "End date of the week"
    },
    "fromDate": {
      "type": "string",
      "example": "2020-01-01",
      "maxLength": 10,
      "minLength": 10,
      "description": "Begin date of the week"
    }
  }
}
object ObbCurrentReportRequestDetails
{
  "type": "object",
  "required": [
    "reportRequestDate",
    "requestedDaysForReport",
    "requestedReportBeginDate"
  ],
  "properties": {
    "reportEndDate": {
      "type": "string",
      "example": "2022-03-30",
      "maxLength": 10,
      "minLength": 10,
      "description": "Date to which the requested data is available"
    },
    "reportBeginDate": {
      "type": "string",
      "example": "2022-03-01",
      "maxLength": 10,
      "minLength": 10,
      "description": "Date from when the requested data is available"
    },
    "reportRequestDate": {
      "type": "string",
      "example": "2022-03-30T14:47:19-07:00",
      "maxLength": 25,
      "minLength": 25,
      "description": "The date and time the report was requested"
    },
    "requestedDaysForReport": {
      "type": "integer",
      "example": 90,
      "description": "Number of days requested for the report"
    },
    "requestedReportBeginDate": {
      "type": "string",
      "example": "2022-01-01",
      "maxLength": 10,
      "minLength": 10,
      "description": "Date the report would have begun on if enough data was available for which the partner requested"
    }
  },
  "description": "Requested attributes of the report"
}
object ObbDailyBalance
{
  "type": "object",
  "required": [
    "date",
    "endingBalance",
    "dayOfWeek"
  ],
  "properties": {
    "date": {
      "type": "string",
      "example": "2021-10-11",
      "maxLength": 10,
      "minLength": 10,
      "description": "Date of balance information"
    },
    "dayOfWeek": {
      "type": "string",
      "example": "Monday",
      "maxLength": 9,
      "minLength": 6,
      "description": "Day of the week for which balance information available"
    },
    "endingBalance": {
      "type": "number",
      "example": 21527.3,
      "description": "End of day balance"
    }
  }
}
object ObbDataAvailability
{
  "type": "object",
  "required": [
    "historicAvailableDays",
    "historicDataAvailability"
  ],
  "properties": {
    "historicAvailableDays": {
      "type": "integer",
      "example": 30,
      "description": "Days for which transaction details are available"
    },
    "historicDataAvailability": {
      "type": "string",
      "example": "Data is available from 2022-03-01 to 2022-03-30",
      "maxLength": 255,
      "minLength": 0,
      "description": "Description of historic data availability"
    },
    "historicAvailabilityEndDate": {
      "type": "string",
      "example": "2022-03-30",
      "maxLength": 10,
      "minLength": 10,
      "description": "End date for data availability"
    },
    "historicAvailabilityBeginDate": {
      "type": "string",
      "example": "2022-03-01",
      "maxLength": 10,
      "minLength": 10,
      "description": "Begin date for data availability"
    }
  },
  "description": "Availability of historical data at the time the report was requested"
}
object ObbDateRangeAndAmount
{
  "type": "object",
  "required": [
    "period",
    "periodBeginDate",
    "periodEndDate"
  ],
  "properties": {
    "amount": {
      "type": "number",
      "example": 890.99,
      "description": "Metric value for the given period"
    },
    "period": {
      "type": "string",
      "example": "last30to1",
      "maxLength": 12,
      "minLength": 8,
      "description": "Period represented by this metric"
    },
    "periodEndDate": {
      "type": "string",
      "example": "2022-03-30",
      "maxLength": 10,
      "minLength": 10,
      "description": "End date of the period being reported"
    },
    "periodBeginDate": {
      "type": "string",
      "example": "2022-03-01",
      "maxLength": 10,
      "minLength": 10,
      "description": "Begin date of the period being reported"
    }
  }
}
object ObbDateRangeAndCount
{
  "type": "object",
  "required": [
    "period",
    "periodBeginDate",
    "periodEndDate",
    "count"
  ],
  "properties": {
    "count": {
      "type": "integer",
      "example": 5,
      "description": "Count of occurrences for the given period"
    },
    "period": {
      "type": "string",
      "example": "last30to1",
      "maxLength": 12,
      "minLength": 8,
      "description": "Period represented by this metric"
    },
    "periodEndDate": {
      "type": "string",
      "example": "2022-03-30",
      "maxLength": 10,
      "minLength": 10,
      "description": "End date of the period being reported"
    },
    "periodBeginDate": {
      "type": "string",
      "example": "2022-03-01",
      "maxLength": 10,
      "minLength": 10,
      "description": "Begin date of the period being reported"
    }
  }
}
object ObbErrorMessage
{
  "type": "object",
  "required": [
    "errorCode",
    "message"
  ],
  "properties": {
    "message": {
      "type": "string",
      "example": "Customer Id does not exist",
      "maxLength": 255,
      "minLength": 0,
      "description": "Detailed reason about the source of the error"
    },
    "errorCode": {
      "type": "integer",
      "example": 404,
      "description": "Error code"
    }
  },
  "description": "OBB Error response message"
}
object ObbInstitution
{
  "type": "object",
  "required": [
    "institutionId"
  ],
  "properties": {
    "institutionId": {
      "type": "integer",
      "example": 12345,
      "description": "ID of the financial institution"
    },
    "institutionName": {
      "type": "string",
      "example": "Wells Fargo",
      "maxLength": 255,
      "minLength": 0,
      "description": "Name of the financial institution"
    },
    "institutionIconUrl": {
      "type": "string",
      "example": "https://prod-carpintero-branding.s3.us-west-2.amazonaws.com/101732/icon.svg",
      "maxLength": 255,
      "minLength": 0,
      "description": "URL of the institution logo icon for reporting"
    },
    "institutionPrimaryColor": {
      "type": "string",
      "example": "#1B3E4A",
      "maxLength": 7,
      "minLength": 7,
      "description": "Primary branding color of the institution, in hex color format"
    }
  },
  "description": "Details of the financial institution this account is home to"
}
object ObbNumWeeksAverageBalanceIncreasing
{
  "type": "object",
  "required": [
    "historicNumberOfWeeksAverageBalanceIncreasing",
    "historicNumberOfWeeksWithDataAvailable",
    "historicAverageWeeklyBalances"
  ],
  "properties": {
    "historicAverageWeeklyBalances": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ObbAverageWeeklyBalance"
      },
      "description": "Average weekly balances over the known history"
    },
    "historicNumberOfWeeksWithDataAvailable": {
      "type": "integer",
      "example": 4,
      "description": "Number of weeks during the history in which data was available"
    },
    "historicNumberOfWeeksAverageBalanceIncreasing": {
      "type": "integer",
      "example": 3,
      "description": "Number of weeks during the known history where the average balance of the account increased week over week"
    }
  },
  "description": "Report of average account balance week over week and count of weeks where the average balance increased"
}
object ObbReportHeader
{
  "type": "object",
  "required": [
    "reportId",
    "reportDate"
  ],
  "properties": {
    "reportId": {
      "type": "string",
      "example": "8ff8b4b2-706f-45c3-8d66-857bdb516214",
      "maxLength": 255,
      "minLength": 0,
      "description": "Generated unique report ID"
    },
    "reportDate": {
      "type": "string",
      "example": "2022-03-16T21:28:38-07:00",
      "maxLength": 25,
      "minLength": 25,
      "description": "Date the report was requested"
    },
    "businessZip": {
      "type": "string",
      "example": "12345",
      "maxLength": 255,
      "minLength": 0,
      "description": "Business address zip"
    },
    "businessCity": {
      "type": "string",
      "example": "Portland",
      "maxLength": 255,
      "minLength": 0,
      "description": "Business address city"
    },
    "businessName": {
      "type": "string",
      "example": "B&G Construction",
      "maxLength": 255,
      "minLength": 0,
      "description": "Name of the business"
    },
    "businessState": {
      "type": "string",
      "example": "OR",
      "maxLength": 255,
      "minLength": 0,
      "description": "Business address state"
    },
    "businessAddress": {
      "type": "string",
      "example": "123 Main St",
      "maxLength": 255,
      "minLength": 0,
      "description": "Business address line 1"
    },
    "referenceNumber": {
      "type": "string",
      "example": "32asdfaasd0823",
      "maxLength": 255,
      "minLength": 0,
      "description": "Partner-provided reference number"
    }
  },
  "description": "Details about the business the report is generated for and metadata about the report"
}
object ObbWeekOfYear
{
  "type": "object",
  "required": [
    "week",
    "fromDate",
    "toDate"
  ],
  "properties": {
    "week": {
      "type": "integer",
      "example": 1,
      "description": "Week number, where the first week of each year begins on January 1st and ends on January 7th. May be in the range [1, 53]"
    },
    "toDate": {
      "type": "string",
      "example": "2020-01-07",
      "maxLength": 10,
      "minLength": 10,
      "description": "End date of the week"
    },
    "fromDate": {
      "type": "string",
      "example": "2020-01-01",
      "maxLength": 10,
      "minLength": 10,
      "description": "Begin date of the week"
    }
  }
}
integer OpenDate
{
  "type": "integer",
  "format": "int64",
  "example": 1607450357,
  "description": "(Checking/Savings/CD/MoneyMarket) Date when account was opened. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
Load more schemas