> 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/docs/document-lifecycle-management/control-document-lifecycle/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.                                 |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://selenium-4.gitbook.io/nexus-docs/docs/document-lifecycle-management/control-document-lifecycle/main.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `build a script that syncs our docs to a CMS` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
