VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/Dashboards

Abas: duplicar e restaurar

Duplica uma aba com todos os cards, define a aba padrão e restaura a aba de fábrica ao estado original.

Três ações sobre uma aba inteira. Duplicar é o jeito de "editar" a aba de fábrica ou de copiar a aba de um colega: a cópia é sua, privada, e traz todos os cards ativos. Definir como padrão escolhe a aba que abre primeiro. Restaurar recria a aba de fábrica com os cards originais, caso tenham sido apagados ou alterados. As três exigem manage_dashboards.

Duplicar

POST/api/v1/admin/dashboards/{id}/duplicateAdmin

Duplicar uma aba

Parâmetros de caminho

iduuidobrigatório
Id da aba (UUID).

Exemplo de requisição (duplicar)

bash
curl -X POST "$BASE_URL/api/v1/admin/dashboards/56a570ca-f6a1-4483-ba89-55bcea0b5c4a/duplicate" \
  -H "Authorization: Bearer $TOKEN"

Resposta (duplicar)

201Cópia criada
json
{
  "id": "8da0f9c1-b05b-4809-b07d-0b36573489e7",
  "slug": "94df13c8-4cef-4194-ac6c-ad456986d289",
  "name": "Dashboard (cópia)",
  "panel": "A",
  "owner_user_id": "d4613dde-ac7a-431c-9232-50d8cd6ad5fc",
  "visibility": "P",
  "is_system": false,
  "is_default": false,
  "position": 0,
  "icon": "chart",
  "color": "#0044FF",
  "default_period": { "mode": "preset", "preset": "last7" },
  "created_at": "2026-10-11T21:10:37.137115Z",
  "updated_at": "2026-10-11T21:10:37.137115Z",
  "version": 1791753037137,
  "is_owner": false,
  "kind": "normal"
}

Campos da resposta

(objeto)object
A aba nova: não é de fábrica, é privada, pertence a quem duplicou e o nome ganha o sufixo (cópia). Os cards ativos são copiados.

Erros (duplicar)

StatusQuandoCorpo
401Sem token, token inválido ou expirado.{"error":"missing authorization header"}
403O usuário não tem o privilégio exigido.{"error":"insufficient privileges","required":"manage_dashboards"}
404A aba não existe, não é sua ou não está visível para você. A API responde 404 em vez de 403 para não revelar que o id existe.{"error":"dashboard not found"}
500Falha inesperada no servidor.{"error":"failed to ..."}

Definir como padrão

POST/api/v1/admin/dashboards/{id}/set-defaultAdmin

Definir a aba padrão

Parâmetros de caminho

iduuidobrigatório
Id da aba (UUID).

Exemplo de requisição (padrão)

bash
curl -X POST "$BASE_URL/api/v1/admin/dashboards/8da0f9c1-b05b-4809-b07d-0b36573489e7/set-default" \
  -H "Authorization: Bearer $TOKEN"

Resposta (padrão)

200Aba padrão definida
json
{
  "id": "8da0f9c1-b05b-4809-b07d-0b36573489e7",
  "slug": "94df13c8-4cef-4194-ac6c-ad456986d289",
  "name": "Vendas da semana",
  "panel": "A",
  "owner_user_id": "d4613dde-ac7a-431c-9232-50d8cd6ad5fc",
  "visibility": "P",
  "is_system": false,
  "is_default": true,
  "position": 0,
  "icon": "chart",
  "color": "#0044FF",
  "default_period": { "mode": "preset", "preset": "last7" },
  "created_at": "2026-10-11T21:10:37.137115Z",
  "updated_at": "2026-10-11T21:10:37.137115Z",
  "version": 1791753037137,
  "is_owner": false,
  "kind": "normal"
}

Campos da resposta

(objeto)object
A aba, agora com is_default: true. Só existe uma aba padrão por painel: a anterior perde a marca na mesma operação.

Erros (padrão)

StatusQuandoCorpo
401Sem token, token inválido ou expirado.{"error":"missing authorization header"}
403O usuário não tem o privilégio exigido.{"error":"insufficient privileges","required":"manage_dashboards"}
404A aba não existe, não é sua ou não está visível para você. A API responde 404 em vez de 403 para não revelar que o id existe.{"error":"dashboard not found"}
500Falha inesperada no servidor.{"error":"failed to ..."}

Restaurar fábrica

POST/api/v1/admin/dashboards/{id}/restore-defaultAdmin

Restaurar a aba de fábrica

Parâmetros de caminho

iduuidobrigatório
Id da aba (UUID).

Exemplo de requisição (restaurar)

bash
curl -X POST "$BASE_URL/api/v1/admin/dashboards/56a570ca-f6a1-4483-ba89-55bcea0b5c4a/restore-default" \
  -H "Authorization: Bearer $TOKEN"

Resposta (restaurar)

200Restaurada
json
{
  "cards_created": 3,
  "skipped": []
}
200Restauração parcial
json
{
  "cards_created": 2,
  "skipped": ["Segmentos RFM"],
  "partial_failure": true,
  "message": "estes cartões não foram restaurados: Segmentos RFM"
}

Campos da resposta

cards_createdinteger
Cards recriados.
skippedarray
Títulos dos cards que não puderam ser recriados.
partial_failureboolean
Presente e true quando algum card foi pulado. Um 200 não garante que tudo voltou: confira skipped.
messagestring
Texto em português do servidor listando os cards pulados.

Erros (restaurar)

StatusQuandoCorpo
401Sem token, token inválido ou expirado.{"error":"missing authorization header"}
403O usuário não tem o privilégio exigido.{"error":"insufficient privileges","required":"manage_dashboards"}
404A aba não existe, não é sua ou não está visível para você. A API responde 404 em vez de 403 para não revelar que o id existe.{"error":"dashboard not found"}
400A aba não é a de fábrica.{"error":"restore_default_not_system","detail":"dashboards: restore-default only applies to an is_system dashboard: ..."}
500Falha inesperada no servidor.{"error":"failed to ..."}
Textos de erro em inglês e em português

Textos de erro e de confirmação desta família vêm sem tradução: restore_default_not_system e system_dashboard_immutable são códigos estáveis, o detail é em inglês e o message de restauração parcial é em português. Use o código, não o texto.

Duplicar compartilhada

Quem apenas lê uma aba compartilhada (permission: R) pode duplicá-la: é o caminho para ter uma versão editável.

Veja também

  • Criar e alterar abas
  • Compartilhar
  • Listar abas
Anterior
Abas: criar, alterar, apagar
Próxima
Cards: criar, alterar, apagar, layout
Nesta página
  • Duplicar
  • Exemplo de requisição (duplicar)
  • Resposta (duplicar)
  • Erros (duplicar)
  • Definir como padrão
  • Exemplo de requisição (padrão)
  • Resposta (padrão)
  • Erros (padrão)
  • Restaurar fábrica
  • Exemplo de requisição (restaurar)
  • Resposta (restaurar)
  • Erros (restaurar)
  • Veja também