Inserindo uma entidade de document

POST https://api.fbits.net/document/entities


Parâmetros para criação:

    • name - nome da entidade, único na loja e com até 100 caracteres;
    • schema - JSON Schema (draft 2020-12) dos documents da entidade, com raiz type: object e ao menos uma propriedade em properties;
    • publicOperations - operações públicas da entidade: CREATE, READ, UPDATE, DELETE (opcional);
    • allowAdditionalProperties - permite que os documents da entidade tenham propriedades não declaradas em properties (opcional, padrão false).
{
  "name": "ficha-tecnica",
  "schema": "{\"type\":\"object\",\"properties\":{\"sku\":{\"type\":\"string\",\"publicView\":true},\"peso\":{\"type\":\"number\"}},\"required\":[\"sku\"]}",
  "publicOperations": ["READ"],
  "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}},\"required\":[\"sku\"]}",
  "publicOperations": ["READ"],
  "allowAdditionalProperties": true,
  "createdAt": "2026-07-27T13:45:10.123Z",
  "updatedAt": "2026-07-27T13:45:10.123Z"
}

📘

É bom saber:

Com allowAdditionalProperties: true, um document desta entidade pode conter propriedades que não estão no schema, em qualquer profundidade. Com false ou ausente, a gravação de um document com propriedade não declarada retorna 400 indicando o caminho da propriedade (ex.: /peso, /cfg/extra, /tags/0/extra). Subschemas que não declaram nenhuma propriedade (ex.: {"type":"object"}) são trechos livres e aceitam qualquer conteúdo, independentemente desse campo.

🚧

O retorno é 409 quando já existe uma entidade com o mesmo nome na loja, 400 quando o schema informado não é um JSON Schema válido, não declara type: object na raiz ou não declara nenhuma propriedade em properties na raiz, e 403 quando a funcionalidade documents não está habilitada para a loja.