PUTAtualizar página
Altera parcialmente uma página, guardando a versão anterior no histórico.
Atualiza só os campos enviados; o resto fica como está. Antes de gravar, a plataforma guarda uma cópia da versão anterior (as 5 últimas ficam no histórico). Mudar o slug muda a URL pública, e o endereço antigo deixa de funcionar.
/api/v1/admin/pages/{id}AdminAltera campos de uma página
Exige o privilégio manage_content.
Parâmetros de caminho
iduuidobrigatórioIdentificador da página.
Corpo da requisição
titlestringNovo título (HTML é removido).
slugstringNovo slug. Se outra página já usa, a atualização é recusada (não há sufixo automático aqui).
bodystringNovo conteúdo HTML, sanitizado.
statusstringactivehiddendraftdisabledNovo status.
page_typestringpagebloglinkNovo tipo.
seo_titlestringTítulo para buscadores.
seo_descriptionstringDescrição para buscadores.
positionintegerOrdem em menus.
vendor_iduuidTroca o seller dono da página (só o administrador pode).
Exemplo de requisição
bash
curl -X PUT "$BASE_URL/api/v1/admin/pages/cc37f047-702b-45c7-9f88-3e8d42e81011" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"status": "hidden",
"seo_title": "Troca e devolução"
}'Resposta
200Página atualizada
json
{
"id": "cc37f047-702b-45c7-9f88-3e8d42e81011",
"title": "Política de Troca",
"slug": "politica-de-troca",
"body": "<p>Você pode trocar em até 7 dias.</p>",
"status": "hidden",
"page_type": "page",
"position": 0,
"id_path": "",
"created_at": "2026-10-11T21:04:48.445487Z",
"updated_at": "2026-10-11T21:04:48.445487Z",
"page_id": "cc37f047-702b-45c7-9f88-3e8d42e81011",
"page": "politica-de-troca",
"page_title": "Política de Troca",
"description": "<p>Você pode trocar em até 7 dias.</p>",
"seo_name": "politica-de-troca",
"timestamp": 1791752688,
"updated_timestamp": 1791752688
}Campos da resposta
iduuidIdentificador da página.
titlestringTítulo, em texto puro (HTML é removido).
slugstringTrecho da URL pública (
/politica-de-troca). Único na loja.bodystringConteúdo em HTML, já sanitizado:
<script>, atributos on... e links javascript: são removidos.statusstringactive, hidden ou draft. Veja o aviso sobre disabled.page_typestringpage, blog ou link.seo_titlestringTítulo para buscadores. Ausente quando vazio.
seo_descriptionstringDescrição para buscadores. Ausente quando vazia.
positionintegerOrdem de exibição em menus. Menor aparece primeiro.
parent_iduuidPágina pai, quando a página faz parte de uma hierarquia. Ausente na raiz.
vendor_iduuidSeller dono da página. Ausente quando a página é da loja inteira (marketplace).
created_atstringCriação, RFC 3339 em UTC.
updated_atstringÚltima alteração, RFC 3339 em UTC.
Erros
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | O administrador não tem o privilégio exigido. | {"error":"insufficient privileges","required":"manage_content"} |
| 400 | Corpo não é JSON válido. | {"error":"invalid request body","detail":"..."} |
| 500 | Status fora da lista, slug já usado por outra página, ou id que não é UUID. A validação responde 500 em vez de 400. | {"detail":"invalid page status \"bogus\": must be one of active, disabled, draft, hidden","error":"failed to update page"} |