Atualizando uma entidade de document específica


PUT https://api.fbits.net/document/entities/{id}

Para atualizar uma entidade de document, utilize o endpoint Atualiza uma entidade de document.

É possível atualizar o nome, o schema, as operações públicas e a permissão de propriedades adicionais da entidade. A atualização é total: os campos não informados assumem o valor padrão — publicOperations ausente equivale a nenhuma operação pública e allowAdditionalProperties ausente equivale a false, mesmo que a entidade hoje esteja com true.

Parâmetros para atualização:

    • id - identificador da entidade;
    • name - novo nome da entidade;
    • schema - novo JSON Schema da entidade, com raiz type: object e ao menos uma propriedade em properties;
    • publicOperations - novas operações públicas da entidade (opcional);
    • allowAdditionalProperties - permite que os documents da entidade tenham propriedades não declaradas em properties (opcional, padrão false).

Request body:

{
  "name": "ficha-tecnica",
  "schema": "{\"type\":\"object\",\"properties\":{\"sku\":{\"type\":\"string\",\"publicView\":true},\"peso\":{\"type\":\"number\"},\"origem\":{\"type\":\"string\"}},\"required\":[\"sku\"]}",
  "publicOperations": ["READ", "CREATE"],
  "allowAdditionalProperties": true
}

Response body:

{
  "id": 12,
  "name": "ficha-tecnica",
  "schema": "{\"$schema\":\"https://json-schema.org/draft/2020-12/schema\",\"type\":\"object\",\"properties\":{\"sku\":{\"type\":\"string\",\"publicView\":true},\"peso\":{\"type\":\"number\",\"publicView\":false},\"origem\":{\"type\":\"string\",\"publicView\":false}},\"required\":[\"sku\"]}",
  "publicOperations": ["CREATE", "READ"],
  "allowAdditionalProperties": true,
  "createdAt": "2026-07-27T13:45:10.123Z",
  "updatedAt": "2026-07-27T15:10:02.000Z"
}
📘

Cada atualização registra os valores anteriores no histórico da entidade, consultável pelas leituras por identificador e por nome.

🚧

Alterar o schema de uma entidade que já possui documents gravados não revalida os documents existentes. A validação passa a valer para as próximas criações e atualizações.

🚧

Por ser uma substituição total, omitir allowAdditionalProperties no corpo desativa a permissão de propriedades adicionais (false), ainda que a intenção seja alterar apenas os demais campos. Sempre reenvie o valor desejado.

🚧

O schema passa pelas mesmas validações da criação — inclusive type: object e ao menos uma propriedade em properties na raiz — mesmo quando a intenção é alterar apenas os outros campos. O retorno é 400 quando essa validação falha, 409 quando o novo nome já pertence a outra entidade da loja, 403 quando a funcionalidade documents não está habilitada para a loja e 404 quando a entidade não existe.