> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fluz.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Cerrar cuentas de gasto

# Descripción general

Cada cuenta de saldo en efectivo se puede cerrar, con todo su saldo transferido y la fuente de fondos de las tarjetas virtuales dependientes cambiada o bloqueándolas.

# Cerrar cuenta de saldo en efectivo de usuario

## Solicitud de ejemplo

Puedes cerrar una cuenta de saldo en efectivo de usuario con la mutación `closeUserCashBalance`. Esta mutación te permite hacer lo siguiente:

* Cerrar tu cuenta de gasto.
* Cambiar la fuente de fondos de las tarjetas virtuales si hay alguna que tenga esta cuenta de gasto como una.
* Bloquear las tarjetas virtuales relacionadas.
* Transferir el saldo restante a otra cuenta de gasto.

La consulta toma un objeto de entrada `CloseUserCashBalanceInput`.

```graphql theme={null}
mutation closeUserCashBalance($input: CloseUserCashBalanceInput!) {
    closeUserCashBalance(input: $input) {
        closedUserCashBalance {
            userCashBalanceId
            lifetimeCashBalance
            nickname
            status
            createdAt
            closedAt
        }
        affectedVirtualCards {
            virtualCardId
            virtualCardLast4
        }
    }
}
```

Esta mutación requiere el tipo de entrada `CloseUserCashBalanceInput`. Cualquier campo marcado con un signo de exclamación (`!`) en el esquema es obligatorio y debe incluirse en la solicitud.

## CloseUserCashBalanceInput

| Nombre del campo          | Tipo                              | Descripción                                                                                                                                                                                                  |
| :------------------------ | :-------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| idempotencyKey            | UUID!                             | Un UUID único generado por el cliente para asegurar que una solicitud se procese solo una vez.                                                                                                               |
| userCashBalanceId         | UUID!                             | Un identificador único para la cuenta de saldo en efectivo.                                                                                                                                                  |
| newFundingSource          | CloseUserCashBalanceFundingSource | Una nueva fuente de fondos para todas las tarjetas virtuales dependientes. Requerido solo si hay tarjetas virtuales vinculadas a esta cuenta de saldo en efectivo y no se proporciona `lockAllVirtualCards`. |
| lockAllVirtualCards       | Boolean                           | Indica si se deben bloquear todas las tarjetas virtuales dependientes. Requerido solo si hay tarjetas virtuales vinculadas a esta cuenta de saldo en efectivo y no se proporciona `newFundingSource`.        |
| transferUserCashBalanceId | UUID                              | Un identificador único para la transferencia. Requerido solo si el saldo disponible de la cuenta de saldo en efectivo es >0.                                                                                 |

### Ejemplo

```json theme={null}
{
  "idempotencyKey": "65666780-c552-47f0-ba05-f90fced0ef9f",
  "userCashBalanceId": "ca8e1ccf-b42d-41d3-8cad-2237e020d1b1",
  "lockAllVirtualCards": true,
  "transferUserCashBalanceId": "6d1b4b19-deef-42f5-80d7-ec34804ce091"
}
```

## CloseUserCashBalanceFundingSource

| Nombre del campo                                                  | Tipo                     | Descripción                                                                                                 |
| :---------------------------------------------------------------- | :----------------------- | :---------------------------------------------------------------------------------------------------------- |
| bankAccountId                                                     | UUID                     | Un identificador único para la cuenta bancaria. Requerido si no están presentes otras opciones.             |
| userCashBalanceId                                                 | UUID                     | Un identificador único para la cuenta de saldo en efectivo. Requerido si no están presentes otras opciones. |
| primaryFundingSource:                                             | VirtualCardFundingSource | Un tipo de fuente de fondos principal, ya sea `FLUZ_BALANCE`                                                |
| o `BANK_ACCOUNT`. Requerido si no están presentes otras opciones. |                          |                                                                                                             |

### Ejemplo

```json theme={null}
{
  "userCashBalanceId": "ca8e1ccf-b42d-41d3-8cad-2237e020d1b1",
}
```

## Respuesta de ejemplo

La respuesta de la mutación `closeUserCashBalance` incluirá los detalles de la cuenta de saldo en efectivo cerrada, incluido su identificador único y una lista de tarjetas virtuales afectadas.

```json theme={null}
{
    "data": {
        "closeUserCashBalance": {
            "closedUserCashBalance": {
                "userCashBalanceId": "ca8e1ccf-b42d-41d3-8cad-2237e020d1b1",
                "lifetimeCashBalance": "0.00000",
                "nickname": "Closed Spend Account",
                "status": "CLOSED",
                "createdAt": "2025-12-30T21:18:26.782Z",
                "closedAt": "2025-12-30T21:22:29.359Z"
            },
            "affectedVirtualCards": [
                {
                    "virtualCardId": "afad4d6d-11f0-4ac1-b971-caca7c34c77c",
                    "virtualCardLast4": "4473"
                }
            ]
        }
    }
}
```

### Campos de respuesta

| Nombre del campo     | Tipo                                       | Descripción                                              |
| :------------------- | :----------------------------------------- | :------------------------------------------------------- |
| closeUserCashBalance | ClosedUserCashBalance!                     | Detalles de la cuenta de saldo en efectivo cerrada.      |
| lifetimeCashBalance  | \[CloseUserCashBalanceResponseVirtualCard] | Una lista de tarjetas virtuales afectadas por el cierre. |

#### closeUserCashBalance

| Nombre del campo    | Tipo                   | Descripción                                                                 |
| :------------------ | :--------------------- | :-------------------------------------------------------------------------- |
| userCashBalanceId   | UUID!                  | Identificador único para la cuenta de saldo en efectivo.                    |
| lifetimeCashBalance | String!                | Total acumulado de todos los fondos depositados alguna vez (comienza en 0). |
| nickname            | String!                | El nombre personalizado asignado a la cuenta.                               |
| status              | UserCashBalanceStatus! | Estado actual de la cuenta (debería ser `CLOSED`).                          |
| createdAt           | DateTime!              | Marca de tiempo cuando se creó la cuenta.                                   |
| closedAt            | DateTime!              | Marca de tiempo cuando se cerró la cuenta.                                  |

#### affectedVirtualCards

| Nombre del campo | Tipo  | Descripción                                                  |
| :--------------- | :---- | :----------------------------------------------------------- |
| virtualCardId    | UUID! | Identificador único para la tarjeta virtual.                 |
| virtualCardLast4 | UUID! | Los últimos cuatro dígitos del número de la tarjeta virtual. |

<br />

> ❗️ Autorización requerida
>
> Esta mutación requiere el alcance `MANAGE_PAYMENT`. Asegúrate de que tu token de acceso tenga concedido este alcance antes de intentar crear una cuenta de saldo en efectivo.
