--- title: "PATCH | Atualizar parcialmente a política de acesso por [id]" slug: "api-v2-patch-update-access-policy" updated: 2026-11-03T14:47:51Z published: 2026-11-03T14:47:51Z canonical: "docs.senhasegura.io/api-v2-patch-update-access-policy" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.senhasegura.io/llms.txt > Use this file to discover all available pages before exploring further. # PATCH | Atualizar parcialmente a política de acesso por [id] ## Descrição Atualize configurações específicas de uma política de acesso no PAM Core. Apenas os campos enviados no corpo da requisição são alterados — todos os demais mantêm seus valores atuais, inclusive os campos do mesmo namespace. Os próprios namespaces podem ser enviados parcialmente. Este é o endpoint indicado para alterações pontuais. Para atualizar todas as configurações em uma única requisição, acesse [PUT | Atualizar política de acesso por [id]](/v4-2/docs/pt/api-v2-put-update-access-policy), que redefine todo campo não enviado. Para alterar apenas se a política está ativa, utilize [POST | Ativar política de acesso](/v4-2/docs/pt/api-v2-post-activate-access-policy) ou [POST | Desativar política de acesso](/v4-2/docs/pt/api-v2-post-deactivate-access-policy). O campo `active` não pode ser modificado por este endpoint. --- ## Pré-requisitos - Uma aplicação com a autorização **Access Policy (V2)** concedida pelo administrador no A2A, com a **Permissão do recurso PAM** definida como **Leitura e escrita**. Para mais informações, acesse [Como gerenciar autorizações no A2A](/v4-2/docs/pt/how-to-manage-authorizations-in-a2a). - Um token de acesso OAuth 2.0 válido. Para mais informações, acesse [Como autenticar uma aplicação A2A](/v4-2/docs/pt/how-to-authenticate-an-application-in-a2a). - O valor atual do `ETag` da política de acesso, retornado por [GET | Listar uma política de acesso por [id]](/v4-2/docs/pt/api-v2-get-list-an-access-policy) e por todas as operações de escrita na política. Info Um token de acesso carrega apenas as autorizações que existiam no momento em que foi gerado. Depois que o administrador habilitar a autorização **Access Policy (V2)**, gere um novo token para a aplicação — um token existente não passa a ter a nova autorização. --- ## Requisição `PATCH` `/api/v2/pam/access-policies/{id}` ### Parâmetros de caminho | Campo | Tipo | Obrigatório | Descrição | | --- | --- | --- | --- | | `id` | integer | Sim | Código de identificação único da política de acesso. **Nota:** este valor é atribuído pelo Segura™ em [POST \| Criar política de acesso](/v4-2/docs/pt/api-v2-post-create-access-policy). | ### Cabeçalhos | Cabeçalho | Obrigatório | Descrição | | --- | --- | --- | | `Content-Type` | Sim | Deve ser `application/merge-patch+json`. Difere dos demais endpoints, que utilizam `application/json`. | | `If-Match` | Sim | Valor do `ETag` da versão da política que está sendo atualizada. A requisição é rejeitada com `412` quando o valor não corresponde à versão atual da política. | ### Corpo da requisição Envie apenas os namespaces e campos que deseja alterar. O corpo utiliza os mesmos nomes e tipos de campo de [POST | Criar política de acesso](/v4-2/docs/pt/api-v2-post-create-access-policy) — acesse esse artigo para consultar as tabelas completas de campos dos namespaces `password`, `session`, `approvers_config`, `criteria` e `access_limitation`. ### Campos que não podem ser modificados | Campo | Motivo | | --- | --- | | `id` | Atribuído pelo Segura™ na criação da política e permanente. | | `active` | Controlado por [POST \| Ativar política de acesso](/v4-2/docs/pt/api-v2-post-activate-access-policy) e [POST \| Desativar política de acesso](/v4-2/docs/pt/api-v2-post-deactivate-access-policy). | O envio de qualquer um desses campos retorna `422` com o código `patch.field.not.allowed`. --- ### Exemplo de requisição `PATCH` `{{url}}/api/v2/pam/access-policies/3001` #### Cabeçalhos ``` Content-Type: application/merge-patch+json If-Match: "v2" ``` #### Corpo ``` { "password": { "require_approval": false, "approvals_required": 0 } } ``` Esta requisição altera dois campos do namespace `password`. Todos os demais campos de `password` — e todos os demais namespaces — mantêm seus valores atuais. --- ## Resposta ``` HTTP/1.1 200 OK ETag: "v3" ``` O cabeçalho `ETag` contém a nova versão da política. Utilize esse valor no cabeçalho `If-Match` da próxima operação de escrita. ### Exemplo de corpo da resposta A resposta retorna a política de acesso completa, e não apenas os campos alterados. ``` { "data": { "id": 3001, "access_policy": { "name": "PAM Administrators - Updated", "active": true, "description": "Updated description." }, "password": { "allow_view": true, "view_mode": "complete", "require_reason": true, "require_approval": false, "approvals_required": 0, "disapprovals_to_cancel": 1, "approval_in_levels": true, "allow_emergency_access": false, "allow_change_expiration": true, "change_expiration_minutes": 60, "require_approval_days": false, "approval_days": [], "approval_times": [], "approval_custom_times": [] }, "session": { "allow_start": true, "block_during_freezing": true, "require_reason": true, "require_approval": true, "approvals_required": 2, "disapprovals_to_cancel": 1, "approval_in_levels": true, "allow_emergency_access": false, "require_change_id": true, "require_approval_days": false, "approval_days": [], "approval_times": [], "approval_custom_times": [] }, "approvers_config": { "governance_id_required": true, "always_add_user_manager": false }, "criteria": { "site_ids": [1, 2], "device_type_ids": [3], "credential_type_ids": [5], "devices": [], "products": [], "usernames": [], "additional_information": [], "device_tags": ["prod", "staging"], "credential_tags": [] }, "access_limitation": { "days": ["monday", "tuesday", "wednesday", "thursday", "friday"], "times": ["08:00-18:00"], "custom_times": [], "period_start": null, "period_end": null } }, "meta": { "links": { "self": "/api/v2/pam/access-policies/3001" }, "actions": { "deactivate": "/api/v2/pam/access-policies/3001/deactivate" } } } ``` --- ## Campos do corpo da resposta A resposta retorna a política de acesso completa, com os mesmos campos de [GET | Listar uma política de acesso por [id]](/v4-2/docs/pt/api-v2-get-list-an-access-policy). Acesse esse artigo para consultar as tabelas completas de campos. | Campo | Tipo | Descrição | | --- | --- | --- | | `data` | object | A política de acesso atualizada. | | `data.id` | integer | Código de identificação único da política de acesso. | | `data.access_policy` | object | Atributos principais da política de acesso. | | `data.password` | object | Regras de acesso a senhas após a atualização. | | `data.session` | object | Regras de acesso a sessões após a atualização. | | `data.approvers_config` | object | Comportamento dos aprovadores após a atualização. | | `data.criteria` | object | Regras abrangidas pela política após a atualização. | | `data.access_limitation` | object | Restrições de horário aplicadas à política após a atualização. | | `meta` | object | Metadados do recurso. | | `meta.links.self` | string | Caminho da política de acesso. | | `meta.actions` | object | Ações disponíveis para a política em seu estado atual. | --- ## Erros | Código HTTP | Mensagem | Causa possível | Solução | | --- | --- | --- | --- | | `400` | `api.request.malformed` | O corpo da requisição não é um JSON válido. | Verifique a sintaxe do corpo e reenvie a requisição. | | `401` | `api.auth.token.invalid` | O token de acesso está ausente ou expirou. | Solicite um novo token de acesso. | | `403` | `api.permission.denied` | A autorização não tem permissão para atualizar políticas de acesso. | Peça ao administrador para verificar a autorização **Access Policy (V2)** e a **Permissão do recurso PAM** no A2A e gere um novo token. | | `404` | `api.resource.not_found` | A política de acesso não existe ou está fora do escopo da autorização. | Verifique o código de identificação enviado no caminho. | | `409` | `api.resource.inactive` | A requisição tentou escrever em uma política de acesso inativa. | Ative a política com [POST \| Ativar política de acesso](/v4-2/docs/pt/api-v2-post-activate-access-policy) antes de atualizá-la. | | `412` | `api.precondition.failed` | O valor de `If-Match` não corresponde à versão atual da política, o que significa que a política foi alterada depois de ser lida. | Obtenha a política novamente com [GET \| Listar uma política de acesso por [id]](/v4-2/docs/pt/api-v2-get-list-an-access-policy), revise as alterações e reenvie a requisição com o novo `ETag`. | | `422` | `patch.field.not.allowed` | O corpo da requisição contém um campo que não pode ser modificado por este endpoint. | Remova o campo do corpo. Para alterar o estado de ativação, utilize as ações de ativar e desativar. | | `422` | `api.validation.invalid_reference` | Um site, tipo de dispositivo ou tipo de credencial referenciado não existe. | Verifique os códigos de identificação enviados em `criteria`. | | `422` | `api.enum.invalid_value` | Um campo recebeu um valor fora da lista de valores permitidos. | Verifique os valores permitidos para o campo e reenvie a requisição. | | `429` | `rate_limit_exceeded` | O limite de requisições foi excedido. | Reduza a frequência de requisições e tente novamente. | | `500` | `api.internal.error` | Erro interno do servidor. | Entre em contato com a equipe de suporte da Segura™. | ### Exemplos de respostas de erro `412` — o `ETag` não corresponde à versão atual da política: ``` { "error": { "code": "api.precondition.failed", "message": "ETag does not match." } } ``` `422` — o corpo da requisição contém um campo que não pode ser modificado: ``` { "error": { "code": "patch.field.not.allowed", "message": "Field 'type' cannot be modified via PATCH." } } ``` Para mensagens de erros de autenticação e a política de `403` versus `404`, acesse [API v2 - Convenções e comportamentos compartilhados](/v4-2/docs/pt/api-v2-conventions-and-shared-behaviors).