# Banking — Operadores (UY3)

> 11 endpoints. Placeholders: `{{baseUrl}}` e `{{token}}`.

## Autenticação

Envie o token em toda requisição no header `Authorization: Bearer {{token}}` (JWT do AWS Cognito). Integrações servidor-a-servidor podem usar `X-Api-Key`. Todo tráfego é HTTPS; a credencial nunca vai na URL nem em query string.

## Operadores

Operadores autorizados a movimentar a conta.

### GET /v1/BankAccount/{id}/Operator

**Obter uma lista de operadores de contas** — Lista e filtra registros de Bank Account.

**Parâmetros**

| Nome | Em | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|---|
| `id` | path | `string` | obrigatório | — | `3fa85f64-5717-4562-b3fc-2c963f66afa6` |
| `page` | query | `integer` | opcional | — | `10` |
| `size` | query | `integer` | opcional | — | `10` |
| `searchString` | query | `string` | opcional | — | `valor` |
| `f_userUserId` | query | `string` | opcional | — | `3fa85f64-5717-4562-b3fc-2c963f66afa6` |
| `f_level` | query | `objeto` | opcional | — | `valor` |
| `f_status` | query | `objeto` | opcional | — | `valor` |
| `isDeleted` | query | `boolean` | opcional | — | `true` |
| `orderBy` | query | `string` | opcional | — | `valor` |

**Resposta 200**

Campos:

| Campo | Tipo | Obrigatório | Descrição | Valores | Exemplo |
|---|---|---|---|---|---|
| `data` | `array de objeto` | opcional | — | objeto — ver detalhe abaixo | `[ … ]` |
| `page` | `integer` | opcional | — | — | `0` |
| `totalPages` | `integer` | opcional | — | — | `0` |
| `totalItems` | `integer` | opcional | — | — | `0` |

Detalhe de `data`:

| Campo | Tipo | Obrigatório | Descrição | Valores | Exemplo |
|---|---|---|---|---|---|
| `id` | `string` | opcional | — | — | `"texto"` |
| `createdAt` | `string (date-time)` | opcional | — | — | `"2025-08-11T13:45:00Z"` |
| `createdBy` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `tenant` | `string` | opcional | — | — | `"texto"` |
| `tenantDisplay` | `string` | opcional | — | — | `"texto"` |
| `updatedAt` | `string (date-time)` | opcional | — | — | `"2025-08-11T13:45:00Z"` |
| `updatedBy` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `ownerUser` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `ownerGroup` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `user` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `userId` | `string` | opcional | — | — | `"3fa85f64-5717-4562-b3fc-2c963f66afa6"` |
| `level` | `string` | opcional | — | — | `"texto"` |
| `levelDisplay` | `string` | opcional | — | — | `"texto"` |
| `status` | `string` | opcional | — | — | `"texto"` |
| `statusDisplay` | `string` | opcional | — | — | `"texto"` |
| `isDeleted` | `boolean` | opcional | — | — | `true` |
| `authorizedAt` | `string (date-time)` | opcional | — | — | `"2025-08-11T13:45:00Z"` |
| `bankAccountId` | `string` | opcional | — | — | `"3fa85f64-5717-4562-b3fc-2c963f66afa6"` |
| `accountNumber` | `integer (int64)` | opcional | — | — | `0` |
| `ownerNameAccount` | `string` | opcional | — | — | `"Fulano de Tal"` |
| `ownerAccountType` | `string` | opcional | — | — | `"texto"` |
| `bankAccountRequestId` | `string` | opcional | — | — | `"3fa85f64-5717-4562-b3fc-2c963f66afa6"` |
| `registrationNumber` | `string` | opcional | — | — | `"12345678909"` |
| `approvals` | `array de objeto` | opcional | — | objeto — ver detalhe abaixo | `[ … ]` |

Detalhe de `approvals`:

| Campo | Tipo | Obrigatório | Descrição | Valores | Exemplo |
|---|---|---|---|---|---|
| `level` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `"Viewer"` |
| `action` | `string` | opcional | — | `Approve`, `Reject`, `Cancel` | `"Approve"` |
| `actionDisplay` | `string` | opcional | — | — | `"texto"` |
| `user` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |

Exemplo:

```json
{
  "data": [
    {
      "id": "texto",
      "createdAt": "2025-08-11T13:45:00Z",
      "createdBy": {
        "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "registrationNumber": "12345678909",
        "userIdDisplay": "texto",
        "tenantDisplay": "texto",
        "tenantName": "Fulano de Tal"
      },
      "tenant": "texto",
      "tenantDisplay": "texto",
      "updatedAt": "2025-08-11T13:45:00Z",
      "updatedBy": {
        "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "registrationNumber": "12345678909",
        "userIdDisplay": "texto",
        "tenantDisplay": "texto",
        "tenantName": "Fulano de Tal"
      },
      "ownerUser": {
        "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "registrationNumber": "12345678909",
        "userIdDisplay": "texto",
        "tenantDisplay": "texto",
        "tenantName": "Fulano de Tal"
      },
      "ownerGroup": {
        "groupDisplay": "texto",
        "tenantDisplay": "texto"
      },
      "user": {
        "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "registrationNumber": "12345678909",
        "userIdDisplay": "texto",
        "tenantDisplay": "texto",
        "tenantName": "Fulano de Tal"
      },
      "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "level": "texto",
      "levelDisplay": "texto",
      "status": "texto",
      "statusDisplay": "texto",
      "isDeleted": true,
      "authorizedAt": "2025-08-11T13:45:00Z",
      "bankAccountId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "accountNumber": 0,
      "ownerNameAccount": "Fulano de Tal",
      "ownerAccountType": "texto",
      "bankAccountRequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "registrationNumber": "12345678909",
      "approvals": [
        {}
      ]
    }
  ],
  "page": 0,
  "totalPages": 0,
  "totalItems": 0
}
```

**Códigos de retorno**

| Código | Significado |
|---|---|
| `200` | Requisição bem-sucedida. |

**cURL**

```bash
curl -X GET "{{baseUrl}}/v1/BankAccount/3fa85f64-5717-4562-b3fc-2c963f66afa6/Operator" \
  -H "Authorization: Bearer {{token}}"
```

---

### POST /v1/BankAccount/{id}/Operator

**Adicionar um operador a uma conta** — Cria um novo registro de Bank Account.

**Parâmetros**

| Nome | Em | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|---|
| `id` | path | `string` | obrigatório | — | `3fa85f64-5717-4562-b3fc-2c963f66afa6` |

**Corpo da requisição** (`application/json`)

Campos:

| Campo | Tipo | Obrigatório | Descrição | Valores | Exemplo |
|---|---|---|---|---|---|
| `userId` | `string` | obrigatório | — | — | `"3fa85f64-5717-4562-b3fc-2c963f66afa6"` |
| `tenantName` | `string` | obrigatório | — | — | `"Fulano de Tal"` |
| `level` | `string` | obrigatório | — | `Viewer`, `JointApprover`, `MasterApprover`, `Requester` | `"Viewer"` |

Exemplo:

```json
{
  "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "tenantName": "Fulano de Tal",
  "level": "Viewer"
}
```

**Resposta 200**

Campos:

| Campo | Tipo | Obrigatório | Descrição | Valores | Exemplo |
|---|---|---|---|---|---|
| `id` | `string` | opcional | — | — | `"texto"` |
| `createdAt` | `string (date-time)` | opcional | — | — | `"2025-08-11T13:45:00Z"` |
| `createdBy` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `tenant` | `string` | opcional | — | — | `"texto"` |
| `tenantDisplay` | `string` | opcional | — | — | `"texto"` |
| `updatedAt` | `string (date-time)` | opcional | — | — | `"2025-08-11T13:45:00Z"` |
| `updatedBy` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `ownerUser` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `ownerGroup` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `user` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `userId` | `string` | opcional | — | — | `"3fa85f64-5717-4562-b3fc-2c963f66afa6"` |
| `level` | `string` | opcional | — | — | `"texto"` |
| `levelDisplay` | `string` | opcional | — | — | `"texto"` |
| `status` | `string` | opcional | — | — | `"texto"` |
| `statusDisplay` | `string` | opcional | — | — | `"texto"` |
| `isDeleted` | `boolean` | opcional | — | — | `true` |
| `authorizedAt` | `string (date-time)` | opcional | — | — | `"2025-08-11T13:45:00Z"` |
| `bankAccountId` | `string` | opcional | — | — | `"3fa85f64-5717-4562-b3fc-2c963f66afa6"` |
| `accountNumber` | `integer (int64)` | opcional | — | — | `0` |
| `ownerNameAccount` | `string` | opcional | — | — | `"Fulano de Tal"` |
| `ownerAccountType` | `string` | opcional | — | — | `"texto"` |
| `bankAccountRequestId` | `string` | opcional | — | — | `"3fa85f64-5717-4562-b3fc-2c963f66afa6"` |
| `registrationNumber` | `string` | opcional | — | — | `"12345678909"` |
| `approvals` | `array de objeto` | opcional | — | objeto — ver detalhe abaixo | `[ … ]` |

Detalhe de `approvals`:

| Campo | Tipo | Obrigatório | Descrição | Valores | Exemplo |
|---|---|---|---|---|---|
| `level` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `"Viewer"` |
| `action` | `string` | opcional | — | `Approve`, `Reject`, `Cancel` | `"Approve"` |
| `actionDisplay` | `string` | opcional | — | — | `"texto"` |
| `user` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |

Exemplo:

```json
{
  "id": "texto",
  "createdAt": "2025-08-11T13:45:00Z",
  "createdBy": {
    "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "registrationNumber": "12345678909",
    "userIdDisplay": "texto",
    "tenantDisplay": "texto",
    "tenantName": "Fulano de Tal"
  },
  "tenant": "texto",
  "tenantDisplay": "texto",
  "updatedAt": "2025-08-11T13:45:00Z",
  "updatedBy": {
    "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "registrationNumber": "12345678909",
    "userIdDisplay": "texto",
    "tenantDisplay": "texto",
    "tenantName": "Fulano de Tal"
  },
  "ownerUser": {
    "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "registrationNumber": "12345678909",
    "userIdDisplay": "texto",
    "tenantDisplay": "texto",
    "tenantName": "Fulano de Tal"
  },
  "ownerGroup": {
    "groupDisplay": "texto",
    "tenantDisplay": "texto"
  },
  "user": {
    "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "registrationNumber": "12345678909",
    "userIdDisplay": "texto",
    "tenantDisplay": "texto",
    "tenantName": "Fulano de Tal"
  },
  "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "level": "texto",
  "levelDisplay": "texto",
  "status": "texto",
  "statusDisplay": "texto",
  "isDeleted": true,
  "authorizedAt": "2025-08-11T13:45:00Z",
  "bankAccountId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "accountNumber": 0,
  "ownerNameAccount": "Fulano de Tal",
  "ownerAccountType": "texto",
  "bankAccountRequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "registrationNumber": "12345678909",
  "approvals": [
    {
      "level": "Viewer",
      "action": "Approve",
      "actionDisplay": "texto",
      "user": {
        "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "registrationNumber": "12345678909",
        "userIdDisplay": "texto",
        "tenantDisplay": "texto",
        "tenantName": "Fulano de Tal"
      }
    }
  ]
}
```

**Códigos de retorno**

| Código | Significado |
|---|---|
| `200` | Requisição bem-sucedida. |

**cURL**

```bash
curl -X POST "{{baseUrl}}/v1/BankAccount/3fa85f64-5717-4562-b3fc-2c963f66afa6/Operator" \
  -H "Authorization: Bearer {{token}}" \
  -H "Content-Type: application/json" \
  -d '{
  "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "tenantName": "Fulano de Tal",
  "level": "Viewer"
}'
```

---

### GET /v1/BankAccount/PendingOperators

**Obter uma lista de todos os operadores das contas digitais** — Lista e filtra registros de Bank Account.

**Parâmetros**

| Nome | Em | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|---|
| `userId` | query | `string` | opcional | — | `3fa85f64-5717-4562-b3fc-2c963f66afa6` |
| `tenant` | query | `string` | opcional | — | `uy3` |
| `accountNumber` | query | `integer (int64)` | opcional | — | `10` |
| `typeAccount` | query | `string` | opcional | — | `valor` |
| `f_level` | query | `objeto` | opcional | — | `Approvers` |
| `page` | query | `integer` | opcional | — | `10` |
| `size` | query | `integer` | opcional | — | `10` |
| `isDeleted` | query | `boolean` | opcional | — | `true` |
| `orderBy` | query | `string` | opcional | — | `valor` |

**Resposta 200**

Campos:

| Campo | Tipo | Obrigatório | Descrição | Valores | Exemplo |
|---|---|---|---|---|---|
| `id` | `string` | opcional | — | — | `"texto"` |
| `createdAt` | `string (date-time)` | opcional | — | — | `"2025-08-11T13:45:00Z"` |
| `createdBy` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `tenant` | `string` | opcional | — | — | `"texto"` |
| `tenantDisplay` | `string` | opcional | — | — | `"texto"` |
| `updatedAt` | `string (date-time)` | opcional | — | — | `"2025-08-11T13:45:00Z"` |
| `updatedBy` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `ownerUser` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `ownerGroup` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `status` | `string` | opcional | — | `Pending`, `Rejected`, `Approved` | `"Pending"` |
| `statusDisplay` | `string` | opcional | — | — | `"texto"` |
| `uploads` | `array de objeto` | opcional | — | objeto — ver detalhe abaixo | `[ … ]` |
| `pixLimit` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `bankSlipLimit` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `transferLimit` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `tedLimit` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `updateStatusUser` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `bankAccount` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `bankAccountId` | `string` | opcional | — | — | `"3fa85f64-5717-4562-b3fc-2c963f66afa6"` |
| `existPendingLimitsApproval` | `boolean` | opcional | — | — | `true` |

Detalhe de `uploads`:

| Campo | Tipo | Obrigatório | Descrição | Valores | Exemplo |
|---|---|---|---|---|---|
| `id` | `string` | opcional | — | — | `"texto"` |
| `createdAt` | `string (date-time)` | opcional | — | — | `"2025-08-11T13:45:00Z"` |
| `createdBy` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `tenant` | `string` | opcional | — | — | `"texto"` |
| `tenantDisplay` | `string` | opcional | — | — | `"texto"` |
| `updatedAt` | `string (date-time)` | opcional | — | — | `"2025-08-11T13:45:00Z"` |
| `updatedBy` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `ownerUser` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `ownerGroup` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `fileName` | `string` | opcional | — | — | `"Fulano de Tal"` |
| `fileType` | `string` | opcional | — | — | `"texto"` |
| `displayName` | `string` | opcional | — | — | `"Fulano de Tal"` |
| `tempUrl` | `string` | opcional | — | — | `"https://exemplo.com.br/callback"` |
| `tempGetUrl` | `string` | opcional | — | — | `"https://exemplo.com.br/callback"` |
| `tempPutUrl` | `string` | opcional | — | — | `"https://exemplo.com.br/callback"` |

Exemplo:

```json
{
  "id": "texto",
  "createdAt": "2025-08-11T13:45:00Z",
  "createdBy": {
    "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "registrationNumber": "12345678909",
    "userIdDisplay": "texto",
    "tenantDisplay": "texto",
    "tenantName": "Fulano de Tal"
  },
  "tenant": "texto",
  "tenantDisplay": "texto",
  "updatedAt": "2025-08-11T13:45:00Z",
  "updatedBy": {
    "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "registrationNumber": "12345678909",
    "userIdDisplay": "texto",
    "tenantDisplay": "texto",
    "tenantName": "Fulano de Tal"
  },
  "ownerUser": {
    "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "registrationNumber": "12345678909",
    "userIdDisplay": "texto",
    "tenantDisplay": "texto",
    "tenantName": "Fulano de Tal"
  },
  "ownerGroup": {
    "groupDisplay": "texto",
    "tenantDisplay": "texto"
  },
  "status": "Pending",
  "statusDisplay": "texto",
  "uploads": [
    {
      "id": "texto",
      "createdAt": "2025-08-11T13:45:00Z",
      "createdBy": {
        "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "registrationNumber": "12345678909",
        "userIdDisplay": "texto",
        "tenantDisplay": "texto",
        "tenantName": "Fulano de Tal"
      },
      "tenant": "texto",
      "tenantDisplay": "texto",
      "updatedAt": "2025-08-11T13:45:00Z",
      "updatedBy": {
        "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "registrationNumber": "12345678909",
        "userIdDisplay": "texto",
        "tenantDisplay": "texto",
        "tenantName": "Fulano de Tal"
      },
      "ownerUser": {
        "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "registrationNumber": "12345678909",
        "userIdDisplay": "texto",
        "tenantDisplay": "texto",
        "tenantName": "Fulano de Tal"
      },
      "ownerGroup": {
        "groupDisplay": "texto",
        "tenantDisplay": "texto"
      },
      "fileName": "Fulano de Tal",
      "fileType": "texto",
      "displayName": "Fulano de Tal",
      "tempUrl": "https://exemplo.com.br/callback",
      "tempGetUrl": "https://exemplo.com.br/callback",
      "tempPutUrl": "https://exemplo.com.br/callback"
    }
  ],
  "pixLimit": {
    "businessHours": {
      "valueInCentsOwnOwnership": 0,
      "valueInCentsNaturalPerson": 0,
      "valueInCentsLegalPerson": 0
    },
    "nonBusinessHours": {
      "valueInCentsOwnOwnership": 0,
      "valueInCentsNaturalPerson": 0,
      "valueInCentsLegalPerson": 0
    }
  },
  "bankSlipLimit": {
    "businessHours": {
      "valueInCentsOwnOwnership": 0,
      "valueInCentsNaturalPerson": 0,
      "valueInCentsLegalPerson": 0
    },
    "nonBusinessHours": {
      "valueInCentsOwnOwnership": 0,
      "valueInCentsNaturalPerson": 0,
      "valueInCentsLegalPerson": 0
    }
  },
  "transferLimit": {
    "businessHours": {
      "valueInCentsOwnOwnership": 0,
      "valueInCentsNaturalPerson": 0,
      "valueInCentsLegalPerson": 0
    },
    "nonBusinessHours": {
      "valueInCentsOwnOwnership": 0,
      "valueInCentsNaturalPerson": 0,
      "valueInCentsLegalPerson": 0
    }
  },
  "tedLimit": {
    "businessHours": {
      "valueInCentsOwnOwnership": 0,
      "valueInCentsNaturalPerson": 0,
      "valueInCentsLegalPerson": 0
    },
    "nonBusinessHours": {
      "valueInCentsOwnOwnership": 0,
      "valueInCentsNaturalPerson": 0,
      "valueInCentsLegalPerson": 0
    }
  },
  "updateStatusUser": {
    "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "registrationNumber": "12345678909",
    "userIdDisplay": "texto",
    "tenantDisplay": "texto",
    "tenantName": "Fulano de Tal"
  },
  "bankAccount": {
    "id": "texto",
    "createdAt": "2025-08-11T13:45:00Z",
    "createdBy": {
      "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "registrationNumber": "12345678909",
      "userIdDisplay": "texto",
      "tenantDisplay": "texto",
      "tenantName": "Fulano de Tal"
    },
    "tenant": "texto",
    "tenantDisplay": "texto",
    "updatedAt": "2025-08-11T13:45:00Z",
    "updatedBy": {
      "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "registrationNumber": "12345678909",
      "userIdDisplay": "texto",
      "tenantDisplay": "texto",
      "tenantName": "Fulano de Tal"
    },
    "ownerUser": {
      "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "registrationNumber": "12345678909",
      "userIdDisplay": "texto",
      "tenantDisplay": "texto",
      "tenantName": "Fulano de Tal"
    },
    "ownerGroup": {
      "groupDisplay": "texto",
      "tenantDisplay": "texto"
    },
    "bankCode": 0,
    "bankCodeDisplay": "texto",
    "bankIspb": 0,
    "account": "texto",
    "agency": "texto",
    "type": "PaymentAccount",
    "typeDisplay": "texto",
    "modality": "NaturalCheckingAccount",
    "modalityDisplay": "texto",
    "quorumMinimumApproval": 0,
    "externalId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "tenantName": "Fulano de Tal",
    "isDeleted": true,
    "status": "Active",
    "statusDisplay": "texto",
    "person": {
      "id": "texto",
      "createdAt": "2025-08-11T13:45:00Z",
      "createdBy": {
        "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "registrationNumber": "12345678909",
        "userIdDisplay": "texto",
        "tenantDisplay": "texto",
        "tenantName": "Fulano de Tal"
      },
      "tenant": "texto",
      "tenantDisplay": "texto",
      "updatedAt": "2025-08-11T13:45:00Z",
      "updatedBy": {
        "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "registrationNumber": "12345678909",
        "userIdDisplay": "texto",
        "tenantDisplay": "texto",
        "tenantName": "Fulano de Tal"
      },
      "ownerUser": {
        "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "registrationNumber": "12345678909",
        "userIdDisplay": "texto",
        "tenantDisplay": "texto",
        "tenantName": "Fulano de Tal"
      },
      "ownerGroup": {
        "groupDisplay": "texto",
        "tenantDisplay": "texto"
      },
      "registrationNumber": "12345678909",
      "name": "Fulano de Tal"
    },
    "balance": {
      "currentBalance": 0,
      "blockedBalance": 0,
      "available": 0,
      "bankAccount": {
        "bankCode": 0,
        "bankIspb": 0,
        "bankCodeDisplay": "texto",
        "type": {},
        "typeDisplay": "texto",
        "modality": {},
        "modalityDisplay": "texto",
        "account": 0,
        "agency": 0,
        "personRegistrationNumber": "texto",
        "personName": "Fulano de Tal",
        "isDeleted": true,
        "status": {},
        "creditors": []
      }
    },
    "creditors": [
      {
        "id": "texto",
        "name": "Fulano de Tal",
        "tenant": "texto"
      }
    ]
  },
  "bankAccountId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "existPendingLimitsApproval": true
}
```

**Códigos de retorno**

| Código | Significado |
|---|---|
| `200` | Requisição bem-sucedida. |

**cURL**

```bash
curl -X GET "{{baseUrl}}/v1/BankAccount/PendingOperators" \
  -H "Authorization: Bearer {{token}}"
```

---

### POST /v1/BankAccount/BatchOperatorsToAccounts

**Criar Bank Account** — Cria um novo registro de Bank Account.

**Corpo da requisição** (`application/json`)

Campos:

| Campo | Tipo | Obrigatório | Descrição | Valores | Exemplo |
|---|---|---|---|---|---|
| `usersIds` | `array de string` | obrigatório | — | — | `[ … ]` |
| `accountsIds` | `array de string` | obrigatório | — | — | `[ … ]` |
| `tenantName` | `string` | obrigatório | — | — | `"Fulano de Tal"` |
| `level` | `string` | obrigatório | — | `Viewer`, `JointApprover`, `MasterApprover`, `Requester` | `"Viewer"` |

Exemplo:

```json
{
  "usersIds": [
    "texto"
  ],
  "accountsIds": [
    "texto"
  ],
  "tenantName": "Fulano de Tal",
  "level": "Viewer"
}
```

**Resposta 200**

Campos:

| Campo | Tipo | Obrigatório | Descrição | Valores | Exemplo |
|---|---|---|---|---|---|
| `id` | `string` | opcional | — | — | `"texto"` |
| `createdAt` | `string (date-time)` | opcional | — | — | `"2025-08-11T13:45:00Z"` |
| `createdBy` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `tenant` | `string` | opcional | — | — | `"texto"` |
| `tenantDisplay` | `string` | opcional | — | — | `"texto"` |
| `updatedAt` | `string (date-time)` | opcional | — | — | `"2025-08-11T13:45:00Z"` |
| `updatedBy` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `ownerUser` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `ownerGroup` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `user` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |
| `userId` | `string` | opcional | — | — | `"3fa85f64-5717-4562-b3fc-2c963f66afa6"` |
| `level` | `string` | opcional | — | — | `"texto"` |
| `levelDisplay` | `string` | opcional | — | — | `"texto"` |
| `status` | `string` | opcional | — | — | `"texto"` |
| `statusDisplay` | `string` | opcional | — | — | `"texto"` |
| `isDeleted` | `boolean` | opcional | — | — | `true` |
| `authorizedAt` | `string (date-time)` | opcional | — | — | `"2025-08-11T13:45:00Z"` |
| `bankAccountId` | `string` | opcional | — | — | `"3fa85f64-5717-4562-b3fc-2c963f66afa6"` |
| `accountNumber` | `integer (int64)` | opcional | — | — | `0` |
| `ownerNameAccount` | `string` | opcional | — | — | `"Fulano de Tal"` |
| `ownerAccountType` | `string` | opcional | — | — | `"texto"` |
| `bankAccountRequestId` | `string` | opcional | — | — | `"3fa85f64-5717-4562-b3fc-2c963f66afa6"` |
| `registrationNumber` | `string` | opcional | — | — | `"12345678909"` |
| `approvals` | `array de objeto` | opcional | — | objeto — ver detalhe abaixo | `[ … ]` |

Detalhe de `approvals`:

| Campo | Tipo | Obrigatório | Descrição | Valores | Exemplo |
|---|---|---|---|---|---|
| `level` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `"Viewer"` |
| `action` | `string` | opcional | — | `Approve`, `Reject`, `Cancel` | `"Approve"` |
| `actionDisplay` | `string` | opcional | — | — | `"texto"` |
| `user` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `{ … }` |

Exemplo:

```json
[
  {
    "id": "texto",
    "createdAt": "2025-08-11T13:45:00Z",
    "createdBy": {
      "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "registrationNumber": "12345678909",
      "userIdDisplay": "texto",
      "tenantDisplay": "texto",
      "tenantName": "Fulano de Tal"
    },
    "tenant": "texto",
    "tenantDisplay": "texto",
    "updatedAt": "2025-08-11T13:45:00Z",
    "updatedBy": {
      "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "registrationNumber": "12345678909",
      "userIdDisplay": "texto",
      "tenantDisplay": "texto",
      "tenantName": "Fulano de Tal"
    },
    "ownerUser": {
      "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "registrationNumber": "12345678909",
      "userIdDisplay": "texto",
      "tenantDisplay": "texto",
      "tenantName": "Fulano de Tal"
    },
    "ownerGroup": {
      "groupDisplay": "texto",
      "tenantDisplay": "texto"
    },
    "user": {
      "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "registrationNumber": "12345678909",
      "userIdDisplay": "texto",
      "tenantDisplay": "texto",
      "tenantName": "Fulano de Tal"
    },
    "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "level": "texto",
    "levelDisplay": "texto",
    "status": "texto",
    "statusDisplay": "texto",
    "isDeleted": true,
    "authorizedAt": "2025-08-11T13:45:00Z",
    "bankAccountId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "accountNumber": 0,
    "ownerNameAccount": "Fulano de Tal",
    "ownerAccountType": "texto",
    "bankAccountRequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "registrationNumber": "12345678909",
    "approvals": [
      {
        "level": "Viewer",
        "action": "Approve",
        "actionDisplay": "texto",
        "user": {
          "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
          "registrationNumber": "12345678909",
          "userIdDisplay": "texto",
          "tenantDisplay": "texto",
          "tenantName": "Fulano de Tal"
        }
      }
    ]
  }
]
```

**Códigos de retorno**

| Código | Significado |
|---|---|
| `200` | Requisição bem-sucedida. |

**cURL**

```bash
curl -X POST "{{baseUrl}}/v1/BankAccount/BatchOperatorsToAccounts" \
  -H "Authorization: Bearer {{token}}" \
  -H "Content-Type: application/json" \
  -d '{
  "usersIds": [
    "texto"
  ],
  "accountsIds": [
    "texto"
  ],
  "tenantName": "Fulano de Tal",
  "level": "Viewer"
}'
```

---

### PUT /v1/BankAccount/{operatorId}/adminApproveOperator

**Administrador aprova operador** — Atualiza por completo um registro de Bank Account existente.

**Parâmetros**

| Nome | Em | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|---|
| `operatorId` | path | `string` | obrigatório | — | `3fa85f64-5717-4562-b3fc-2c963f66afa6` |

**Corpo da requisição** (`application/json`)

Campos:

| Campo | Tipo | Obrigatório | Descrição | Valores | Exemplo |
|---|---|---|---|---|---|
| `action` | `string` | obrigatório | — | `Approve`, `Reject`, `Cancel` | `"Approve"` |
| `sessionId` | `string` | opcional | — | — | `"3fa85f64-5717-4562-b3fc-2c963f66afa6"` |
| `code` | `string` | opcional | — | — | `"texto"` |

Exemplo:

```json
{
  "action": "Approve",
  "sessionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "code": "texto"
}
```

**Códigos de retorno**

| Código | Significado |
|---|---|
| `204` | Sucesso sem corpo de resposta. |

**cURL**

```bash
curl -X PUT "{{baseUrl}}/v1/BankAccount/3fa85f64-5717-4562-b3fc-2c963f66afa6/adminApproveOperator" \
  -H "Authorization: Bearer {{token}}" \
  -H "Content-Type: application/json" \
  -d '{
  "action": "Approve",
  "sessionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "code": "texto"
}'
```

---

### PUT /v1/BankAccount/adminApproveOperatorsByBatch

**Administrador aprova operadores** — Atualiza por completo um registro de Bank Account existente.

**Corpo da requisição** (`application/json`)

Campos:

| Campo | Tipo | Obrigatório | Descrição | Valores | Exemplo |
|---|---|---|---|---|---|
| `operatorIds` | `array de string` | obrigatório | — | — | `[ … ]` |
| `action` | `string` | obrigatório | — | `Approve`, `Reject`, `Cancel` | `"Approve"` |
| `sessionId` | `string` | opcional | — | — | `"3fa85f64-5717-4562-b3fc-2c963f66afa6"` |
| `code` | `string` | opcional | — | — | `"texto"` |

Exemplo:

```json
{
  "operatorIds": [
    "texto"
  ],
  "action": "Approve",
  "sessionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "code": "texto"
}
```

**Códigos de retorno**

| Código | Significado |
|---|---|
| `204` | Sucesso sem corpo de resposta. |

**cURL**

```bash
curl -X PUT "{{baseUrl}}/v1/BankAccount/adminApproveOperatorsByBatch" \
  -H "Authorization: Bearer {{token}}" \
  -H "Content-Type: application/json" \
  -d '{
  "operatorIds": [
    "texto"
  ],
  "action": "Approve",
  "sessionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "code": "texto"
}'
```

---

### PUT /v1/BankAccount/{id}/Operator/{operatorId}/approve

**Aprovar/reprovar a inclusão de novo Operador** — Atualiza por completo um registro de Bank Account existente.

**Parâmetros**

| Nome | Em | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|---|
| `id` | path | `string` | obrigatório | — | `3fa85f64-5717-4562-b3fc-2c963f66afa6` |
| `operatorId` | path | `string` | obrigatório | — | `3fa85f64-5717-4562-b3fc-2c963f66afa6` |

**Corpo da requisição** (`application/json`)

Campos:

| Campo | Tipo | Obrigatório | Descrição | Valores | Exemplo |
|---|---|---|---|---|---|
| `action` | `string` | obrigatório | — | `Approve`, `Reject`, `Cancel` | `"Approve"` |
| `sessionId` | `string` | opcional | — | — | `"3fa85f64-5717-4562-b3fc-2c963f66afa6"` |
| `code` | `string` | opcional | — | — | `"texto"` |

Exemplo:

```json
{
  "action": "Approve",
  "sessionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "code": "texto"
}
```

**Códigos de retorno**

| Código | Significado |
|---|---|
| `204` | Sucesso sem corpo de resposta. |

**cURL**

```bash
curl -X PUT "{{baseUrl}}/v1/BankAccount/3fa85f64-5717-4562-b3fc-2c963f66afa6/Operator/3fa85f64-5717-4562-b3fc-2c963f66afa6/approve" \
  -H "Authorization: Bearer {{token}}" \
  -H "Content-Type: application/json" \
  -d '{
  "action": "Approve",
  "sessionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "code": "texto"
}'
```

---

### PUT /v1/BankAccount/Operator/BatchApproval

**Aprovar/reprovar a inclusão de novos Operadores por lote** — Atualiza por completo um registro de Bank Account existente.

**Corpo da requisição** (`application/json`)

Campos:

| Campo | Tipo | Obrigatório | Descrição | Valores | Exemplo |
|---|---|---|---|---|---|
| `operatorIds` | `array de string` | obrigatório | — | — | `[ … ]` |
| `action` | `string` | obrigatório | — | `Approve`, `Reject`, `Cancel` | `"Approve"` |
| `sessionId` | `string` | opcional | — | — | `"3fa85f64-5717-4562-b3fc-2c963f66afa6"` |
| `code` | `string` | opcional | — | — | `"texto"` |

Exemplo:

```json
{
  "operatorIds": [
    "texto"
  ],
  "action": "Approve",
  "sessionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "code": "texto"
}
```

**Códigos de retorno**

| Código | Significado |
|---|---|
| `204` | Sucesso sem corpo de resposta. |

**cURL**

```bash
curl -X PUT "{{baseUrl}}/v1/BankAccount/Operator/BatchApproval" \
  -H "Authorization: Bearer {{token}}" \
  -H "Content-Type: application/json" \
  -d '{
  "operatorIds": [
    "texto"
  ],
  "action": "Approve",
  "sessionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "code": "texto"
}'
```

---

### PUT /v1/BankAccount/{id}/Operator/{operatorId}

**Atualizar o nível de autorização de um operador em uma conta** — Atualiza por completo um registro de Bank Account existente.

**Parâmetros**

| Nome | Em | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|---|
| `id` | path | `string` | obrigatório | — | `3fa85f64-5717-4562-b3fc-2c963f66afa6` |
| `operatorId` | path | `string` | obrigatório | — | `3fa85f64-5717-4562-b3fc-2c963f66afa6` |

**Corpo da requisição** (`application/json`)

Campos:

| Campo | Tipo | Obrigatório | Descrição | Valores | Exemplo |
|---|---|---|---|---|---|
| `level` | `string` | obrigatório | — | `Viewer`, `JointApprover`, `MasterApprover`, `Requester` | `"Viewer"` |
| `status` | `objeto` | opcional | — | varia conforme o tipo — ver exemplo | `"Approved"` |

Exemplo:

```json
{
  "level": "Viewer",
  "status": "Approved"
}
```

**Códigos de retorno**

| Código | Significado |
|---|---|
| `204` | Sucesso sem corpo de resposta. |

**cURL**

```bash
curl -X PUT "{{baseUrl}}/v1/BankAccount/3fa85f64-5717-4562-b3fc-2c963f66afa6/Operator/3fa85f64-5717-4562-b3fc-2c963f66afa6" \
  -H "Authorization: Bearer {{token}}" \
  -H "Content-Type: application/json" \
  -d '{
  "level": "Viewer",
  "status": "Approved"
}'
```

---

### DELETE /v1/BankAccount/{id}/Operator/{operatorId}

**Remover um operador de uma conta** — Remove um registro de Bank Account.

**Parâmetros**

| Nome | Em | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|---|
| `id` | path | `string` | obrigatório | — | `3fa85f64-5717-4562-b3fc-2c963f66afa6` |
| `operatorId` | path | `string` | obrigatório | — | `3fa85f64-5717-4562-b3fc-2c963f66afa6` |

**Códigos de retorno**

| Código | Significado |
|---|---|
| `204` | Sucesso sem corpo de resposta. |

**cURL**

```bash
curl -X DELETE "{{baseUrl}}/v1/BankAccount/3fa85f64-5717-4562-b3fc-2c963f66afa6/Operator/3fa85f64-5717-4562-b3fc-2c963f66afa6" \
  -H "Authorization: Bearer {{token}}"
```

---

### PUT /v1/BankAccount/{id}/Operator/{operatorId}/cancel

**Cancelar a inclusão de novo Operador** — Atualiza por completo um registro de Bank Account existente.

**Parâmetros**

| Nome | Em | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|---|
| `id` | path | `string` | obrigatório | — | `3fa85f64-5717-4562-b3fc-2c963f66afa6` |
| `operatorId` | path | `string` | obrigatório | — | `3fa85f64-5717-4562-b3fc-2c963f66afa6` |

**Códigos de retorno**

| Código | Significado |
|---|---|
| `204` | Sucesso sem corpo de resposta. |

**cURL**

```bash
curl -X PUT "{{baseUrl}}/v1/BankAccount/3fa85f64-5717-4562-b3fc-2c963f66afa6/Operator/3fa85f64-5717-4562-b3fc-2c963f66afa6/cancel" \
  -H "Authorization: Bearer {{token}}"
```

---

