Skip to content
Idioma: Português

API para programadores

Endpoints da API por área

Atualizado a 1 de novembro de 2026 7 min de leitura

Todos os endpoints que pode usar com uma chave de API – ordenados por área, com o método, o caminho, o scope necessário e a respetiva função.

Esta visão geral lista todos os endpoints que funcionam com um token de uma chave de API. Todos os caminhos começam por https://dock.at-harbor.com. Os campos exatos de cada endpoint estão na descrição OpenAPI em https://dock.at-harbor.com/openapi.yaml.

Autenticação e endpoints públicos

Método e caminhoAutenticaçãoFunção
POST /v1/tokenNenhuma (ID e segredo da chave no corpo)Trocar uma chave de API por um token de acesso
GET /v1/plansNenhumaPlanos e preços
GET /v1/pages/available?handle=…NenhumaVerificar se um handle está livre

Páginas

Método e caminhoScopeFunção
GET /v1/pagesread:pagesTodas as páginas do espaço de trabalho com ID, handle, título, estado, versão online, visibilidade e URL
POST /v1/pageswrite:pagesCriar uma página; obrigatórios: handle (2–64 caracteres, letras, algarismos, hífen) e template_key; opcionais title, domain_id, theme_config
GET /v1/pages/{id}read:pagesUma página; inclui também has_unpublished_changes (true se o rascunho for diferente da versão publicada)
PATCH /v1/pages/{id}write:pagesAlterar title, handle ou discoverable (presença no diretório)
PATCH /v1/pages/{id}/visibilitywrite:pagespublic, private ou password (com password, 4–72 caracteres); tem efeito imediato
POST /v1/pages/{id}/publishwrite:pagesPublicar o rascunho; a resposta contém a nova versão
GET /v1/pages/{id}/versionsread:pagesVersões publicadas
GET /v1/pages/{id}/versions/{version}read:pagesUma versão
POST /v1/pages/{id}/versions/{version}/restorewrite:pagesTrazer uma versão para o rascunho; current descarta todas as alterações do rascunho
GET /v1/pages/{id}/seoread:pagesTextos de SEO e de partilha
PATCH /v1/pages/{id}/seowrite:pagesseo_title, seo_description, og_title, og_description, og_image_asset_id, canonical_url, noindex
POST /v1/pages/{id}/invite-linkwrite:pagesLink de convite para uma página privada e publicada; days 1–30, predefinição 7. Caso contrário, 409 page_not_private ou page_not_published
POST /v1/pages/{id}/invite-link/revokewrite:pagesRevogar o link de convite
POST /v1/pages/{id}/uploadswrite:assetsCarregar um ficheiro para uma página

Rascunho

Método e caminhoScopeFunção
GET /v1/pages/{id}/draftread:pagesRascunho atual: template_key, config, theme_config, custom_css, seo, atribuições de imagens e links
PATCH /v1/pages/{id}/draftwrite:pagesPelo menos um de config (no máximo 64 KB como JSON, cada texto até 5000 caracteres), theme_config, custom_css (até 50 000 caracteres e 65 535 bytes), seo, template_key, template_asset_bindings
GET /v1/pages/{id}/draft/validateread:pagesVerificar se o rascunho pode ser publicado

Blocos

Método e caminhoScopeFunção
GET /v1/pages/{id}/blocksread:pagesOs blocos da página
POST /v1/pages/{id}/blockswrite:pagesCriar um bloco; obrigatórios: type e config
PATCH /v1/pages/{id}/blocks/{blockId}write:pagesEditar um bloco
DELETE /v1/pages/{id}/blocks/{blockId}write:pagesEliminar um bloco
POST /v1/pages/{id}/blocks/reorderwrite:pagesDefinir a ordem
GET /v1/blocks/schemasread:pagesTodos os tipos de bloco com o esquema da respetiva config

Tipos que pode criar: text, image, embed, spacer, social_links, form, integration, donation, modal, heading, notice, coupon, contact, opening_hours, tour, file, vcard, countdown e gallery. O bloco de links é fixo e não é criado através deste endpoint. A API recusa tipos de bloco fora do seu plano com 403 block_type_requires_plan. A config de um bloco pode ter no máximo 128 KB como JSON, e cada texto nela no máximo 10 000 caracteres; na janela de informação, modal_body_html pode ter até 50 000 caracteres e no máximo 65 535 bytes.

Método e caminhoScopeFunção
GET /v1/pages/{id}/linksread:linksOs links da página
POST /v1/pages/{id}/linkswrite:linksCriar um link; obrigatórios: title (1–200) e target_url_template (8–2048)
GET /v1/pages/{id}/links/{linkId}read:linksUm link
PATCH /v1/pages/{id}/links/{linkId}write:linksEditar um link
DELETE /v1/pages/{id}/links/{linkId}write:linksEliminar um link
POST /v1/pages/{id}/links/reorderwrite:linksDefinir a ordem: {"order":[IDs]}

Campos opcionais ao criar e editar: enabled, geo (regra de países com mode allowlist ou denylist e countries), device (destinos separados por dispositivo), starts_at e ends_at (agendamento), protection_tier (proteção contra bots) e age_restriction. As regras de agendamento, país e dispositivo estão disponíveis a partir do Creator Pro. Ao reordenar, basta enviar os IDs que devem passar para a frente – todos os outros links seguem na ordem anterior. A API recusa IDs que não pertencem à página com 422 validation_failed; details.missing_link_ids indica-os.

Método e caminhoScopeFunção
GET /v1/short-linksread:short_linksLinks curtos com limit, offset, sort e pesquisa q; a resposta contém total
POST /v1/short-linkswrite:short_linksCriar; obrigatório: target_url (http ou https, 8–2048); opcionais title (até 120) e custom_slug (3–32, letras minúsculas, algarismos, hífenes)
GET /v1/short-links/{id}read:short_linksUm link curto
PATCH /v1/short-links/{id}write:short_linksAlterar target_url ou title
DELETE /v1/short-links/{id}write:short_linksEliminar um link curto

Se o limite de links curtos do plano for atingido, a API responde com 402 plan_limit_reached.

Ficheiros

Método e caminhoScopeFunção
GET /v1/assetsread:assetsOs ficheiros do espaço de trabalho
POST /v1/assetswrite:assetsCarregar um ficheiro (multipart/form-data, campo file; opcionais page_id, kind, title, alt_text)
DELETE /v1/assets/{assetId}write:assetsEliminar um ficheiro

Formulários

Método e caminhoScopeFunção
GET /v1/formsread:formsFormulários
POST /v1/formswrite:formsCriar um formulário; obrigatórios: name e fields (1–100 campos)
GET /v1/forms/{id}read:formsUm formulário
PATCH /v1/forms/{id}write:formsEditar um formulário
DELETE /v1/forms/{id}write:formsEliminar um formulário
GET /v1/forms/{id}/summaryread:formsResumo
GET /v1/forms/{id}/submissionsread:formsSubmissões, mais recentes primeiro (limit 1–500, predefinição 100; páginas seguintes via cursor = next_cursor)
GET /v1/forms/{id}/submissions/exportread:formsTodas as submissões como ficheiro CSV, mais recentes primeiro, até ao limite de exportação do plano (a partir do Creator Pro); o cabeçalho X-Export-Truncated indica se foi cortado

Estatísticas

Método e caminhoScopeFunção
GET /v1/stats/pages/{id}/summaryread:statsIndicadores de uma página
GET /v1/stats/pages/{id}/timeseriesread:statsSérie temporal de uma página
GET /v1/stats/pages/{id}/compareread:statsComparação com o período anterior
GET /v1/stats/pages/{id}/linksread:statsCliques por link
GET /v1/stats/pages/{id}/widgetsread:statsCliques em widgets
GET /v1/stats/pages/{id}/conversions/breakdownread:statsConversões de uma página
GET /v1/stats/workspaces/me/summaryread:statsIndicadores de todas as páginas
GET /v1/stats/workspaces/me/timeseriesread:statsSérie temporal de todas as páginas
GET /v1/stats/workspaces/me/compareread:statsComparação com o período anterior
GET /v1/stats/workspaces/me/top-pagesread:statsPáginas principais
GET /v1/stats/workspaces/me/conversions/breakdownread:statsConversões do espaço de trabalho
GET /v1/stats/workspaces/me/donationsread:donationsTotais dos pagamentos de apoiantes

Escolhe o período como descrito em Paginação, com period ou com from e to. O tempo que pode recuar depende do plano: 365 dias no Creator Pro e no Agency, 730 dias no Enterprise. Os períodos mais antigos são reduzidos a este limite.

Push (só leitura)

Método e caminhoScopeFunção
GET /v1/push/historyread:statsHistórico de push (limit, offset)
GET /v1/push/usageread:statsUtilização do limite semanal

Enviar notificações push e gerir regras de push só é possível no painel.

Espaço de trabalho, modelos e domínios

Método e caminhoScopeFunção
GET /v1/workspaces/me/entitlementsread:workspacesFuncionalidades e limites do plano
GET /v1/workspaces/me/usageread:workspacesUtilização atual
GET /v1/workspaces/me/usage/meteringread:workspacesHistórico de utilização
GET /v1/workspaces/me/membersread:workspacesLista de membros
GET /v1/workspaces/me/settingsread:workspacesDefinições do espaço de trabalho
GET /v1/workspaces/me/callback-secretsread:workspacesSegredos de callback (sem o segredo em texto simples)
GET /v1/workspaces/me/callback-secrets/{id}read:workspacesUm segredo de callback (sem o segredo em texto simples)
GET /v1/templatesread:workspacesTodos os modelos
GET /v1/templates/availableread:workspacesModelos incluídos e modelos ativos do espaço de trabalho com valores válidos de template_key; os modelos do espaço de trabalho têm a chave ws:<key> e o tipo workspace
GET /v1/templates/{key}read:workspacesUm modelo
GET /v1/workspaces/me/templatesread:workspacesOs seus próprios modelos do espaço de trabalho
GET /v1/workspaces/me/templates/{id}read:workspacesUm modelo do espaço de trabalho
POST, PATCH, DELETE /v1/workspaces/me/templates[/{id}]write:templatesCriar, editar e eliminar modelos do espaço de trabalho; html no máximo 60 000 bytes (caso contrário, 422 validation_failed com details.reason maxBytes), até 32 asset_slots
GET /v1/domainsread:workspacesDomínios próprios
GET /v1/domains/availableread:workspacesDomínios disponíveis para páginas

Não disponível com chaves de API

Webhooks, a criação e a gestão de segredos de callback, integrações, envio de notificações push, gestão de domínios, membros, faturação e eliminação de páginas só estão disponíveis no painel. Listar e ler os segredos de callback (sem o segredo em texto simples) funciona com read:workspaces. A lista completa está em Scopes em pormenor. Os dados recebidos – vendas e os seus próprios dados em direto – são enviados com segredos próprios para os endpoints descritos em Callbacks.

Não encontrou o que procura?

Diga-nos de que precisa e a nossa equipa de suporte ajuda-o pessoalmente.

Contactar o suporte