--- title: "PATCH | Atualizar parcialmente servidor LDAP por [id]" slug: "api-v2-patch-update-ldap-server" updated: 2026-11-03T14:57:58Z published: 2026-11-03T14:57:58Z canonical: "docs.senhasegura.io/api-v2-patch-update-ldap-server" --- > ## 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 servidor LDAP por [id] ## Descrição Altere atributos selecionados de um perfil de conexão de servidor LDAP/AD na plataforma Segura™. A requisição segue o formato JSON Merge Patch descrito na RFC 7396: ela carrega apenas os campos a alterar, e todo campo ausente do corpo mantém seu valor atual. Para substituir a configuração completa em uma única requisição, acesse [PUT | Atualizar servidor LDAP por [id]](/v4-2/docs/api-v2-put-update-ldap-server). --- ## Pré-requisitos - Uma aplicação com a autorização **Users** concedida pelo administrador no A2A, com a permissão do recurso definida como **Leitura e escrita**. Para mais informações, acesse [Como gerenciar autorizações no A2A](/v4-2/docs/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/how-to-authenticate-an-application-in-a2a). - A versão atual do servidor, lida no cabeçalho `ETag` retornado por [GET | Listar um servidor LDAP por [id]](/v4-2/docs/api-v2-get-list-an-ldap-server). - O servidor deve estar ativo. Acesse [POST | Ativar servidor LDAP](/v4-2/docs/api-v2-post-activate-ldap-server) primeiro quando não estiver. --- ## Requisição `PATCH` `/api/v2/iam/ldap-servers/{id}` ### Parâmetros de caminho | Campo | Tipo | Obrigatório | Descrição | | --- | --- | --- | --- | | `id` | integer | Sim | Código de identificação único do servidor LDAP. **Nota:** este valor é atribuído pela Segura™ em [POST \| Criar servidor LDAP](/v4-2/docs/api-v2-post-create-ldap-server). | ### Cabeçalhos | Cabeçalho | Obrigatório | Descrição | | --- | --- | --- | | `Content-Type` | Sim | Deve ser `application/merge-patch+json`. Outro valor retorna `415 Unsupported Media Type`. | | `If-Match` | Sim | Versão atual do servidor, conforme retornada no cabeçalho `ETag` da última leitura. | Atenção `If-Match` é obrigatório. Uma requisição sem o cabeçalho retorna `428 Precondition Required`, e uma requisição carregando uma versão que não corresponde mais retorna `412 Precondition Failed`. ### Corpo da requisição Todos os campos são opcionais, e cada campo enviado segue as mesmas regras que tem em [POST | Criar servidor LDAP](/v4-2/docs/api-v2-post-create-ldap-server): `host`, `port`, `dn_base`, `use_ssl`, `member_is_dn`, `bind_requires_dn`, `account_form`, `order`, `domain_id`, `bind_credential_id`, `network_connector_id`, `account_filter_format`, `use_credential_domain`, `ignore_disabled_expired`, `username_attribute`, `dn_bind`, `group`, `group_dn`, `group_attribute`, `group_scope`, `group_filter` e `member_attribute`. Enviar `null` em um campo opcional limpa o valor. `network_connector_id: null`, por exemplo, remove o agente de network connector e retorna o servidor a uma conexão direta. #### Campos que não podem ser modificados | Campo | Motivo | | --- | --- | | `id` | Atribuído pela Segura™ e permanente. | | `active` | Alterado por meio de [POST \| Ativar servidor LDAP](/v4-2/docs/api-v2-post-activate-ldap-server) e [POST \| Desativar servidor LDAP](/v4-2/docs/api-v2-post-deactivate-ldap-server). | | `account_domain_name` | Derivado do domínio referenciado em `domain_id`. | | `account_domain_name_short` | Derivado do domínio referenciado em `domain_id`. | | `created_at` | Definido pela Segura™. | | `updated_at` | Definido pela Segura™. | | `tenant_code` | Definido pela Segura™. | Enviar qualquer um deles retorna `422 patch.field.not.allowed`. --- ### Exemplo de requisição `PATCH` `{{url}}/api/v2/iam/ldap-servers/7` #### Cabeçalhos ``` Content-Type: application/merge-patch+json If-Match: "a3f8c2e1d9b04567" ``` #### Corpo ``` { "port": 636, "use_ssl": true } ``` --- ## Resposta ``` HTTP/1.1 200 OK ETag: "b7c1e4f2a8d93016" ``` O cabeçalho `ETag` contém a nova versão do servidor. Use o valor no cabeçalho `If-Match` da próxima escrita. ### Exemplo de corpo da resposta A resposta carrega o servidor completo, no mesmo formato de [GET | Listar um servidor LDAP por [id]](/v4-2/docs/api-v2-get-list-an-ldap-server), já com os campos alterados aplicados. ``` { "data": { "id": 7, "ldap_server": { "host": "ad.example.com", "port": 636, "dn_base": "CN=Users,DC=example,DC=com", "active": true, "use_ssl": true, "member_is_dn": false, "bind_requires_dn": false, "account_form": "principal", "order": 1, "domain": { "id": 5, "name": "EXAMPLE.COM" }, "bind_credential": { "id": 102, "username": "svc-ldap@example.com", "domain": { "id": 5, "name": "EXAMPLE.COM" } }, "network_connector": null, "account_filter_format": null, "use_credential_domain": false, "ignore_disabled_expired": false, "username_attribute": null, "dn_bind": null, "account_domain_name": "EXAMPLE.COM", "account_domain_name_short": "EXAMPLE", "group": null, "group_dn": null, "group_attribute": null, "group_scope": null, "group_filter": null, "member_attribute": null, "created_at": "2026-05-08T22:42:34+00:00", "updated_at": "2026-05-12T14:11:07+00:00" } }, "meta": { "links": { "self": "/api/v2/iam/ldap-servers/7" }, "actions": { "test-connection": "/api/v2/iam/ldap-servers/7/test-connection", "deactivate": "/api/v2/iam/ldap-servers/7/deactivate" } } } ``` --- ## Campos do corpo da resposta Os campos da resposta correspondem aos de [GET | Listar um servidor LDAP por [id]](/v4-2/docs/api-v2-get-list-an-ldap-server). | Campo | Tipo | Descrição | | --- | --- | --- | | `data` | object | O servidor LDAP atualizado. | | `data.id` | integer | Código de identificação único do servidor. | | `data.ldap_server` | object | Atributos do servidor, com todos os campos retornados. | | `meta` | object | Metadados do recurso. | | `meta.links.self` | string | Caminho do servidor. | | `meta.actions` | object | Ações disponíveis para o servidor em seu estado atual. | Info A partir da versão 4.2.10, a resposta retorna `id` e o `id` de cada objeto aninhado como string, por exemplo `"7"`. O corpo das requisições continua recebendo esses valores como inteiros. --- ## Erros | Código HTTP | Mensagem | Causa possível | Solução | | --- | --- | --- | --- | | `400` | `api.request.bad_request` | A requisição carrega um parâmetro de query desconhecido. | Remova o parâmetro e reenvie a requisição. | | `401` | `api.auth.unauthorized` | O token de acesso está ausente ou expirou. | Solicite um novo token de acesso. | | `404` | `api.resource.not_found` | O servidor não existe. | Verifique o código de identificação enviado no caminho. | | `409` | `api.resource.inactive` | O servidor está inativo, e um servidor inativo não pode ser alterado. | Ative o servidor com [POST \| Ativar servidor LDAP](/v4-2/docs/api-v2-post-activate-ldap-server) e reenvie a requisição. | | `412` | `api.precondition.failed` | O valor de `If-Match` não corresponde à versão atual do servidor, o que significa que o servidor foi alterado depois de ser lido. | Leia o servidor novamente com [GET \| Listar um servidor LDAP por [id]](/v4-2/docs/api-v2-get-list-an-ldap-server), revise as alterações e reenvie a requisição com o novo `ETag`. | | `415` | `api.request.unsupported_media_type` | O cabeçalho `Content-Type` não é `application/merge-patch+json`. | Corrija o cabeçalho e reenvie a requisição. | | `422` | `api.validation.invalid_type` | Um campo recebeu um valor de tipo incorreto. | Verifique o tipo esperado para o campo e reenvie a requisição. | | `422` | `api.validation.order.duplicate` | Outro servidor ativo já usa este valor de `order`. | Envie um valor diferente ou desative o servidor que usa esse valor. | | `422` | `api.validation.invalid_reference` | O domínio, a credencial ou o network connector referenciado não existe. | Verifique os códigos de identificação enviados no corpo. | | `422` | `api.enum.invalid_value` | `account_form` ou `group_scope` recebeu um valor fora da lista permitida. | Verifique os valores permitidos para o campo e reenvie a requisição. | | `422` | `patch.field.not.allowed` | O corpo carrega um dos campos que não podem ser modificados. | Remova o campo e reenvie a requisição. | | `428` | `api.precondition.required` | A requisição chegou sem o cabeçalho `If-Match`. | Leia o servidor e reenvie a requisição com o valor do `ETag` em `If-Match`. | | `429` | `api.rate_limit.exceeded` | O limite de requisições foi excedido. | Reduza a frequência de requisições e tente novamente. | ### Exemplo de resposta de erro `422` o corpo carrega um campo que não pode ser modificado: ``` { "code": "patch.field.not.allowed", "message": "Field 'active' cannot be set via the API.", "details": [ { "field": "active", "code": "patch.field.not.allowed" } ] } ``` 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/api-v2-conventions-and-shared-behaviors).