{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://api.mx.com/schemas/mx-platform-api", "title": "MX Platform API Schemas", "description": "JSON Schema definitions for key MX Platform API objects (account, transaction, member, user, institution)", "definitions": { "AccountResponse": { "properties": { "account_number": { "description": "The account number associated with the account. This will typically be a masked or partial account number.", "example": "3331261", "type": "string", "nullable": true }, "account_ownership": { "description": "The type of ownership associated with the account. `NULL` is returned if not received in the data feed.", "example": "INDIVIDUAL", "nullable": true, "type": "string", "enum": [ "UNKNOWN", "INDIVIDUAL", "JOINT", "MULTIPLE", null ] }, "annuity_policy_to_date": { "description": "The date until which the policy is in effect.", "example": "2025-12-31", "nullable": true, "type": "string" }, "annuity_provider": { "description": "The provider of the insurance policy.", "example": "Metlife", "nullable": true, "type": "string" }, "annuity_term_year": { "description": "The effective duration of an insurance policy (one year, five years, etc.).", "example": 30, "nullable": true, "type": "integer" }, "apr": { "description": "The annual percentage rate associated with the `account`.", "example": 1, "nullable": true, "type": "number" }, "apy": { "description": "The annual percentage yield associated with the `account`.", "example": 2.35, "nullable": true, "type": "number" }, "available_balance": { "description": "The balance that is available for use in asset accounts like checking and savings.\n\n`PENDING` transactions are typically (not always) taken into account with the available balance.\n\n`available_balance` will usually be a positive value for all account types, determined in the same way as the balance field.\n", "example": 1000, "type": "number", "nullable": true }, "available_credit": { "description": "The amount of credit available for use in liability accounts like credit cards and lines of credit.\n\n`PENDING` transactions are typically (not always) taken into account with available credit.\n\n`available_credit` will usually be a positive value for all account types, determined in the same way as the `balance` field.\n", "example": 4000, "nullable": true, "type": "number" }, "balance": { "description": "The current balance of the account.\n\n`PENDING` transactions are typically not taken into account with the current balance, but this may not always be the case.\n \nThe balance will usually be a positive value for all account types. Asset-type accounts (`CHECKING`, `SAVINGS`, `INVESTMENT`) may have a negative balance if they are in overdraft.\n\nDebt-type accounts (`CREDIT_CARD`, `LOAN`, `LINE_OF_CREDIT`, `MORTGAGE`) may have a negative balance if they are overpaid.\n", "example": 1000, "type": "number", "nullable": true }, "cash_balance": { "description": "The cash balance of the `account`.", "example": 2500, "nullable": true, "type": "number" }, "cash_surrender_value": { "description": "The sum of money paid to the policyholder or annuity holder in the event the policy is voluntarily terminated before it matures, or the insured event occurs.", "example": 1000, "type": "number", "nullable": true }, "created_at": { "description": "The date and time the account was created, represented in ISO 8601 format with a timestamp.", "example": "2025-02-13T18:08:00+00:00", "nullable": false, "type": "string" }, "credit_limit": { "description": "The credit limit associated with the `account`.", "example": 5000, "nullable": true, "type": "number" }, "currency_code": { "description": "The three-character ISO 4217 currency code, for example, `USD`.", "example": "USD", "nullable": true, "type": "string" }, "day_payment_is_due": { "description": "The day of the month the payment is due. For example, the 14th is passed as `14`.", "example": 14, "nullable": true, "type": "integer" }, "death_benefit": { "description": "The amount paid to the beneficiary of the account upon death of the account owner.", "example": 1000, "nullable": true, "type": "integer" }, "federal_insurance_status": { "description": "The federal insurance status of the account. Indicates whether the account is insured by the FDIC (banks) or NCUA (credit unions).\n\nReturns an integer (`UNKNOWN_INSURED` = 0, `INSURED` = 1, `NOT_INSURED` = 2).\n", "example": "INSURED", "nullable": true, "type": "string", "enum": [ "UNKNOWN_INSURED", "INSURED", "NOT_INSURED" ] }, "guid": { "description": "Unique identifier for the account. Defined by MX.", "example": "ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1", "nullable": true, "type": "string" }, "id": { "description": "The unique partner-defined identifier for the account.", "example": "1040434698", "nullable": true, "type": "string" }, "imported_at": { "description": "The date and time at which the `account` was last successfully aggregated and received data.", "example": "2015-10-13T17:57:37.000Z", "nullable": true, "type": "string" }, "interest_rate": { "description": "The interest rate associated with the account.", "example": 3.25, "nullable": true, "type": "number" }, "institution_code": { "description": "The code identifying a financial institution.", "example": "3af3685e-05d9-7060-359f-008d0755e993", "nullable": true, "type": "string" }, "insured_name": { "description": "The name of the insured person.", "example": "Tommy Shelby", "nullable": true, "type": "string" }, "is_closed": { "description": "Indicates whether an account has been closed. Closed accounts will no longer update balance or transaction information.", "example": false, "type": "boolean" }, "is_hidden": { "description": "Indicates whether the account is hidden. Hidden accounts can still have an active balance and receive transactions. Defaults to `false`.", "example": false, "nullable": true, "type": "boolean" }, "is_manual": { "description": "Indicates whether the transaction was manually created or belongs to a manual account.", "example": false, "nullable": true, "type": "boolean" }, "last_payment": { "description": "The amount of the most recent payment on the `account`.", "example": 100, "nullable": true, "type": "number" }, "last_payment_at": { "description": "The date and time when the last payment was made, represented in ISO 8601 format with a timestamp.", "example": "2023-07-25T17:14:46Z", "nullable": true, "type": "string" }, "loan_amount": { "description": "The amount of the loan associated with the `account`.", "example": 1000, "nullable": true, "type": "number" }, "margin_balance": { "description": "Represents the amount of debt the investor owes to the broker for the use of margin. It can be positive or negative, depending on the performance of the investments made with the borrowed funds. A positive margin balance indicates that the securities purchased on margin have increased in value, whereas a negative margin balance signifies that the securities have decreased in value.", "example": 1000, "nullable": true, "type": "number" }, "matures_on": { "description": "The date on which the `account` matures.", "example": "2015-10-13T17:57:37.000Z", "nullable": true, "type": "string" }, "member_guid": { "description": "The unique identifier for the member. Defined by MX.", "example": "MBR-7c6f361b-e582-15b6-60c0-358f12466b4b", "nullable": true, "type": "string" }, "member_id": { "description": "The unique, partner-defined, identifier for the member associated with this `account`.", "example": "member123", "nullable": true, "type": "string" }, "member_is_managed_by_user": { "description": "This indicates whether the member is managed by the user or the MX partner. Members created with the managed member feature will have this field set to `false`.", "example": false, "nullable": true, "type": "boolean" }, "metadata": { "description": "Additional information you stored about the `account`.", "example": "some metadata", "nullable": true, "type": "string" }, "minimum_balance": { "description": "The minimum balance associated with the `account`.", "example": 100, "nullable": true, "type": "number" }, "minimum_payment": { "description": "The minimum payment required for an account. This can apply to any debt account.", "example": 10, "nullable": true, "type": "number" }, "name": { "description": "The human-readable name for the resource.", "example": "Test account 2", "nullable": true, "type": "string" }, "nickname": { "description": "An alternate name for the `account`.", "example": "My Checking", "nullable": true, "type": "string" }, "original_balance": { "description": "The original balance associated with the `account`. This will always be positive.", "example": 10, "nullable": true, "type": "number" }, "pay_out_amount": { "description": "The amount paid out to the insured individual or beneficiary under the conditions of the insurance policy.", "example": 10, "nullable": true, "type": "number" }, "payment_due_at": { "description": "The date and time at which the next payment is due on the `account`.", "example": "2015-10-13T17:57:37.000Z", "nullable": true, "type": "string" }, "payoff_balance": { "description": "The payoff balance for a debt `account`. This will normally be a positive number.", "example": 10, "nullable": true, "type": "number" }, "premium_amount": { "description": "The insurance policy's premium amount.", "example": 1, "nullable": true, "type": "number" }, "property_type": { "description": "Subtype if the account type is `PROPERTY`. This field should be ignored unless the type is set to PROPERTY.", "example": "VEHICLE", "nullable": true, "type": "string", "enum": [ "APPLIANCES", "ART", "COMPUTER", "ELECTRONICS", "FURNITURE", "JEWELRY", "MISCELLANEOUS", "REAL_ESTATE", "SPORTS_EQUIPMENT", "VEHICLE" ] }, "routing_number": { "description": "The routing number for the `account`.", "example": "68899990000000", "nullable": true, "type": "string" }, "started_on": { "description": "The date on which the loan from a debt account started.", "example": "2025-10-13T17:57:37.000Z", "nullable": true, "type": "string" }, "statement_balance": { "description": "The balance at the end of the account's last statement period.", "example": 1000.5, "nullable": true, "type": "number" }, "subtype": { "description": "The account's subtype, for example, `PLAN_401_K`, `MONEY_MARKET`, or `HOME_EQUITY`. Each subtype belongs to an account `type`. For a full list of account subtypes and types, see [Accounts](/api-reference/platform-api/reference/accounts).", "example": "MONEY_MARKET", "nullable": true, "type": "string" }, "today_ugl_amount": { "description": "The unrealized gain/loss amount for the day for the account.", "example": 1000.5, "nullable": true, "type": "number" }, "today_ugl_percentage": { "description": "The unrealized gain/loss percentage for the date for the account.", "example": 6.9, "nullable": true, "type": "number" }, "total_account_value": { "description": "The sum of the long and short positions, the sweep account and/or cash balance, and any margin debt associated with a particular account. This amount includes the market value of all positions held in the account and is reduced by any debit balance and the amount of short options positions that are \"in the money\". This may sum to a negative value, and it does not represent an account balance.", "example": 1, "nullable": true, "type": "number" }, "total_account_value_ugl": { "description": "The unrealized gains and losses represent the amount the account has gained or lost based on the purchase price. This is calculated by subtracting the purchase price from the current market value. It does not affect the account until the positions are sold and \"realized\". This may sum to a negative value, and it does not represent an account balance.", "example": 1, "nullable": true, "type": "number" }, "type": { "description": "The type of account. Some account types may include subtypes.", "example": "CHECKING", "nullable": true, "type": "string", "enum": [ "ANY", "CASH", "CHECKING", "CHECKING_LINE_OF_CREDIT", "CREDIT_CARD", "LOAN", "LINE_OF_CREDIT", "SAVINGS", "INVESTMENT", "MORTGAGE", "INSURANCE", "PREPAID", "PROPERTY" ] }, "updated_at": { "description": "The date and time the resource was last updated in ISO 8601 format with a timestamp.\n\nFor categories, this field will always be `null` when `is_default` is `true`.\n", "example": "2025-02-13T18:09:00+00:00", "nullable": true, "type": "string" }, "user_guid": { "description": "The unique identifier for the user. Defined by MX.", "example": "USR-fa7537f3-48aa-a683-a02a-b18940482f54", "nullable": true, "type": "string" }, "user_id": { "description": "The unique partner-defined identifier for the user.", "example": "u-1234", "nullable": true, "type": "string" } }, "type": "object" }, "TransactionResponse": { "properties": { "account_guid": { "description": "The unique identifier for an account. Defined by MX.", "example": "ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1", "nullable": false, "type": "string" }, "account_id": { "description": "The unique client-defined identifier for the account.", "example": "account123", "nullable": true, "type": "string" }, "amount": { "description": "The monetary amount of the `transaction`.", "example": 61.11, "nullable": true, "type": "number" }, "category": { "description": "The category of the `transaction`.", "example": "Paycheck", "nullable": true, "type": "string" }, "category_guid": { "description": "The unique identifier for the category. Defined by MX.", "example": "CAT-b6d61a19-30a7-e852-2703-bdfb4072289e", "nullable": true, "type": "string" }, "check_number_string": { "description": "The check number for the `transaction`.", "example": null, "nullable": true, "type": "string" }, "created_at": { "description": "The date and time the transaction was created, represented in ISO 8601 format with a timestamp.", "example": "2025-02-13T18:08:00+00:00", "nullable": true, "type": "string" }, "currency_code": { "description": "The three-character ISO 4217 currency code, for example, `USD`.", "example": "USD", "nullable": true, "type": "string" }, "date": { "description": "The date on which the transaction took place. This is the field used when searching for transactions by date and is generally the same as `transacted_at`, but uses `posted_at` as a fallback.", "example": "2024-12-20", "nullable": true, "type": "string" }, "description": { "description": "A human-readable description of the transaction.", "example": "MX Technologies Payroll", "nullable": true, "type": "string" }, "extended_transaction_type": { "description": "The transaction type assigned by the partner.", "example": null, "nullable": true, "type": "string" }, "guid": { "description": "The unique identifier for the transaction. Defined by MX.", "example": "TRN-429ad9fe-a1d2-4559-8590-885b2603f0e1", "nullable": true, "type": "string" }, "id": { "description": "The unique partner-defined identifier for the transaction.", "example": "1734681600000-178fa8095c154a55b9172f977b4c5f9a-0", "nullable": true, "type": "string" }, "is_bill_pay": { "description": "Indicates whether the transaction is a bill payment.", "example": false, "nullable": true, "type": "boolean" }, "is_direct_deposit": { "description": "Indicates whether the transaction is a direct deposit.", "example": false, "nullable": true, "type": "boolean" }, "is_expense": { "description": "Indicates whether the transaction is an expense.", "example": false, "nullable": true, "type": "boolean" }, "is_fee": { "description": "Indicates whether the transaction is a fee.", "example": false, "nullable": true, "type": "boolean" }, "is_income": { "description": "Indicates whether the transaction is income.", "example": true, "nullable": true, "type": "boolean" }, "is_international": { "description": "Indicates whether the transaction is international. If the data provider determines it isn't international then it will be `false`. It will be `null` if the data provider does not have this information.", "example": false, "type": "boolean" }, "is_manual": { "description": "Indicates whether the transaction was manually created or belongs to a manual account.", "example": false, "nullable": true, "type": "boolean" }, "is_overdraft_fee": { "description": "Indicates whether the transaction is an overdraft fee.", "example": false, "nullable": true, "type": "boolean" }, "is_payroll_advance": { "description": "Indicates whether the transaction is a payroll advance.", "example": false, "nullable": true, "type": "boolean" }, "is_recurring": { "description": "Deprecated. If required, reach out to MX to discuss an alternative.", "example": null, "nullable": true, "type": "boolean" }, "is_subscription": { "description": "Indicates whether the transaction is a subscription payment.", "example": false, "nullable": true, "type": "boolean" }, "latitude": { "description": "The latitude of the location where the transaction occurred. The number is a signed decimal (for example, Rio de Janeiro's latitude is -22.9027800 and Tokyo's latitude is 35.689488).", "example": null, "nullable": true, "type": "number" }, "localized_description": { "description": "A human-readable description of the transaction, provided in a local language.", "example": "This is a localized_description", "nullable": true, "type": "string" }, "localized_memo": { "description": "Additional descriptive information about the transaction, provided in a local language.", "example": "This is a localized_memo", "nullable": true, "type": "string" }, "longitude": { "description": "The longitude of the location where the transaction occurred. The number is a signed decimal (for example, Rio de Janeiro's longitude is -43.2075000 and Tokyo's longitude is 139.691706).", "example": null, "nullable": true, "type": "number" }, "member_guid": { "description": "The unique identifier for the member. Defined by MX.", "example": "MBR-7c6f361b-e582-15b6-60c0-358f12466b4b", "nullable": true, "type": "string" }, "member_is_managed_by_user": { "description": "This indicates whether the member is managed by the user or the MX partner. Members created with the managed member feature will have this field set to `false`.", "example": true, "nullable": true, "type": "boolean" }, "memo": { "description": "Additional information about the transaction.", "example": "Transactions", "nullable": true, "type": "string" }, "merchant_category_code": { "description": "The ISO 18245 category code for the transaction.", "example": null, "nullable": true, "type": "integer" }, "merchant_guid": { "description": "The unique identifier for the merchant. Defined by MX.", "example": "MCH-8cc3b01a-1c52-47d4-970d-30f8ee5566f1", "nullable": true, "type": "string" }, "merchant_location_guid": { "description": "The unique identifier for the merchant location. Defined by MX.", "example": null, "nullable": true, "type": "string" }, "metadata": { "description": "Additional information you stored about the `transaction`.", "example": "some metadata", "nullable": true, "type": "string" }, "original_description": { "description": "The original description of the transaction as provided by our data feed.", "example": "MX TECHNOLOGIES PAYMENT", "nullable": true, "type": "string" }, "posted_at": { "description": "The date and time the transaction was posted to the account.", "example": "2024-12-20T12:00:00Z", "nullable": true, "type": "string" }, "status": { "description": "The status of the transaction.\n\nAll transaction data on our systems represent what we get through our data feed which depends what institutions make available for aggregation. Many institutions do not provide data for pending transactions; transactions from those accounts always have a status of `POSTED`.\n\nWhen we do receive data for pending transactions, a single transaction may be updated from `PENDING` to `POSTED` and keep the same `guid`. This is done through various matching methods performed automatically by MX.\n\nIf a single transaction can't be updated, the `PENDING` transaction will often be deleted and replaced with a new `POSTED` transaction (with a new `guid`) when it is sent to us; this is the most common scenario when pending data is available.\n\nIn unusual circumstances, there may be separate `PENDING` and `POSTED` transactions on MX systems for up to 14 days. All `PENDING` transactions are deleted after 14 days as a failsafe.\n", "example": "POSTED", "type": "string", "nullable": true, "enum": [ "POSTED", "PENDING" ] }, "top_level_category": { "description": "The parent category assigned to this transaction's category.", "example": "Income", "nullable": true, "type": "string" }, "transacted_at": { "description": "The date and time the transaction took place.", "example": "2024-12-20T12:00:00Z", "nullable": true, "type": "string" }, "type": { "description": "The type of transaction.", "example": "CREDIT", "nullable": true, "type": "string", "enum": [ "CREDIT", "DEBIT" ] }, "updated_at": { "description": "The date and time the resource was last updated in ISO 8601 format with a timestamp.\n\nFor categories, this field will always be `null` when `is_default` is `true`.\n", "example": "2025-02-13T18:09:00+00:00", "nullable": true, "type": "string" }, "user_guid": { "description": "The unique identifier for the user. Defined by MX.", "example": "USR-fa7537f3-48aa-a683-a02a-b18940482f54", "nullable": true, "type": "string" }, "user_id": { "description": "The unique partner-defined identifier for the user.", "example": "u-1234", "nullable": true, "type": "string" } }, "type": "object" }, "MemberResponse": { "properties": { "aggregated_at": { "description": "The date and time the most recent aggregation-type job was started, given in ISO 8601 format with a time component.\n\nA job will automatically be started when a member is created or its credentials are updated, unless the `skip_aggregation` parameter is used.\n\nJobs can also be started via manual aggregations, background aggregations, API endpoints, or when opening an MX widget.\n\nA job can be a normal aggregation, or a premium job such as identification, verification, fetching statements, or fetching an extended transaction history.\n\nIf a member is deleted and then re-created with the `skip_aggregation` parameter set to `true` or if it is re-created within the throttle window (typically three hours), the previous value will be returned.\n", "example": "2016-10-13T18:07:57.000Z", "nullable": true, "type": "string" }, "background_aggregation_is_disabled": { "description": "Indicates whether background aggregation is disabled for the `member`.", "example": false, "type": "boolean" }, "connection_status": { "description": "The status of a user's connection to an institution. See [Member Connection Status](/api-reference/platform-api/reference/member-connection-statuses).", "example": "CONNECTED", "nullable": true, "type": "string", "enum": [ null, "CREATED", "PREVENTED", "DENIED", "CHALLENGED", "REJECTED", "LOCKED", "CONNECTED", "IMPEDED", "RECONNECTED", "DEGRADED", "DISCONNECTED", "DISCONTINUED", "CLOSED", "DELAYED", "FAILED", "UPDATED", "DISABLED", "IMPORTED", "RESUMED", "EXPIRED", "IMPAIRED", "PENDING" ] }, "connection_status_message": { "description": "A human-readable message describing the connection status. See [Member Connection Status](/api-reference/platform-api/reference/member-connection-statuses).", "example": "Connected to MX Bank", "nullable": true, "type": "string" }, "guid": { "description": "The unique identifier for the member. Defined by MX.", "example": "MBR-7c6f361b-e582-15b6-60c0-358f12466b4b", "nullable": true, "type": "string" }, "id": { "description": "The unique partner-defined identifier for the member.", "example": "unique_id", "nullable": true, "type": "string" }, "institution_code": { "description": "The code identifying a financial institution.", "example": "mxbank", "nullable": true, "type": "string" }, "institution_guid": { "description": "The unique identifier for the institution. Defined by MX.", "example": "INST-12345678-90ab-cdef-1234-567890abcdef", "nullable": false, "type": "string" }, "is_being_aggregated": { "description": "Indicates whether the member was being aggregated at the time of the request.", "example": false, "nullable": true, "type": "boolean" }, "is_managed_by_user": { "description": "Indicates whether the member is managed by the user or the MX partner. Members created with the managed member feature will have this field set to `false`.", "example": false, "nullable": true, "type": "boolean" }, "is_manual": { "description": "Indicates whether the transaction was manually created or belongs to a manual account.", "example": false, "nullable": true, "type": "boolean" }, "is_oauth": { "description": "Indicates whether the member uses OAuth to authenticate. Defaults to `false`.", "example": false, "nullable": true, "type": "boolean" }, "metadata": { "description": "Additional information you stored about the `member`.", "example": "\\\"credentials_last_refreshed_at\\\": \\\"2015-10-15\\", "nullable": true, "type": "string" }, "most_recent_job_detail_code": { "description": "(Deprecated) This field is no longer used and will be removed at a future date.", "example": null, "nullable": true, "type": "integer" }, "most_recent_job_detail_text": { "description": "(Deprecated) This field is no longer used and will be removed at a future date.", "example": null, "nullable": true, "type": "boolean" }, "most_recent_job_guid": { "description": "The unique identifier for the most recent job. Defined by MX.", "example": "JOB-12345678-90ab-cdef-1234-567890abcdef", "nullable": true, "type": "string" }, "name": { "description": "The name of the `member`.", "example": "MX Bank", "nullable": true, "type": "string" }, "needs_updated_credentials": { "description": "Internal field used by MX in some circumstances. When set to `true`, MX will not attempt to aggregate the member. It will be set to `false` automatically when the member's credentials are updated.", "example": false, "nullable": true, "type": "boolean" }, "oauth_window_uri": { "description": "When connecting a member using OAuth, this field will contain the URL to send the user to in order to authenticate, otherwise it will be blank.", "example": "https://mxbank.mx.com/oauth/authorize?client_id=b8OikQ4Ep3NuSUrQ13DdvFuwpNx-qqoAsJDVAQCyLkQ&redirect_uri=https%3A%2F%2Fint-app.moneydesktop.com%2Foauth%2Fredirect_from&response_type=code&scope=openid&state=d745bd4ee6f0f9c184757f574bcc2df2", "nullable": true, "type": "string" }, "successfully_aggregated_at": { "description": "The date and time when the member was last successfully aggregated, represented in ISO 8601 format with a timestamp.", "example": "2016-10-13T17:57:38.000Z", "nullable": true, "type": "string" }, "use_cases": { "type": "array", "description": "The use case associated with the member. Valid values are `PFM` and/or `MONEY_MOVEMENT`. Only set this if you've met with MX and have opted in to using this field.", "items": { "type": "string", "enum": [ "MONEY_MOVEMENT", "PFM" ] }, "example": [ "PFM" ] }, "user_guid": { "description": "The unique identifier for the user. Defined by MX.", "example": "USR-fa7537f3-48aa-a683-a02a-b18940482f54", "nullable": true, "type": "string" }, "user_id": { "description": "The unique partner-defined identifier for the user.", "example": "u-1234", "nullable": true, "type": "string" } }, "type": "object" }, "UserResponse": { "properties": { "email": { "description": "The email address associated with the account.", "example": "example@example.com", "type": "string" }, "guid": { "description": "The unique identifier for the user. Defined by MX.", "example": "USR-d74cb14f-fd0a-449f-991b-e0362a63d9c6", "nullable": true, "type": "string" }, "id": { "description": "The unique partner-defined identifier for the user.", "example": "My-Unique-ID", "nullable": true, "type": "string" }, "is_disabled": { "description": "Indicates whether the user has been disabled. Defaults to `false`.", "example": false, "nullable": true, "type": "boolean" }, "metadata": { "description": "Additional information you stored about the `user`.", "example": "{\\\"first_name\\\": \\\"Steven\\\", \\\"last_name\\\": \\\"Universe\\\"}", "nullable": true, "type": "string" } }, "type": "object" }, "InstitutionResponse": { "properties": { "code": { "description": "The code identifying a financial institution.", "example": "mxbank", "nullable": true, "type": "string" }, "created_at": { "description": "The date and time the institution was created, represented in ISO 8601 format with a timestamp.", "example": "2025-02-13T18:08:00+00:00", "type": "string" }, "forgot_password_url": { "description": "URL for the forgot password page of the institution.", "example": "https://example.url.mxbank.com/forgot-password", "nullable": true, "type": "string" }, "forgot_username_url": { "description": "URL for the forgot username page of the institution.", "example": "https://example.url.mxbank.com/forgot-username", "nullable": true, "type": "string" }, "guid": { "description": "The unique identifier for the institution. Defined by MX.", "example": "INS-1572a04c-912b-59bf-5841-332c7dfafaef", "type": "string" }, "instructional_text": { "description": "Render this text when end users are asked for their credentials, as it helps end users provide the correct credentials when creating a new member. May contain `` tags to link to explanatory material.", "example": "Some instructional text for end users.", "nullable": true, "type": "string" }, "instructional_text_steps": { "type": "array", "items": { "type": "string" }, "description": "An array of instructional steps that may contain html elements.", "example": [ "Step 1: Do this.", "Step 2: Do that." ], "nullable": true }, "is_disabled_by_client": { "description": "Indicates whether the institution is disabled by the client.", "example": false, "nullable": true, "type": "boolean" }, "is_hidden": { "example": true, "type": "boolean", "description": "If the institution is available for creating new member connections, this field will be `false`. Otherwise, this field will be `true`." }, "iso_country_code": { "description": "The ISO country code associated with the institution.", "example": "US", "type": "string", "enum": [ "US", "CA" ] }, "medium_logo_url": { "description": "The URL for a 100px X 100px logo for each `institution`. A generic logo is returned for institutions that don't have one.", "example": "https://content.moneydesktop.com/storage/MD_Assets/Ipad%20Logos/100x100/default_100x100.png", "nullable": true, "type": "string" }, "name": { "description": "The name of the institution.", "example": "MX Bank", "nullable": true, "type": "string" }, "small_logo_url": { "description": "The URL for a 50px X 50px logo for each `institution`. A generic logo is returned for institutions that don't have one.", "example": "https://content.moneydesktop.com/storage/MD_Assets/Ipad%20Logos/50x50/default_50x50.png", "nullable": true, "type": "string" }, "supported_products": { "items": { "$ref": "#/components/schemas/SupportedProducts" } }, "supports_oauth": { "description": "If true, this indicates that the institution supports OAuth and that you have been properly registered for OAuth with that institution.\n", "example": true, "nullable": true, "type": "boolean" }, "supports_tax_document": { "description": "This indicates whether the institution supports tax documents.", "example": true, "nullable": true, "type": "boolean" }, "trouble_signing_in_url": { "description": "The URL of the institution for helping users troubleshoot any other sign-in issue.", "example": "https://example.url.mxbank.com/login-trouble", "nullable": true, "type": "string" }, "url": { "description": "The URL for an institution's website.", "example": "https://www.mxbank.com", "nullable": true, "type": "string" } }, "type": "object" } } }