All Downloads are FREE. Search and download functionalities are using the official Maven repository.

tech.alexib.plaid.client.model.InstitutionStatus.kt Maven / Gradle / Ivy

/*
 * Copyright 2020 Alexi Bre
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package tech.alexib.plaid.client.model

import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

/**
 * The status of an institution is determined by the health of its Item logins, Transactions
 * updates, Investments updates, Auth requests, Balance requests, and Identity requests. A login
 * attempt is conducted during the initial Item add in Link. If there is not enough traffic to
 * accurately calculate an institution's status, Plaid will return null rather than potentially
 * inaccurate data.
 *
 * Institution status is accessible in the Dashboard and via the API using the
 * `/institutions/get_by_id` endpoint with the `include_status` option set to true. Note that
 * institution status is not available in the Sandbox environment.
 *
 * @param itemLogins A representation of the status health of a request type. Auth requests, Balance
 * requests, Identity requests, Transactions updates, Investments updates, and Item logins each have
 * their own status object.
 * @param transactionsUpdates A representation of the status health of a request type. Auth
 * requests, Balance requests, Identity requests, Transactions updates, Investments updates, and Item
 * logins each have their own status object.
 * @param auth A representation of the status health of a request type. Auth requests, Balance
 * requests, Identity requests, Transactions updates, Investments updates, and Item logins each have
 * their own status object.
 * @param balance A representation of the status health of a request type. Auth requests, Balance
 * requests, Identity requests, Transactions updates, Investments updates, and Item logins each have
 * their own status object.
 * @param identity A representation of the status health of a request type. Auth requests, Balance
 * requests, Identity requests, Transactions updates, Investments updates, and Item logins each have
 * their own status object.
 * @param investmentsUpdates A representation of the status health of a request type. Auth requests,
 * Balance requests, Identity requests, Transactions updates, Investments updates, and Item logins each
 * have their own status object.
 * @param healthIncidents Details of recent health incidents associated with the institution.
 */
@Serializable
data class InstitutionStatus(
    @SerialName("item_logins")
    val itemLogins: ProductStatus,
    @SerialName("transactions_updates")
    val transactionsUpdates: ProductStatus,
    @SerialName("auth")
    val auth: ProductStatus,
    @SerialName("balance")
    val balance: ProductStatus,
    @SerialName("identity")
    val identity: ProductStatus,
    @SerialName("investments_updates")
    val investmentsUpdates: ProductStatus,
    @SerialName("health_incidents")
    val healthIncidents: List? = null
)




© 2015 - 2025 Weber Informatics LLC | Privacy Policy