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

    Admin-only mutations on virtual accounts. Operates across all customers and takes no customerId.

    Index

    Constructors

    Methods

    Constructors

    Methods

    • Admin-creates an ACTIVE virtual account on an existing ledger account for a MANUAL-type provider — a bank we hold an out-of-band deposit account at but have no onboarding integration for. Unlike the Victor flow there's no partner API to call and nothing to poll: the row lands ACTIVE in one transaction, stamped with an audit product_quote.

      The provider must resolve to a MANUAL-type virtual_account_provider row (integrated victor/bivo/route_fusion providers are rejected — those mint through their own dispatcher). The bank supplies the customer-facing deposit instructions via the linked bank row.

      Parameters

      • args: {
            accountNumber: string;
            bankId: string;
            customerId: string;
            ledgerAccountId: string;
            name?: string;
            providerId: string;
            referenceId?: string | null;
            type: "US_DEPOSIT" | "US_DDA";
        }
        • accountNumber: string
        • bankId: string
        • customerId: string
        • ledgerAccountId: string
        • Optionalname?: string
        • providerId: string

          A virtual_account_provider externalId; must resolve to type MANUAL.

        • OptionalreferenceId?: string | null
        • type: "US_DEPOSIT" | "US_DDA"

      Returns Promise<
          | {
              ok: true;
              value: {
                  accountNumber: string;
                  achDepositInstructions: AchDepositInstructions
                  | null;
                  createdAt: Date;
                  data:
                      | {
                          provider: "VICTOR";
                          victorId: string;
                          victorLedgerProgramId: string;
                      }
                      | null;
                  deletedAt: Date
                  | null;
                  id: string;
                  name: string | null;
                  providerId: string;
                  providerName: string;
                  providerType: "VICTOR" | "BIVO" | "ROUTE_FUSION" | "MANUAL";
                  referenceId: string | null;
                  routingNumber: string;
                  rtpDepositInstructions: RtpDepositInstructions | null;
                  status: "PENDING" | "ACTIVE";
                  type: "US_DEPOSIT" | "US_DDA";
                  updatedAt: Date;
                  walletAddress: Address;
                  wireDepositInstructions: UsWireDepositInstructions | null;
              } & { customerId: string; entityId: string; ledgerAccountId: string };
          }
          | { error: ServiceError; ok: false },
      >

    • Toggle whether a virtual account is soft-deleted (hidden from customer-facing reads). When deleted is true the consumer VirtualAccountService read paths filter the row out entirely.

      Parameters

      • args: { deleted: boolean; id: string }

      Returns Promise<
          { ok: true; value: { id: string } }
          | { error: ServiceError; ok: false },
      >