@cfxlabsinc/b2b-services
    Preparing search index...

    Admin-tier projection of a bank row. id is the bank slug (externalId in the DB) — banks are referenced by slug everywhere on service surfaces.

    The four *Instructions fields hold the bank's per-rail deposit instruction packets; a non-null value means the bank supports that rail. swiftWireInstructions is keyed by ISO currency code, each mapping to its entries in order of preference.

    type Bank = {
        achInstructions: AchInstructionData | null;
        createdAt: Temporal.Instant;
        dashboardDomain: string | null;
        dashboardEnabled: boolean;
        description: string | null;
        fdicCert: string | null;
        id: BankId;
        name: string;
        routingNumber: string | null;
        rtpInstructions: RtpInstructionData | null;
        swiftWireInstructions: Record<string, SwiftWireInstructionData[]> | null;
        theme: BankDashboardTheme | null;
        timezone: string | null;
        updatedAt: Temporal.Instant;
        usWireInstructions: UsWireInstructionData | null;
        wireEmailFromDomains: string[];
        wireEmailLocalPart: string | null;
        workspaceId: SelectBankDashboardWorkspace["externalId"];
    }
    Index
    achInstructions: AchInstructionData | null
    createdAt: Temporal.Instant
    dashboardDomain: string | null

    The host that brands the bank's sign-in page; it does not by itself open the dashboard.

    dashboardEnabled: boolean

    Whether the bank's dashboard is open to its members.

    description: string | null
    fdicCert: string | null
    id: BankId
    name: string
    routingNumber: string | null
    rtpInstructions: RtpInstructionData | null
    swiftWireInstructions: Record<string, SwiftWireInstructionData[]> | null
    theme: BankDashboardTheme | null
    timezone: string | null

    IANA Area/Location zone the bank's cutoffs, business dates and reports follow. null means unset, not America/Chicago; a reader that needs the bank's clock fails rather than assume one.

    updatedAt: Temporal.Instant
    usWireInstructions: UsWireInstructionData | null
    wireEmailFromDomains: string[]

    Authenticated-sender domain allowlist for the wire-email inbox. Empty = fail-closed (the inbox receives + archives but forwards/stores nothing).

    wireEmailLocalPart: string | null

    Overrides the inbound wire-email inbox local part; null means the inbox inherits the bank slug (id). The effective address is ${wireEmailLocalPart ?? id}@<receivingDomain>.

    workspaceId: SelectBankDashboardWorkspace["externalId"]

    The bank's dashboard workspace, by its external id (bws_…).