> For the complete documentation index, see [llms.txt](https://selenium-4.gitbook.io/nexus-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://selenium-4.gitbook.io/nexus-docs/service-domain/document-lifecycle-management/operacoes/main.md).

# Control Document Lifecycle

| Campo              | Valor                                                   |
| ------------------ | ------------------------------------------------------- |
| **Service Domain** | Document Lifecycle Management                           |
| **BIAN Version**   | 14.0.0                                                  |
| **Operation**      | Control Document Lifecycle (`ControlDocumentLifecycle`) |
| **API Name**       | Document Lifecycle Management API                       |
| **Autenticação**   | Bearer Token (OAuth 2.0 / OIDC)                         |

> **Nota:** a página fonte no Confluence documenta apenas o contrato de mensagem (payloads de Request/Response) desta operação BIAN `Control`. Método HTTP, endpoint, cabeçalhos, parâmetros e códigos de resposta HTTP não estão especificados na fonte e foram por isso omitidos deste documento.

***

## 1. Descrição da Operação

A operação `ControlDocumentLifecycle` implementa o qualificador de comportamento (Behavior Qualifier) `Control` do domínio de serviço BIAN Document Directory, permitindo executar ações de controlo sobre o ciclo de vida de um documento já registado num diretório de documentos.

No exemplo documentado, a ação de controlo aplicada é `ENFORCE_RETENTION_POLICY`, cobrindo:

* **Gestão de retenção** (`retentionManagement`) — política, período, datas de início/expiração e localização do arquivo;
* **Conformidade da retenção** (`retentionCompliance`) — requisitos regulatórios aplicáveis, jurisdição e restrições de transferência transfronteiriça;
* **Processo de arquivamento** (`archivalProcess`) — método de arquivamento, localização, encriptação e verificação de integridade;
* **Gestão de controlo de acesso** (`accessControlManagement`) — nível de restrição de acesso, motivos de acesso permitidos e procedimento de acesso de emergência;
* **Gestão de conformidade** (`complianceManagement`) — calendário de revisões, atualizações regulatórias e preparação para auditoria;
* **Garantia de qualidade** (`qualityAssurance`) — verificações de qualidade de dados e validação técnica;
* **Ações automáticas** (`automaticActions`) — ações agendadas e condições de disparo (triggers);
* **Avaliação de impacto no negócio** (`businessImpactAssessment`) — valor de negócio, impacto nas partes interessadas e implicações de custo.

Na resposta, o serviço confirma a execução da ação de controlo, devolvendo o estado atualizado da entrada do documento no diretório, incluindo detalhes de retenção, localização, segurança e as próximas ações agendadas.

***

## 2. Payload de Pedido (Request)

### 2.1 Exemplo

```json
{
  "documentDirectoryControlInputRecord": {
    "documentDirectoryControlActionRequest": "ControlDocumentLifecycle",
    "documentDirectoryControlActionTaskRecord": {
      "documentDirectoryControlActionRequest": "ControlDocumentLifecycle",
      "documentDirectoryControlActionTaskReference": "DDCR-001",
      "documentDirectoryInstanceReference": "DOC-DIR-001",
      "documentDirectoryEntryReference": "DOC-ID-001",
      "documentDirectoryControlRecord": {
        "controlType": "LIFECYCLE_MANAGEMENT",
        "controlAction": "ENFORCE_RETENTION_POLICY",
        "controlReason": "REGULATORY_COMPLIANCE_REVIEW",
        "controlRequestedBy": "COMPLIANCE_SYSTEM",
        "controlApprovedBy": "DATA_GOVERNANCE_OFFICER_001",
        "controlRequestDate": "2025-07-10T18:00:00Z",
        "lifecycleControlDetails": {
          "lifecycleAction": "ARCHIVE_AND_RETENTION_ENFORCEMENT",
          "lifecyclePhase": "POST_VERIFICATION_RETENTION",
          "retentionManagement": {
            "retentionPolicy": "REGULATORY_DOCUMENT_RETENTION_POLICY_V2.1",
            "retentionPeriod": "P10Y",
            "retentionStartDate": "2025-07-10T18:00:00Z",
            "retentionExpiryDate": "2035-07-10T18:00:00Z",
            "retentionLocation": "LONG_TERM_ARCHIVE",
            "retentionCompliance": {
              "regulatoryRequirements": [
                "BANK_SECRECY_ACT",
                "PATRIOT_ACT",
                "SOX_COMPLIANCE",
                "GDPR_RETENTION",
                "PCI_DSS"
              ],
              "retentionJurisdiction": "UNITED_STATES",
              "dataResidencyRequirements": ["US_ONLY"],
              "crossBorderRestrictions": ["NO_TRANSFER_TO_NON_ADEQUATE_COUNTRIES"],
              "retentionAuditRequirements": true,
              "destructionCertificationRequired": true
            },
            "archivalProcess": {
              "archivalMethod": "ENCRYPTED_CLOUD_ARCHIVE",
              "archivalLocation": "s3://bank-archive/long-term/DOC-ID-001",
              "archivalDate": "2025-07-10T18:00:00Z",
              "compressionApplied": true,
              "encryptionMethod": "AES-256-GCM",
              "archivalIntegrity": {
                "checksumMethod": "SHA-512",
                "checksumValue": "9f8e7d6c5b4a39281746052013fedcba98765432109876543210abcdef123456789",
                "integrityValidationFrequency": "QUARTERLY",
                "lastIntegrityCheck": "2025-07-10T18:00:00Z",
                "integrityStatus": "VERIFIED"
              }
            }
          },
          "accessControlManagement": {
            "accessRestrictionLevel": "ARCHIVE_RESTRICTED",
            "allowedAccessReasons": [
              "REGULATORY_AUDIT",
              "LEGAL_DISCOVERY",
              "CUSTOMER_REQUEST",
              "INTERNAL_AUDIT",
              "COMPLIANCE_REVIEW"
            ],
            "accessApprovalRequired": true,
            "accessApprovalLevel": "SENIOR_MANAGEMENT",
            "accessLoggingRequired": true,
            "accessNotificationRequired": true,
            "emergencyAccessProcedure": {
              "emergencyAccessAllowed": true,
              "emergencyApprovalRequired": true,
              "emergencyNotificationRequired": true,
              "emergencyAuditRequired": true
            }
          },
          "complianceManagement": {
            "complianceReviewSchedule": {
              "reviewFrequency": "ANNUAL",
              "nextReviewDate": "2026-07-10T18:00:00Z",
              "reviewScope": "FULL_COMPLIANCE_AUDIT",
              "reviewResponsible": "COMPLIANCE_TEAM"
            },
            "regulatoryUpdates": {
              "lastRegulationCheck": "2025-07-10T18:00:00Z",
              "applicableRegulations": [
                "BSA_REQUIREMENTS",
                "CIP_REGULATIONS",
                "BENEFICIAL_OWNERSHIP_RULES",
                "GDPR_REQUIREMENTS"
              ],
              "regulationChangeImpact": "NO_IMMEDIATE_ACTION_REQUIRED",
              "nextRegulationReview": "2025-10-10T18:00:00Z"
            },
            "auditPreparation": {
              "auditReadiness": "COMPLIANT",
              "auditDocumentation": "COMPLETE",
              "auditTrailAvailable": true,
              "auditContactPerson": "COMPLIANCE_OFFICER_001",
              "estimatedAuditTime": "PT30M"
            }
          },
          "qualityAssurance": {
            "dataQualityChecks": {
              "lastQualityReview": "2025-07-10T18:00:00Z",
              "dataIntegrityScore": 99.8,
              "dataCompletenessScore": 100.0,
              "dataAccuracyScore": 98.5,
              "qualityIssuesFound": 0,
              "qualityIssuesResolved": 0,
              "nextQualityReview": "2026-01-10T18:00:00Z"
            },
            "technicalValidation": {
              "fileIntegrityValid": true,
              "encryptionValid": true,
              "accessibilityValid": true,
              "formatValidation": "PASSED",
              "migrationReadiness": "READY",
              "backupIntegrity": "VERIFIED"
            }
          }
        },
        "automaticActions": {
          "scheduledActions": [
            {
              "actionType": "QUARTERLY_INTEGRITY_CHECK",
              "scheduledDate": "2025-10-10T18:00:00Z",
              "actionDescription": "Perform quarterly integrity validation of archived document",
              "automationEnabled": true,
              "notificationRequired": true
            },
            {
              "actionType": "ANNUAL_COMPLIANCE_REVIEW",
              "scheduledDate": "2026-07-10T18:00:00Z",
              "actionDescription": "Annual compliance review and regulation update check",
              "automationEnabled": false,
              "manualReviewRequired": true
            },
            {
              "actionType": "RETENTION_EXPIRY_WARNING",
              "scheduledDate": "2034-07-10T18:00:00Z",
              "actionDescription": "12-month warning before retention period expires",
              "automationEnabled": true,
              "escalationRequired": true
            },
            {
              "actionType": "SECURE_DESTRUCTION",
              "scheduledDate": "2035-07-10T18:00:00Z",
              "actionDescription": "Secure destruction of document after retention period expires",
              "automationEnabled": false,
              "approvalRequired": true,
              "certificationRequired": true
            }
          ],
          "triggerConditions": [
            {
              "triggerType": "REGULATION_CHANGE",
              "triggerDescription": "Automatically review when applicable regulations change",
              "actionRequired": "COMPLIANCE_IMPACT_ASSESSMENT"
            },
            {
              "triggerType": "SECURITY_INCIDENT",
              "triggerDescription": "Additional security review if security incident detected",
              "actionRequired": "IMMEDIATE_SECURITY_AUDIT"
            },
            {
              "triggerType": "ACCESS_ANOMALY",
              "triggerDescription": "Review triggered by unusual access patterns",
              "actionRequired": "ACCESS_PATTERN_INVESTIGATION"
            }
          ]
        },
        "businessImpactAssessment": {
          "businessValue": "HIGH",
          "businessCriticality": "REGULATORY_REQUIRED",
          "stakeholderImpact": [
            {
              "stakeholder": "COMPLIANCE_TEAM",
              "impact": "ONGOING_MONITORING_REQUIRED",
              "actionRequired": "MAINTAIN_OVERSIGHT"
            },
            {
              "stakeholder": "LEGAL_TEAM",
              "impact": "LEGAL_DISCOVERY_SUPPORT",
              "actionRequired": "MAINTAIN_ACCESSIBILITY"
            },
            {
              "stakeholder": "CUSTOMER",
              "impact": "DATA_PRIVACY_PROTECTION",
              "actionRequired": "ENSURE_SECURE_RETENTION"
            }
          ],
          "costImplications": {
            "storageCosting": "REDUCED_TO_ARCHIVE_TIER",
            "complianceCosts": "ONGOING_MINIMAL",
            "accessCosts": "RETRIEVAL_FEE_BASED",
            "totalCostImpact": "COST_OPTIMIZED"
          }
        }
      }
    }
  }
}
```

### 2.2 Objeto Raiz e Identificação da Tarefa

| Campo                                                                                  | Tipo   | Descrição                                                                                   |
| -------------------------------------------------------------------------------------- | ------ | ------------------------------------------------------------------------------------------- |
| `documentDirectoryControlInputRecord.documentDirectoryControlActionRequest`            | string | Ação de controlo do ciclo de vida solicitada. Valor no exemplo: `ControlDocumentLifecycle`. |
| `documentDirectoryControlActionTaskRecord.documentDirectoryControlActionTaskReference` | string | Referência única da tarefa de controlo (ex.: `DDCR-001`).                                   |
| `documentDirectoryControlActionTaskRecord.documentDirectoryInstanceReference`          | string | Referência da instância do diretório de documentos alvo do controlo.                        |
| `documentDirectoryControlActionTaskRecord.documentDirectoryEntryReference`             | string | Referência da entrada/documento específico dentro do diretório.                             |

### 2.3 Objeto: `documentDirectoryControlRecord`

| Campo                | Tipo                       | Descrição                                                                              |
| -------------------- | -------------------------- | -------------------------------------------------------------------------------------- |
| `controlType`        | string                     | Tipo de controlo aplicado (ex.: `LIFECYCLE_MANAGEMENT`).                               |
| `controlAction`      | string                     | Ação de controlo concreta (ex.: `ENFORCE_RETENTION_POLICY`).                           |
| `controlReason`      | string                     | Motivo que originou o pedido de controlo (ex.: `REGULATORY_COMPLIANCE_REVIEW`).        |
| `controlRequestedBy` | string                     | Entidade/sistema que solicitou o controlo (ex.: `COMPLIANCE_SYSTEM`).                  |
| `controlApprovedBy`  | string                     | Identificador de quem aprovou a ação de controlo (ex.: `DATA_GOVERNANCE_OFFICER_001`). |
| `controlRequestDate` | string (ISO 8601 datetime) | Data/hora do pedido de controlo.                                                       |

### 2.4 Objeto: `lifecycleControlDetails`

| Campo             | Tipo   | Descrição                                                                   |
| ----------------- | ------ | --------------------------------------------------------------------------- |
| `lifecycleAction` | string | Ação de ciclo de vida executada (ex.: `ARCHIVE_AND_RETENTION_ENFORCEMENT`). |
| `lifecyclePhase`  | string | Fase do ciclo de vida do documento (ex.: `POST_VERIFICATION_RETENTION`).    |

### 2.5 Objeto: `lifecycleControlDetails.retentionManagement`

| Campo                 | Tipo                       | Descrição                                              |
| --------------------- | -------------------------- | ------------------------------------------------------ |
| `retentionPolicy`     | string                     | Identificador/versão da política de retenção aplicada. |
| `retentionPeriod`     | string (duração ISO 8601)  | Período de retenção (ex.: `P10Y` = 10 anos).           |
| `retentionStartDate`  | string (ISO 8601 datetime) | Data de início da retenção.                            |
| `retentionExpiryDate` | string (ISO 8601 datetime) | Data de expiração da retenção.                         |
| `retentionLocation`   | string                     | Localização de retenção (ex.: `LONG_TERM_ARCHIVE`).    |

#### 2.5.1 Objeto: `retentionManagement.retentionCompliance`

| Campo                              | Tipo            | Descrição                                                                                                                   |
| ---------------------------------- | --------------- | --------------------------------------------------------------------------------------------------------------------------- |
| `regulatoryRequirements[]`         | array de string | Requisitos regulatórios aplicáveis (ex.: `BANK_SECRECY_ACT`, `PATRIOT_ACT`, `SOX_COMPLIANCE`, `GDPR_RETENTION`, `PCI_DSS`). |
| `retentionJurisdiction`            | string          | Jurisdição legal da retenção (ex.: `UNITED_STATES`).                                                                        |
| `dataResidencyRequirements[]`      | array de string | Requisitos de residência de dados (ex.: `US_ONLY`).                                                                         |
| `crossBorderRestrictions[]`        | array de string | Restrições de transferência transfronteiriça (ex.: `NO_TRANSFER_TO_NON_ADEQUATE_COUNTRIES`).                                |
| `retentionAuditRequirements`       | boolean         | Indica se há requisitos de auditoria sobre a retenção.                                                                      |
| `destructionCertificationRequired` | boolean         | Indica se a destruição do documento requer certificação.                                                                    |

#### 2.5.2 Objeto: `retentionManagement.archivalProcess`

| Campo                                            | Tipo                       | Descrição                                                                   |
| ------------------------------------------------ | -------------------------- | --------------------------------------------------------------------------- |
| `archivalMethod`                                 | string                     | Método de arquivamento (ex.: `ENCRYPTED_CLOUD_ARCHIVE`).                    |
| `archivalLocation`                               | string                     | Localização do arquivo (ex.: URI `s3://bank-archive/long-term/DOC-ID-001`). |
| `archivalDate`                                   | string (ISO 8601 datetime) | Data em que o arquivamento foi efetuado.                                    |
| `compressionApplied`                             | boolean                    | Indica se foi aplicada compressão ao arquivo.                               |
| `encryptionMethod`                               | string                     | Método de encriptação aplicado (ex.: `AES-256-GCM`).                        |
| `archivalIntegrity.checksumMethod`               | string                     | Algoritmo usado para o checksum de integridade (ex.: `SHA-512`).            |
| `archivalIntegrity.checksumValue`                | string                     | Valor do checksum calculado.                                                |
| `archivalIntegrity.integrityValidationFrequency` | string                     | Frequência de validação da integridade (ex.: `QUARTERLY`).                  |
| `archivalIntegrity.lastIntegrityCheck`           | string (ISO 8601 datetime) | Data da última verificação de integridade.                                  |
| `archivalIntegrity.integrityStatus`              | string                     | Estado da integridade (ex.: `VERIFIED`).                                    |

### 2.6 Objeto: `lifecycleControlDetails.accessControlManagement`

| Campo                                                    | Tipo            | Descrição                                                                                                                                                     |
| -------------------------------------------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `accessRestrictionLevel`                                 | string          | Nível de restrição de acesso ao documento (ex.: `ARCHIVE_RESTRICTED`).                                                                                        |
| `allowedAccessReasons[]`                                 | array de string | Motivos que justificam acesso ao documento arquivado (ex.: `REGULATORY_AUDIT`, `LEGAL_DISCOVERY`, `CUSTOMER_REQUEST`, `INTERNAL_AUDIT`, `COMPLIANCE_REVIEW`). |
| `accessApprovalRequired`                                 | boolean         | Indica se o acesso requer aprovação prévia.                                                                                                                   |
| `accessApprovalLevel`                                    | string          | Nível hierárquico necessário para aprovar o acesso (ex.: `SENIOR_MANAGEMENT`).                                                                                |
| `accessLoggingRequired`                                  | boolean         | Indica se todo acesso deve ser registado.                                                                                                                     |
| `accessNotificationRequired`                             | boolean         | Indica se o acesso deve gerar notificação.                                                                                                                    |
| `emergencyAccessProcedure.emergencyAccessAllowed`        | boolean         | Indica se é permitido acesso de emergência.                                                                                                                   |
| `emergencyAccessProcedure.emergencyApprovalRequired`     | boolean         | Indica se o acesso de emergência requer aprovação.                                                                                                            |
| `emergencyAccessProcedure.emergencyNotificationRequired` | boolean         | Indica se o acesso de emergência requer notificação.                                                                                                          |
| `emergencyAccessProcedure.emergencyAuditRequired`        | boolean         | Indica se o acesso de emergência requer auditoria.                                                                                                            |

### 2.7 Objeto: `lifecycleControlDetails.complianceManagement`

| Campo                                        | Tipo                       | Descrição                                                                                                              |
| -------------------------------------------- | -------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `complianceReviewSchedule.reviewFrequency`   | string                     | Frequência das revisões de conformidade (ex.: `ANNUAL`).                                                               |
| `complianceReviewSchedule.nextReviewDate`    | string (ISO 8601 datetime) | Data da próxima revisão de conformidade.                                                                               |
| `complianceReviewSchedule.reviewScope`       | string                     | Âmbito da revisão (ex.: `FULL_COMPLIANCE_AUDIT`).                                                                      |
| `complianceReviewSchedule.reviewResponsible` | string                     | Equipa/entidade responsável pela revisão.                                                                              |
| `regulatoryUpdates.lastRegulationCheck`      | string (ISO 8601 datetime) | Data da última verificação regulatória.                                                                                |
| `regulatoryUpdates.applicableRegulations[]`  | array de string            | Regulações aplicáveis (ex.: `BSA_REQUIREMENTS`, `CIP_REGULATIONS`, `BENEFICIAL_OWNERSHIP_RULES`, `GDPR_REQUIREMENTS`). |
| `regulatoryUpdates.regulationChangeImpact`   | string                     | Impacto de alterações regulatórias (ex.: `NO_IMMEDIATE_ACTION_REQUIRED`).                                              |
| `regulatoryUpdates.nextRegulationReview`     | string (ISO 8601 datetime) | Data da próxima revisão regulatória.                                                                                   |
| `auditPreparation.auditReadiness`            | string                     | Estado de preparação para auditoria (ex.: `COMPLIANT`).                                                                |
| `auditPreparation.auditDocumentation`        | string                     | Estado da documentação de auditoria (ex.: `COMPLETE`).                                                                 |
| `auditPreparation.auditTrailAvailable`       | boolean                    | Indica se a trilha de auditoria está disponível.                                                                       |
| `auditPreparation.auditContactPerson`        | string                     | Pessoa de contacto para a auditoria.                                                                                   |
| `auditPreparation.estimatedAuditTime`        | string (duração ISO 8601)  | Tempo estimado da auditoria (ex.: `PT30M`).                                                                            |

### 2.8 Objeto: `lifecycleControlDetails.qualityAssurance`

| Campo                                     | Tipo                       | Descrição                                          |
| ----------------------------------------- | -------------------------- | -------------------------------------------------- |
| `dataQualityChecks.lastQualityReview`     | string (ISO 8601 datetime) | Data da última revisão de qualidade de dados.      |
| `dataQualityChecks.dataIntegrityScore`    | decimal                    | Pontuação de integridade dos dados (%).            |
| `dataQualityChecks.dataCompletenessScore` | decimal                    | Pontuação de completude dos dados (%).             |
| `dataQualityChecks.dataAccuracyScore`     | decimal                    | Pontuação de exatidão dos dados (%).               |
| `dataQualityChecks.qualityIssuesFound`    | integer                    | Número de problemas de qualidade encontrados.      |
| `dataQualityChecks.qualityIssuesResolved` | integer                    | Número de problemas de qualidade resolvidos.       |
| `dataQualityChecks.nextQualityReview`     | string (ISO 8601 datetime) | Data da próxima revisão de qualidade.              |
| `technicalValidation.fileIntegrityValid`  | boolean                    | Indica se a integridade do ficheiro é válida.      |
| `technicalValidation.encryptionValid`     | boolean                    | Indica se a encriptação é válida.                  |
| `technicalValidation.accessibilityValid`  | boolean                    | Indica se a acessibilidade ao documento é válida.  |
| `technicalValidation.formatValidation`    | string                     | Resultado da validação de formato (ex.: `PASSED`). |
| `technicalValidation.migrationReadiness`  | string                     | Estado de prontidão para migração (ex.: `READY`).  |
| `technicalValidation.backupIntegrity`     | string                     | Estado de integridade do backup (ex.: `VERIFIED`). |

### 2.9 Objeto: `automaticActions`

`scheduledActions[]` — ações agendadas automaticamente:

| Campo                                                                                                                 | Tipo                       | Descrição                                                                                                                               |
| --------------------------------------------------------------------------------------------------------------------- | -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| `actionType`                                                                                                          | string                     | Tipo de ação agendada (ex.: `QUARTERLY_INTEGRITY_CHECK`, `ANNUAL_COMPLIANCE_REVIEW`, `RETENTION_EXPIRY_WARNING`, `SECURE_DESTRUCTION`). |
| `scheduledDate`                                                                                                       | string (ISO 8601 datetime) | Data agendada para a ação.                                                                                                              |
| `actionDescription`                                                                                                   | string                     | Descrição da ação a executar.                                                                                                           |
| `automationEnabled`                                                                                                   | boolean                    | Indica se a ação é executada automaticamente.                                                                                           |
| `notificationRequired` / `manualReviewRequired` / `escalationRequired` / `approvalRequired` / `certificationRequired` | boolean                    | Flags adicionais específicas de cada tipo de ação (variam consoante o `actionType`).                                                    |

`triggerConditions[]` — condições que despoletam revisão adicional:

| Campo                | Tipo   | Descrição                                                                                      |
| -------------------- | ------ | ---------------------------------------------------------------------------------------------- |
| `triggerType`        | string | Tipo de condição de disparo (ex.: `REGULATION_CHANGE`, `SECURITY_INCIDENT`, `ACCESS_ANOMALY`). |
| `triggerDescription` | string | Descrição da condição.                                                                         |
| `actionRequired`     | string | Ação requerida quando a condição é despoletada.                                                |

### 2.10 Objeto: `businessImpactAssessment`

| Campo                 | Tipo   | Descrição                                             |
| --------------------- | ------ | ----------------------------------------------------- |
| `businessValue`       | string | Valor de negócio do documento/controlo (ex.: `HIGH`). |
| `businessCriticality` | string | Criticidade de negócio (ex.: `REGULATORY_REQUIRED`).  |

`stakeholderImpact[]`:

| Campo            | Tipo   | Descrição                                                                       |
| ---------------- | ------ | ------------------------------------------------------------------------------- |
| `stakeholder`    | string | Parte interessada impactada (ex.: `COMPLIANCE_TEAM`, `LEGAL_TEAM`, `CUSTOMER`). |
| `impact`         | string | Natureza do impacto sobre essa parte interessada.                               |
| `actionRequired` | string | Ação requerida da parte interessada.                                            |

`costImplications`:

| Campo             | Tipo   | Descrição                                                                         |
| ----------------- | ------ | --------------------------------------------------------------------------------- |
| `storageCosting`  | string | Impacto do controlo nos custos de armazenamento (ex.: `REDUCED_TO_ARCHIVE_TIER`). |
| `complianceCosts` | string | Impacto nos custos de conformidade (ex.: `ONGOING_MINIMAL`).                      |
| `accessCosts`     | string | Modelo de custos de acesso (ex.: `RETRIEVAL_FEE_BASED`).                          |
| `totalCostImpact` | string | Impacto total de custo (ex.: `COST_OPTIMIZED`).                                   |

***

## 3. Payload de Resposta (Response)

### 3.1 Exemplo

```json
{
  "documentDirectoryControlOutputRecord": {
    "documentDirectoryControlActionTaskRecord": {
      "documentDirectoryControlActionRequest": "ControlDocumentLifecycle",
      "documentDirectoryControlActionTaskReference": "DDCR-001",
      "documentDirectoryControlActionTaskRecord": {
        "documentDirectoryInstanceRecord": {
          "documentDirectoryInstanceReference": "DOC-DIR-001",
          "documentDirectoryInstanceStatus": "Active",
          "documentDirectoryEntryRecord": {
            "documentEntryReference": "DOC-ID-001",
            "documentEntryDetails": {
              "documentId": "DOC-ID-001",
              "documentType": "IDENTIFICATION",
              "documentSubType": "PASSPORT",
              "documentName": "Customer Passport Document",
              "documentStatus": "ARCHIVED",
              "documentLifecyclePhase": "LONG_TERM_RETENTION",
              "lifecycleControlDetails": {
                "lifecycleControlId": "LIFECYCLE-CTRL-001",
                "controlAction": "ENFORCE_RETENTION_POLICY",
                "controlStatus": "SUCCESSFULLY_EXECUTED",
                "controlExecutionDate": "2025-07-10T18:30:00Z",
                "controlExecutedBy": "LIFECYCLE_MANAGEMENT_SYSTEM",
                "controlApprovedBy": "DATA_GOVERNANCE_OFFICER_001",
                "retentionManagement": {
                  "retentionPolicyApplied": "REGULATORY_DOCUMENT_RETENTION_POLICY_V2.1",
                  "retentionPeriod": "P10Y",
                  "retentionStartDate": "2025-07-10T18:30:00Z",
                  "retentionExpiryDate": "2035-07-10T18:30:00Z",
                  "retentionStatus": "ACTIVE",
                  "archivalLocation": "s3://bank-archive/long-term/DOC-ID-001.encrypted",
                  "archivalDate": "2025-07-10T18:30:00Z",
                  "archivalSize": 2048576,
                  "compressionRatio": 0.75,
                  "encryptionStatus": "ENCRYPTED",
                  "archivalChecksumSHA512": "9f8e7d6c5b4a39281746052013fedcba98765432109876543210abcdef123456789"
                },
                "accessControlUpdates": {
                  "newAccessLevel": "ARCHIVE_RESTRICTED",
                  "accessPermissions": ["AUDIT_READ_ONLY"],
                  "accessApprovalRequired": true,
                  "accessLoggingEnabled": true,
                  "accessNotificationEnabled": true,
                  "emergencyAccessConfigured": true
                },
                "complianceStatus": {
                  "regulatoryCompliance": "FULLY_COMPLIANT",
                  "complianceValidationDate": "2025-07-10T18:30:00Z",
                  "complianceValidatedBy": "COMPLIANCE_AUTOMATION_SYSTEM",
                  "applicableRegulations": [
                    "BSA_REQUIREMENTS",
                    "PATRIOT_ACT",
                    "GDPR_RETENTION",
                    "SOX_COMPLIANCE"
                  ],
                  "complianceScore": 100,
                  "complianceIssues": [],
                  "nextComplianceReview": "2026-07-10T18:30:00Z"
                },
                "qualityAssurance": {
                  "dataQualityScore": 99.8,
                  "integrityValidationPassed": true,
                  "accessibilityConfirmed": true,
                  "backupIntegrityConfirmed": true,
                  "migrationReadiness": "CONFIRMED",
                  "qualityAssuranceDate": "2025-07-10T18:30:00Z"
                },
                "scheduledOperations": {
                  "nextIntegrityCheck": "2025-10-10T18:00:00Z",
                  "nextComplianceReview": "2026-07-10T18:00:00Z",
                  "retentionExpiryWarning": "2034-07-10T18:00:00Z",
                  "secureDestructionDate": "2035-07-10T18:00:00Z",
                  "automaticMonitoringEnabled": true,
                  "alertsConfigured": 4
                },
                "costOptimization": {
                  "storageClass": "GLACIER_DEEP_ARCHIVE",
                  "storageCosting": "OPTIMIZED",
                  "accessCostModel": "PAY_PER_RETRIEVAL",
                  "estimatedAnnualCost": "$12.50",
                  "costSavingsAchieved": 85.5
                },
                "auditPreparedness": {
                  "auditReadiness": "FULLY_PREPARED",
                  "auditDocumentation": {
                    "retentionPolicyDocument": "available",
                    "complianceCheckList": "complete",
                    "accessLog": "comprehensive",
                    "integrityReports": "current",
                    "regulatoryMapping": "up-to-date"
                  },
                  "auditContactAssigned": "COMPLIANCE_OFFICER_001",
                  "estimatedAuditPreparationTime": "PT15M"
                }
              },
              "documentLocation": {
                "primaryLocation": "s3://bank-archive/long-term/DOC-ID-001.encrypted",
                "backupLocation": "s3://bank-backup-archive/long-term/DOC-ID-001.encrypted",
                "geographicLocation": "US-EAST-1",
                "accessMethod": "SECURE_RETRIEVAL_API",
                "retrievalTime": "PT12H",
                "retrievalCost": "$0.05_per_GB"
              },
              "documentSecurity": {
                "encryptionStatus": "ENCRYPTED",
                "encryptionMethod": "AES-256-GCM",
                "keyManagement": "HSM_MANAGED",
                "accessControl": "RBAC_WITH_APPROVAL",
                "auditLogging": "COMPREHENSIVE",
                "integrityMonitoring": "CONTINUOUS",
                "threatDetection": "ENABLED",
                "dataLossPrevention": "ACTIVE"
              }
            }
          }
        }
      }
    },
    "documentDirectoryControlActionResponse": {
      "documentDirectoryControlActionResponseCode": "Success",
      "documentDirectoryControlActionResponseMessage": "Document lifecycle control successfully executed - Document DOC-ID-001 archived with 10-year retention policy",
      "documentDirectoryControlActionResponseDetails": {
        "lifecycleControlId": "LIFECYCLE-CTRL-001",
        "documentId": "DOC-ID-001",
        "controlAction": "ENFORCE_RETENTION_POLICY",
        "executionStatus": "SUCCESSFULLY_COMPLETED",
        "executionTimestamp": "2025-07-10T18:30:00Z",
        "lifecyclePhase": "LONG_TERM_RETENTION",
        "retentionPeriod": "P10Y",
        "retentionExpiryDate": "2035-07-10T18:30:00Z",
        "archivalLocation": "SECURE_LONG_TERM_ARCHIVE",
        "complianceStatus": "FULLY_COMPLIANT",
        "costOptimization": {
          "storageOptimized": true,
          "costSavings": "85.5%",
          "newStorageClass": "GLACIER_DEEP_ARCHIVE"
        },
        "automationSetup": {
          "scheduledActionsConfigured": 4,
          "monitoringEnabled": true,
          "alertsActive": true,
          "complianceTrackingActive": true
        },
        "nextActions": [
          {
            "action": "QUARTERLY_INTEGRITY_CHECK",
            "scheduledDate": "2025-10-10T18:00:00Z",
            "automated": true
          },
          {
            "action": "ANNUAL_COMPLIANCE_REVIEW",
            "scheduledDate": "2026-07-10T18:00:00Z",
            "automated": false
          }
        ],
        "accessInformation": {
          "retrievalMethod": "SECURE_API_REQUEST",
          "approvalRequired": true,
          "estimatedRetrievalTime": "PT12H",
          "retrievalCost": "$0.05_per_GB",
          "emergencyAccessAvailable": true
        },
        "supportInformation": {
          "documentationUpdated": true,
          "stakeholdersNotified": true,
          "auditTrailComplete": true,
          "complianceTeamInformed": true,
          "helpDeskInformed": true
        }
      }
    }
  }
}
```

### 3.2 Objeto: `documentDirectoryControlActionTaskRecord`

| Campo                                                                | Tipo   | Descrição                                           |
| -------------------------------------------------------------------- | ------ | --------------------------------------------------- |
| `documentDirectoryControlActionRequest`                              | string | Ação de controlo executada (eco do pedido).         |
| `documentDirectoryControlActionTaskReference`                        | string | Referência da tarefa de controlo (eco do pedido).   |
| `documentDirectoryInstanceRecord.documentDirectoryInstanceReference` | string | Referência da instância do diretório de documentos. |
| `documentDirectoryInstanceRecord.documentDirectoryInstanceStatus`    | string | Estado da instância do diretório (ex.: `Active`).   |

### 3.3 Objeto: `documentEntryDetails` (dados do documento)

| Campo                    | Tipo   | Descrição                                                           |
| ------------------------ | ------ | ------------------------------------------------------------------- |
| `documentId`             | string | Identificador do documento.                                         |
| `documentType`           | string | Tipo de documento (ex.: `IDENTIFICATION`).                          |
| `documentSubType`        | string | Subtipo do documento (ex.: `PASSPORT`).                             |
| `documentName`           | string | Nome descritivo do documento.                                       |
| `documentStatus`         | string | Estado do documento após o controlo (ex.: `ARCHIVED`).              |
| `documentLifecyclePhase` | string | Fase do ciclo de vida após o controlo (ex.: `LONG_TERM_RETENTION`). |

### 3.4 Objeto: `documentEntryDetails.lifecycleControlDetails`

| Campo                                             | Tipo                       | Descrição                                                                                                                                                  |
| ------------------------------------------------- | -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `lifecycleControlId`                              | string                     | Identificador único da execução do controlo de ciclo de vida.                                                                                              |
| `controlAction`                                   | string                     | Ação de controlo executada.                                                                                                                                |
| `controlStatus`                                   | string                     | Estado da execução (ex.: `SUCCESSFULLY_EXECUTED`).                                                                                                         |
| `controlExecutionDate`                            | string (ISO 8601 datetime) | Data/hora de execução do controlo.                                                                                                                         |
| `controlExecutedBy`                               | string                     | Sistema que executou o controlo (ex.: `LIFECYCLE_MANAGEMENT_SYSTEM`).                                                                                      |
| `controlApprovedBy`                               | string                     | Identificador de quem aprovou o controlo.                                                                                                                  |
| `retentionManagement.retentionPolicyApplied`      | string                     | Política de retenção aplicada.                                                                                                                             |
| `retentionManagement.retentionPeriod`             | string (duração ISO 8601)  | Período de retenção aplicado.                                                                                                                              |
| `retentionManagement.retentionStartDate`          | string (ISO 8601 datetime) | Data de início da retenção.                                                                                                                                |
| `retentionManagement.retentionExpiryDate`         | string (ISO 8601 datetime) | Data de expiração da retenção.                                                                                                                             |
| `retentionManagement.retentionStatus`             | string                     | Estado da retenção (ex.: `ACTIVE`).                                                                                                                        |
| `retentionManagement.archivalLocation`            | string                     | Localização do arquivo.                                                                                                                                    |
| `retentionManagement.archivalDate`                | string (ISO 8601 datetime) | Data de arquivamento.                                                                                                                                      |
| `retentionManagement.archivalSize`                | integer                    | Tamanho do arquivo (bytes).                                                                                                                                |
| `retentionManagement.compressionRatio`            | decimal                    | Rácio de compressão aplicado.                                                                                                                              |
| `retentionManagement.encryptionStatus`            | string                     | Estado da encriptação (ex.: `ENCRYPTED`).                                                                                                                  |
| `retentionManagement.archivalChecksumSHA512`      | string                     | Checksum SHA-512 do arquivo.                                                                                                                               |
| `accessControlUpdates.newAccessLevel`             | string                     | Novo nível de acesso definido.                                                                                                                             |
| `accessControlUpdates.accessPermissions[]`        | array de string            | Permissões de acesso concedidas (ex.: `AUDIT_READ_ONLY`).                                                                                                  |
| `accessControlUpdates.accessApprovalRequired`     | boolean                    | Indica se acesso futuro requer aprovação.                                                                                                                  |
| `accessControlUpdates.accessLoggingEnabled`       | boolean                    | Indica se o registo de acessos está ativo.                                                                                                                 |
| `accessControlUpdates.accessNotificationEnabled`  | boolean                    | Indica se a notificação de acessos está ativa.                                                                                                             |
| `accessControlUpdates.emergencyAccessConfigured`  | boolean                    | Indica se o procedimento de acesso de emergência está configurado.                                                                                         |
| `complianceStatus.regulatoryCompliance`           | string                     | Estado de conformidade regulatória (ex.: `FULLY_COMPLIANT`).                                                                                               |
| `complianceStatus.complianceValidationDate`       | string (ISO 8601 datetime) | Data de validação da conformidade.                                                                                                                         |
| `complianceStatus.complianceValidatedBy`          | string                     | Sistema/entidade que validou a conformidade.                                                                                                               |
| `complianceStatus.applicableRegulations[]`        | array de string            | Regulações aplicáveis validadas.                                                                                                                           |
| `complianceStatus.complianceScore`                | integer                    | Pontuação de conformidade (0-100).                                                                                                                         |
| `complianceStatus.complianceIssues[]`             | array                      | Problemas de conformidade identificados (vazio quando não há problemas).                                                                                   |
| `complianceStatus.nextComplianceReview`           | string (ISO 8601 datetime) | Data da próxima revisão de conformidade.                                                                                                                   |
| `qualityAssurance.dataQualityScore`               | decimal                    | Pontuação de qualidade dos dados.                                                                                                                          |
| `qualityAssurance.integrityValidationPassed`      | boolean                    | Indica se a validação de integridade foi bem-sucedida.                                                                                                     |
| `qualityAssurance.accessibilityConfirmed`         | boolean                    | Indica se a acessibilidade ao documento foi confirmada.                                                                                                    |
| `qualityAssurance.backupIntegrityConfirmed`       | boolean                    | Indica se a integridade do backup foi confirmada.                                                                                                          |
| `qualityAssurance.migrationReadiness`             | string                     | Estado de prontidão para migração (ex.: `CONFIRMED`).                                                                                                      |
| `qualityAssurance.qualityAssuranceDate`           | string (ISO 8601 datetime) | Data da garantia de qualidade.                                                                                                                             |
| `scheduledOperations.nextIntegrityCheck`          | string (ISO 8601 datetime) | Data da próxima verificação de integridade.                                                                                                                |
| `scheduledOperations.nextComplianceReview`        | string (ISO 8601 datetime) | Data da próxima revisão de conformidade.                                                                                                                   |
| `scheduledOperations.retentionExpiryWarning`      | string (ISO 8601 datetime) | Data do aviso de expiração da retenção.                                                                                                                    |
| `scheduledOperations.secureDestructionDate`       | string (ISO 8601 datetime) | Data agendada para destruição segura.                                                                                                                      |
| `scheduledOperations.automaticMonitoringEnabled`  | boolean                    | Indica se a monitorização automática está ativa.                                                                                                           |
| `scheduledOperations.alertsConfigured`            | integer                    | Número de alertas configurados.                                                                                                                            |
| `costOptimization.storageClass`                   | string                     | Classe de armazenamento aplicada (ex.: `GLACIER_DEEP_ARCHIVE`).                                                                                            |
| `costOptimization.storageCosting`                 | string                     | Estado de otimização de custo de armazenamento.                                                                                                            |
| `costOptimization.accessCostModel`                | string                     | Modelo de custo de acesso (ex.: `PAY_PER_RETRIEVAL`).                                                                                                      |
| `costOptimization.estimatedAnnualCost`            | string                     | Custo anual estimado.                                                                                                                                      |
| `costOptimization.costSavingsAchieved`            | decimal                    | Percentagem de poupança de custo alcançada.                                                                                                                |
| `auditPreparedness.auditReadiness`                | string                     | Estado de preparação para auditoria (ex.: `FULLY_PREPARED`).                                                                                               |
| `auditPreparedness.auditDocumentation.*`          | string                     | Estado de cada peça de documentação de auditoria (`retentionPolicyDocument`, `complianceCheckList`, `accessLog`, `integrityReports`, `regulatoryMapping`). |
| `auditPreparedness.auditContactAssigned`          | string                     | Pessoa de contacto atribuída para a auditoria.                                                                                                             |
| `auditPreparedness.estimatedAuditPreparationTime` | string (duração ISO 8601)  | Tempo estimado de preparação da auditoria.                                                                                                                 |

### 3.5 Objeto: `documentEntryDetails.documentLocation`

| Campo                | Tipo                      | Descrição                                                    |
| -------------------- | ------------------------- | ------------------------------------------------------------ |
| `primaryLocation`    | string                    | Localização primária do documento arquivado.                 |
| `backupLocation`     | string                    | Localização de backup do documento.                          |
| `geographicLocation` | string                    | Região geográfica de armazenamento (ex.: `US-EAST-1`).       |
| `accessMethod`       | string                    | Método de acesso ao documento (ex.: `SECURE_RETRIEVAL_API`). |
| `retrievalTime`      | string (duração ISO 8601) | Tempo estimado de recuperação do documento.                  |
| `retrievalCost`      | string                    | Custo estimado de recuperação.                               |

### 3.6 Objeto: `documentEntryDetails.documentSecurity`

| Campo                 | Tipo   | Descrição                                                  |
| --------------------- | ------ | ---------------------------------------------------------- |
| `encryptionStatus`    | string | Estado da encriptação (ex.: `ENCRYPTED`).                  |
| `encryptionMethod`    | string | Método de encriptação (ex.: `AES-256-GCM`).                |
| `keyManagement`       | string | Modelo de gestão de chaves (ex.: `HSM_MANAGED`).           |
| `accessControl`       | string | Modelo de controlo de acesso (ex.: `RBAC_WITH_APPROVAL`).  |
| `auditLogging`        | string | Nível de registo de auditoria (ex.: `COMPREHENSIVE`).      |
| `integrityMonitoring` | string | Nível de monitorização de integridade (ex.: `CONTINUOUS`). |
| `threatDetection`     | string | Estado da deteção de ameaças (ex.: `ENABLED`).             |
| `dataLossPrevention`  | string | Estado da prevenção de perda de dados (ex.: `ACTIVE`).     |

### 3.7 Objeto: `documentDirectoryControlActionResponse`

| Campo                                                               | Tipo                       | Descrição                                                            |
| ------------------------------------------------------------------- | -------------------------- | -------------------------------------------------------------------- |
| `documentDirectoryControlActionResponseCode`                        | string                     | Código de resultado da ação de controlo (ex.: `Success`).            |
| `documentDirectoryControlActionResponseMessage`                     | string                     | Mensagem legível que descreve o resultado da operação.               |
| `documentDirectoryControlActionResponseDetails.lifecycleControlId`  | string                     | Identificador da execução do controlo.                               |
| `documentDirectoryControlActionResponseDetails.documentId`          | string                     | Identificador do documento controlado.                               |
| `documentDirectoryControlActionResponseDetails.controlAction`       | string                     | Ação de controlo executada.                                          |
| `documentDirectoryControlActionResponseDetails.executionStatus`     | string                     | Estado de execução (ex.: `SUCCESSFULLY_COMPLETED`).                  |
| `documentDirectoryControlActionResponseDetails.executionTimestamp`  | string (ISO 8601 datetime) | Data/hora de conclusão da execução.                                  |
| `documentDirectoryControlActionResponseDetails.lifecyclePhase`      | string                     | Fase do ciclo de vida resultante.                                    |
| `documentDirectoryControlActionResponseDetails.retentionPeriod`     | string (duração ISO 8601)  | Período de retenção aplicado.                                        |
| `documentDirectoryControlActionResponseDetails.retentionExpiryDate` | string (ISO 8601 datetime) | Data de expiração da retenção.                                       |
| `documentDirectoryControlActionResponseDetails.archivalLocation`    | string                     | Localização do arquivo (categoria, ex.: `SECURE_LONG_TERM_ARCHIVE`). |
| `documentDirectoryControlActionResponseDetails.complianceStatus`    | string                     | Estado de conformidade (ex.: `FULLY_COMPLIANT`).                     |
| `costOptimization.storageOptimized`                                 | boolean                    | Indica se o armazenamento foi otimizado.                             |
| `costOptimization.costSavings`                                      | string                     | Percentagem de poupança de custo (ex.: `85.5%`).                     |
| `costOptimization.newStorageClass`                                  | string                     | Nova classe de armazenamento aplicada.                               |
| `automationSetup.scheduledActionsConfigured`                        | integer                    | Número de ações automáticas configuradas.                            |
| `automationSetup.monitoringEnabled`                                 | boolean                    | Indica se a monitorização automática está ativa.                     |
| `automationSetup.alertsActive`                                      | boolean                    | Indica se os alertas estão ativos.                                   |
| `automationSetup.complianceTrackingActive`                          | boolean                    | Indica se o rastreio de conformidade está ativo.                     |
| `nextActions[].action`                                              | string                     | Próxima ação agendada.                                               |
| `nextActions[].scheduledDate`                                       | string (ISO 8601 datetime) | Data agendada para a próxima ação.                                   |
| `nextActions[].automated`                                           | boolean                    | Indica se a próxima ação é automática.                               |
| `accessInformation.retrievalMethod`                                 | string                     | Método de recuperação do documento (ex.: `SECURE_API_REQUEST`).      |
| `accessInformation.approvalRequired`                                | boolean                    | Indica se a recuperação requer aprovação.                            |
| `accessInformation.estimatedRetrievalTime`                          | string (duração ISO 8601)  | Tempo estimado de recuperação.                                       |
| `accessInformation.retrievalCost`                                   | string                     | Custo estimado de recuperação.                                       |
| `accessInformation.emergencyAccessAvailable`                        | boolean                    | Indica se o acesso de emergência está disponível.                    |
| `supportInformation.documentationUpdated`                           | boolean                    | Indica se a documentação foi atualizada.                             |
| `supportInformation.stakeholdersNotified`                           | boolean                    | Indica se as partes interessadas foram notificadas.                  |
| `supportInformation.auditTrailComplete`                             | boolean                    | Indica se a trilha de auditoria está completa.                       |
| `supportInformation.complianceTeamInformed`                         | boolean                    | Indica se a equipa de conformidade foi informada.                    |
| `supportInformation.helpDeskInformed`                               | boolean                    | Indica se o help desk foi informado.                                 |
