> 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/party-reference-data-directory/operacoes/main-1.md).

# Update Party Additional Attributes

| Campo          | Valor                              |
| -------------- | ---------------------------------- |
| Service Domain | Party Reference Data Directory     |
| BIAN Version   | 14.0.0                             |
| Operation      | Update Party Additional Attributes |
| Method         | PATCH                              |
| API Name       | Party Reference Data Directory API |
| Versão         | v1.0.0                             |

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

O serviço de Actualização de Atributos Adicionais de uma Entidade (Party) permite actualizar o nível de risco de uma entidade (ex: Risco AML, Risco comportamental, Estado de Filtering), através da alteração dos atributos adicionais (`partyAdditionalAttributes`) registados no directório de dados de referência. A operação recebe uma lista de pares código/valor com os atributos a actualizar; apenas os atributos recebidos no pedido são considerados na validação. Em caso de sucesso, não é devolvido conteúdo (`204 No Content`).

| Campo        | Valor                                                                                              |
| ------------ | -------------------------------------------------------------------------------------------------- |
| API Name     | Party Reference Data Directory API                                                                 |
| Versão       | v1.0.0                                                                                             |
| Endpoint     | PATCH /party-reference-data-directory/{partyReferenceDataDirectoryId}/additional-attributes/update |
| Autenticação | Bearer Token (OAuth 2.0 / OIDC)                                                                    |

## 2. Cabeçalhos HTTP

| Header                         | Obrigatório | Notas                                        |
| ------------------------------ | ----------- | -------------------------------------------- |
| Authorization: Bearer {token}  | Sim         | OAuth2 / JWT client\_credentials para M2M    |
| Content-Type: application/json | Sim         | —                                            |
| Accept: application/json       | Sim         | —                                            |
| x-channel                      | Recomendado | Canal de origem (SOP, MOBILE, BACKOFFICE, …) |

## 3. Parâmetros

### 3.1 Path Parameters

| Parâmetro                     | Tipo   | Obrigatório | Descrição                                                                     |
| ----------------------------- | ------ | ----------- | ----------------------------------------------------------------------------- |
| partyReferenceDataDirectoryId | string | Sim         | Identificador único da entidade (party) no directório de dados de referência. |

### 3.2 Query Parameters

*Não aplicável - esta operação não recebe parâmetros de query.*

## 4. Payload de Requisição (Request Body)

### 4.1 Exemplo

```json
{
  "partyAdditionalAttributes": [
    {
      "attributeCode": "RAML",
      "attributeValue": "2"
    }
  ]
}
```

### 4.2 Campos da Requisição

| Campo                                       | Tipo   | Obrigatório | Descrição                                                     |
| ------------------------------------------- | ------ | ----------- | ------------------------------------------------------------- |
| partyAdditionalAttributes\[]                | array  | Sim         | Lista de atributos adicionais da entidade a actualizar.       |
| partyAdditionalAttributes\[].attributeCode  | string | Sim         | Código do atributo a actualizar (ex: `RAML`). Ver tabela 4.3. |
| partyAdditionalAttributes\[].attributeValue | string | Sim         | Novo valor do atributo (ex: `2`).                             |

### 4.3 Exemplos de Atributos Adicionais (attributeCode)

| Código | Descrição                     |
| ------ | ----------------------------- |
| SIGLA  | Sigla da Empresa              |
| MARCA  | Marca da Empresa              |
| EXPORT | Empresa Exportadora           |
| NCOMER | Nome Comercial                |
| RAML   | Risco AML                     |
| DTREV  | Data da última Revisão        |
| EF     | Estado Filtering              |
| CAML   | Categoria AML                 |
| NPROCE | Processo ONBOARDING           |
| NCEPAR | PEGC: Número Cliente EMIS     |
| DREPAR | PEGC: Data de registo na EMIS |
| FGD    | Excluir do Fundo Garantia     |
| CLMPME | CIRC - Classificação MPME     |
| ATVTOT | CIRC - Activo total           |
| RECLIQ | CIRC - Receitas Líquidas      |
| NIFEM  | CIRC - NIF da empresa mãe     |
| GRPECO | CIRC - Grupo económico        |
| PAISEM | CIRC - País empresa mãe       |
| CLIRIS | CIRC - Cliente de alto risco  |
| DIVGEO | Divisão Geográfica            |
| RCOMPO | Risco comportamental          |

> **Nota:** a tabela acima é uma lista de exemplos, não exaustiva; o conjunto de atributos válidos depende da configuração do sistema e do tipo de entidade (particular/corporate).

## 5. Payload de Resposta (Response - 204 No Content)

Em caso de sucesso, a operação devolve `204 No Content`, sem corpo de resposta.

## 6. Códigos HTTP de Resposta

| Código | Estado                | Descrição                                                                                                                                |
| ------ | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| 204    | No Content            | Atributos actualizados com sucesso. Sem corpo de resposta.                                                                               |
| 400    | Bad Request           | Parâmetros inválidos ou em falta (ex: `attributeCode` inexistente, `attributeValue` inválido para o atributo, lista de atributos vazia). |
| 401    | Unauthorized          | Token ausente, expirado ou inválido.                                                                                                     |
| 404    | Not Found             | Rota não encontrada.                                                                                                                     |
| 500    | Internal Server Error | Erro inesperado no sistema.                                                                                                              |
| 502    | Bad Gateway           | Resposta inválida ou indisponibilidade do serviço.                                                                                       |
| 504    | Gateway Timeout       | Timeout na chamada do serviço.                                                                                                           |

## 7. Envelope Padrão de Erro

```json
{
  "status": 400,
  "reason": "BAD_REQUEST",
  "message": "Valor inválido para o atributo indicado.",
  "path": "/party-reference-data-directory/12345/additional-attributes/update",
  "errors": [
    {
      "code": "PRDD-400-001",
      "reason": "INVALID_ATTRIBUTE_VALUE",
      "message": "O valor '9' não é válido para o atributo 'RAML'."
    }
  ]
}
```

### 7.1 Estrutura do Envelope de Erro

| Campo             | Tipo    | Descrição                                                               |
| ----------------- | ------- | ----------------------------------------------------------------------- |
| status            | integer | Código HTTP do erro.                                                    |
| reason            | string  | Código textual de alto nível que identifica a categoria do erro.        |
| message           | string  | Mensagem legível que descreve o problema ocorrido.                      |
| path              | string  | Caminho do endpoint que originou o erro.                                |
| errors\[]         | array   | Lista de erros detalhados. Pode estar ausente em erros genéricos (500). |
| errors\[].code    | string  | Código específico do domínio (ex: PRDD-400-001).                        |
| errors\[].reason  | string  | Identificador textual da causa específica do erro.                      |
| errors\[].message | string  | Mensagem detalhada com valores concretos quando aplicável.              |

## 8. Regras de Negócio

| # | Regra                    | Detalhe                                                                                                                                                    |
| - | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1 | Entidade Válida          | O partyReferenceDataDirectoryId deve corresponder a uma entidade (party) existente no directório de dados de referência.                                   |
| 2 | Atributos Recebidos      | Apenas os atributos enviados em `partyAdditionalAttributes[]` são considerados na validação e na actualização.                                             |
| 3 | Código Válido            | Cada `attributeCode` deve corresponder a um atributo adicional existente e aplicável ao tipo de entidade.                                                  |
| 4 | Valor Válido             | Cada `attributeValue` deve respeitar o domínio de valores do respectivo atributo (ex: níveis permitidos para `RAML`).                                      |
| 5 | Sem Conteúdo na Resposta | Em caso de sucesso, é devolvido `204 No Content`; para confirmar os valores actualizados deve ser usado o serviço Retrieve Party Reference Data Directory. |

## 9. Requisitos Não-Funcionais

| Requisito       | Detalhe                                                                                                                                                 |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| HTTPS / TLS     | Obrigatório TLS 1.2 ou superior em todas as comunicações.                                                                                               |
| Bearer Token    | Obrigatório — scope party-reference-data-directory:additional-attributes:update. Pedidos sem token ou com token inválido retornam 401.                  |
| Auditoria       | Registo persistente obrigatório de todas as operações de actualização (log estruturado), incluindo valor anterior e novo valor dos atributos alterados. |
| Dados Sensíveis | Os atributos de risco (AML, PEP, CIRC) são dados sensíveis; o acesso deve respeitar as políticas de protecção de dados.                                 |


---

# 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 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/service-domain/party-reference-data-directory/operacoes/main-1.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 `automate deployments from our CI pipeline` 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.
