action plaid_institutions_get_by_id { label: "Get details of an institution" description: "Returns a JSON response containing details on a specified financial institution currently supported by Plaid.\n\nVersioning note: API versions 2019-05-29 and earlier allow use of the `public_key` parameter instead of the `client_id` and `secret` to authenticate to this endpoint. The `public_key` has been deprecated; all customers are encouraged to use `client_id` and `secret` instead.\n" provider: plaid method: POST path: "/institutions/get_by_id" encoding: json input: { type: "object" description: "InstitutionsGetByIdRequest defines the request schema for `/institutions/get_by_id`" required: ["country_codes", "institution_id"] properties: { client_id: { type: "string" description: "Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body." } country_codes: { type: "array" description: "Specify an array of Plaid-supported country codes this institution supports, using the ISO-3166-1 alpha-2 country code standard. In API versions 2019-05-29 and earlier, the `country_codes` parameter is an optional parameter within the `options` object and will default to `[US]` if it is not supplied.\n" items: { type: "string" description: "ISO-3166-1 alpha-2 country code standard." enum: ["US", "GB", "ES", "NL", "FR", "IE", "CA", "DE", "IT", "PL", "DK", "NO", "SE", "EE", "LT", "LV"] } } institution_id: { type: "string" description: "The ID of the institution to get details about" } options: { type: "object" description: "Specifies optional parameters for `/institutions/get_by_id`. If provided, must not be `null`." properties: { include_auth_metadata: { type: "boolean" description: "When `true`, returns metadata related to the Auth product indicating which auth methods are supported." } include_optional_metadata: { type: "boolean" description: "When `true`, return an institution's logo, brand color, and URL. When available, the bank's logo is returned as a base64 encoded 152x152 PNG, the brand color is in hexadecimal format. The default value is `false`.\n\nNote that Plaid does not own any of the logos shared by the API and that by accessing or using these logos, you agree that you are doing so at your own risk and will, if necessary, obtain all required permissions from the appropriate rights holders and adhere to any applicable usage guidelines. Plaid disclaims all express or implied warranties with respect to the logos." } include_payment_initiation_metadata: { type: "boolean" description: "When `true`, returns metadata related to the Payment Initiation product indicating which payment configurations are supported." } include_status: { type: "boolean" description: "If `true`, the response will include status information about the institution. Default value is `false`." } } } secret: { type: "string" description: "Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body." } } } output: { type: "object" description: "InstitutionsGetByIdResponse defines the response schema for `/institutions/get_by_id`" required: ["institution", "request_id"] properties: { institution: { type: "object" description: "Details relating to a specific financial institution" required: ["country_codes", "institution_id", "name", "oauth", "products", "routing_numbers"] properties: { auth_metadata: { type: "object" description: "Metadata that captures information about the Auth features of an institution." required: ["supported_methods"] properties: { supported_methods: { type: "object" description: "Metadata specifically related to which auth methods an institution supports." required: ["automated_micro_deposits", "instant_auth", "instant_match"] properties: { automated_micro_deposits: { type: "boolean" description: "Indicates if automated microdeposits are supported." } instant_auth: { type: "boolean" description: "Indicates if instant auth is supported." } instant_match: { type: "boolean" description: "Indicates if instant match is supported." } } } } } country_codes: { type: "array" description: "A list of the country codes supported by the institution." items: { type: "string" description: "ISO-3166-1 alpha-2 country code standard." enum: ["US", "GB", "ES", "NL", "FR", "IE", "CA", "DE", "IT", "PL", "DK", "NO", "SE", "EE", "LT", "LV"] } } institution_id: { type: "string" description: "Unique identifier for the institution" } logo: { type: "string" description: "Base64 encoded representation of the institution's logo" } name: { type: "string" description: "The official name of the institution" } oauth: { type: "boolean" description: "Indicates that the institution has a mandatory OAuth login flow. Note that `oauth` may be `false` even for institutions that support OAuth, if the institution is in the process of migrating to OAuth and some active Items still exist that do not use OAuth." } payment_initiation_metadata: { type: "object" description: "Metadata that captures what specific payment configurations an institution supports when making Payment Initiation requests." required: ["maximum_payment_amount", "standing_order_metadata", "supports_international_payments", "supports_refund_details", "supports_sepa_instant"] properties: { maximum_payment_amount: { type: "object" description: "A mapping of currency to maximum payment amount (denominated in the smallest unit of currency) supported by the institution.\n\nExample: `{\"GBP\": \"10000\"}`\n" } standing_order_metadata: { type: "object" description: "Metadata specifically related to valid Payment Initiation standing order configurations for the institution." required: ["supports_standing_order_end_date", "supports_standing_order_negative_execution_days", "valid_standing_order_intervals"] properties: { supports_standing_order_end_date: { type: "boolean" description: "Indicates whether the institution supports closed-ended standing orders by providing an end date." } supports_standing_order_negative_execution_days: { type: "boolean" description: "This is only applicable to `MONTHLY` standing orders. Indicates whether the institution supports negative integers (-1 to -5) for setting up a `MONTHLY` standing order relative to the end of the month." } valid_standing_order_intervals: { type: "array" description: "A list of the valid standing order intervals supported by the institution." items: { type: "string" description: "The frequency interval of the payment." enum: ["WEEKLY", "MONTHLY"] } } } } supports_international_payments: { type: "boolean" description: "Indicates whether the institution supports payments from a different country." } supports_refund_details: { type: "boolean" description: "Indicates whether the institution supports returning refund details when initiating a payment." } supports_sepa_instant: { type: "boolean" description: "Indicates whether the institution supports SEPA Instant payments." } } } primary_color: { type: "string" description: "Hexadecimal representation of the primary color used by the institution" } products: { type: "array" description: "A list of the Plaid products supported by the institution. Note that only institutions that support Instant Auth will return `auth` in the product array; institutions that do not list `auth` may still support other Auth methods such as Instant Match or Automated Micro-deposit Verification. To identify institutions that support those methods, use the `auth_metadata` object. For more details, see [Full Auth coverage](https://plaid.com/docs/auth/coverage/)." items: { type: "string" description: "A list of products that an institution can support. All Items must be initialized with at least one product. The Balance product is always available and does not need to be specified during initialization." enum: ["assets", "auth", "balance", "identity", "investments", "liabilities", "payment_initiation", "identity_verification", "transactions", "credit_details", "income", "income_verification", "deposit_switch", "standing_orders", "transfer", "employment", "recurring_transactions"] } } routing_numbers: { type: "array" description: "A partial list of routing numbers associated with the institution. This list is provided for the purpose of looking up institutions by routing number. It is not comprehensive and should never be used as a complete list of routing numbers for an institution." items: { type: "string" } } status: { type: "object" description: "The status of an institution is determined by the health of its Item logins, Transactions updates, Investments updates, Liabilities updates, Auth requests, Balance requests, Identity requests, Investments requests, and Liabilities 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.\n\nInstitution 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.\n" properties: { auth: { type: "object" description: "A representation of the status health of a request type. Auth requests, Balance requests, Identity requests, Investments requests, Liabilities requests, Transactions updates, Investments updates, Liabilities updates, and Item logins each have their own status object." required: ["breakdown", "last_status_change", "status"] properties: { breakdown: { type: "object" description: "A detailed breakdown of the institution's performance for a request type. The values for `success`, `error_plaid`, and `error_institution` sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see [Institution status details](https://plaid.com/docs/account/activity/#institution-status-details)." required: ["error_institution", "error_plaid", "success"] properties: { error_institution: { type: "number" format: "double" description: "The percentage of logins that are failing due to an issue in the institution's system, expressed as a decimal." } error_plaid: { type: "number" format: "double" description: "The percentage of logins that are failing due to an internal Plaid issue, expressed as a decimal.\n" } refresh_interval: { type: "string" description: "The `refresh_interval` may be `DELAYED` or `STOPPED` even when the success rate is high. This value is only returned for Transactions status breakdowns." enum: ["NORMAL", "DELAYED", "STOPPED"] } success: { type: "number" format: "double" description: "The percentage of login attempts that are successful, expressed as a decimal." } } } last_status_change: { type: "string" format: "date-time" description: "[ISO 8601](https://wikipedia.org/wiki/ISO_8601) formatted timestamp of the last status change for the institution.\n" } status: { type: "string" description: "This field is deprecated in favor of the `breakdown` object, which provides more granular institution health data.\n\n`HEALTHY`: the majority of requests are successful\n`DEGRADED`: only some requests are successful\n`DOWN`: all requests are failing" enum: ["HEALTHY", "DEGRADED", "DOWN"] } } } health_incidents: { type: "array" description: "Details of recent health incidents associated with the institution." items: { type: "object" description: "A status health incident" required: ["start_date", "title", "incident_updates"] properties: { end_date: { type: "string" format: "date-time" description: "The end date of the incident, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2020-10-30T15:26:48Z\"`." } incident_updates: { type: "array" description: "Updates on the health incident." items: { type: "object" description: "An update on the health incident" properties: { description: { type: "string" description: "The content of the update." } status: { type: "string" description: "The status of the incident." enum: ["INVESTIGATING", "IDENTIFIED", "SCHEDULED", "RESOLVED", "UNKNOWN"] } updated_date: { type: "string" format: "date-time" description: "The date when the update was published, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2020-10-30T15:26:48Z\"`." } } } } start_date: { type: "string" format: "date-time" description: "The start date of the incident, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2020-10-30T15:26:48Z\"`." } title: { type: "string" description: "The title of the incident" } } } } identity: { type: "object" additionalProperties: true } investments: { type: "object" additionalProperties: true } investments_updates: { type: "object" additionalProperties: true } item_logins: { type: "object" additionalProperties: true } liabilities: { type: "object" additionalProperties: true } liabilities_updates: { type: "object" additionalProperties: true } transactions_updates: { type: "object" additionalProperties: true } } } url: { type: "string" description: "The URL for the institution's website" } } } request_id: { type: "string" description: "A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive." } } } }