A API Notiondesk lê tudo o que sua central de ajuda publica: todos os artigos e coleções em qualquer idioma, com seu conteúdo em Markdown, seu status de publicação e seu estado de sincronização, além das suas entradas de changelog publicadas. Use-a para fazer backup da sua central de ajuda, enviar seu conteúdo para outra ferramenta ou verificar quais artigos não foram sincronizados.
A API lê o conteúdo, mas nunca o grava. Seus artigos e coleções permanecem no Notion: para alterar um deles, edite-o no Notion e inicie uma sincronização .
Na API Notiondesk, uma coleção é chamada de categoria .
| Método | Caminho | Escopo | Faz |
|---|---|---|---|
GET | /sites/{site_id}/articles | read | Lista artigos em um idioma. |
GET | /sites/{site_id}/articles/{article_id} | read | Lê um artigo com seu conteúdo em Markdown. |
GET | /sites/{site_id}/categories | read | Lista coleções em um idioma, com sua hierarquia. |
GET | /sites/{site_id}/categories/{category_id} | read | Lê uma coleção com seu conteúdo em Markdown. |
GET | /sites/{site_id}/changelog | read | Lista as entradas do changelog publicadas, da mais recente para a mais antiga. |
Escolha o idioma
Cada rota nesta página aceita um parâmetro de consulta opcional locale, como ?locale=fr. Sem ele, a resposta usa o idioma padrão da central de ajuda. Nas rotas de lista, locale deve ser um dos idiomas que a central de ajuda oferece: o supported_locales da central de ajuda . Leia Suporte a vários idiomas na sua Central de Ajuda para adicionar idiomas.
Artigos da lista
A lista inclui todos os artigos em todos os status, rascunhos e artigos arquivados também, na ordem em que foram criados. Navegue pelas páginas com page_size e cursor, conforme descrito em Paginate e solicitações de API da versão Notiondesk .
curl "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/articles?page_size=100&locale=en" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16"{
"object": "list",
"data": [
{
"id": "1761580412",
"title": "Connect your Notion workspace",
"slug": "connect-your-notion-workspace",
"status": "published",
"categories": [
{"id": "910000002", "name": "Connecting Notion", "slug": "connecting-notion", "locale": "en", "status": "published"}
],
"tags": [{"name": "Setup", "slug": "setup"}],
"locales_count": 2,
"updated_at": "2026-10-18T14:39:03+00:00",
"published_at": "2026-10-05T04:39:04+00:00",
"locale": "en",
"reading_time": 3,
"views_count": 42,
"reactions_percent": {"smiley": 50, "neutral_face": 25, "disappointed": 25},
"source_notion_page_id": "3d5001d0-2470-8122-a1b2-c3d4e5f60789",
"notion_article_page_url": "https://www.notion.so/3d5001d024708122a1b2c3d4e5f60789",
"sync_in_progress": false,
"sync_timeout": false,
"sync_failed": false,
"sync_error_code": null,
"auto_translated": false
}
],
"has_more": true,
"next_cursor": "OPAQUE_CURSOR"
}| Campo | Significado |
|---|---|
id | O identificador do artigo, usado como article_id para ler o artigo. |
| __PRESERVADO_102__, __PRESERVADO_101__ | O título do artigo e seu segmento de caminho no centro de ajuda |
status | draft, published, review ou archived. Consulte Como controlar a visibilidade do artigo. |
categories | As coleções às quais o artigo pertence, cada uma com id, name, slug, locale e status |
tags | As etiquetas do artigo, cada uma com name e slug |
locales_count | Em quantos idiomas o artigo existe? |
| __PRESERVADO_85__, __PRESERVADO_84__ | Quando o artigo foi alterado pela última vez e quando foi publicado. |
locale | O idioma deste item |
reading_time | Tempo estimado de leitura, em minutos |
views_count | Quantas vezes os leitores abriram o artigo? |
reactions_percent | Cada reação do leitor com sua respectiva participação no total de reações, em porcentagem. Os nomes das reações dependem do seu estilo de feedback. |
| __PRESERVADO_79__, __PRESERVADO_78__ | A página do Notion da qual o artigo foi sincronizado e o URL da página do Notion neste idioma (null para tradução automática) |
| __PRESERVADO_76__, __PRESERVADO_75__, __PRESERVADO_74__, __PRESERVADO_73__ | Se a sincronização do artigo está em andamento, se a última expirou ou falhou e por quê. |
auto_translated | Se este idioma foi produzido por tradução automática. |
sync_failed: trueLeia um artigo em Markdown
curl "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/articles/1761580412?locale=en" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16"{
"id": "1761580412",
"type": "article",
"title": "Connect your Notion workspace",
"slug": "connect-your-notion-workspace",
"text": "# Connect your Notion workspace\n\nOpen **Settings**, then **Notion**...",
"url": "https://help.example.com/en/articles/connect-your-notion-workspace",
"locale": "en",
"last_updated": "2026-10-18T14:39:03+00:00",
"category": {"id": "910000002", "title": "Connecting Notion", "slug": "connecting-notion"},
"tags": ["setup"],
"truncated": false,
"author": {"name": "Ada Lovelace"},
"status": "published",
"content_available": true,
"sync_in_progress": false,
"sync_timeout": false,
"sync_failed": false,
"sync_error_code": null
}| Campo | Significado |
|---|---|
type | Sempre __PRESERVADO_69__ |
text | O conteúdo do artigo em formato Markdown. Vazio quando ainda não há conteúdo armazenado. |
truncated | true quando text foi cortado em 200.000 bytes. O corte sempre ocorre em um caractere inteiro. |
content_available | Ainda não se sabe se Notiondesk contém conteúdo para este idioma. |
url | O endereço público do artigo |
category | A coleção principal do artigo: id, title e slug |
tags | Os slugs das tags do artigo |
author | Autor do artigo: name |
Cada status é legível, então você pode ler um rascunho antes de publicá-lo. Um artigo sem tradução no campo locale solicitado retorna 404 not_found.
Listar coleções
Cada item é uma coleção no idioma solicitado, na ordem em que as coleções foram criadas:
Reconstrua sua árvore de coleção com três campos:
curl "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/categories?page_size=100" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16"{
"id": "910000001",
"name": "Getting Started",
"slug": "getting-started",
"updated_at": "2026-10-18T14:39:12+00:00",
"locale": "en",
"is_parent": true,
"source_notion_page_id": "5d5001d0-2470-8122-a1b2-c3d4e5f60789",
"notion_category_page_url": "https://www.notion.so/5d5001d024708122a1b2c3d4e5f60789",
"sync_in_progress": false,
"sync_timeout": false,
"sync_failed": false,
"sync_error_code": null,
"parent_ids": [],
"children_ids": ["910000002"],
"locales_count": 2,
"status": "published",
"auto_translated": false
}| Campo | Significado |
|---|---|
is_parent | true para uma coleção no topo da hierarquia |
parent_ids | As coleções imediatamente acima desta. |
children_ids | As coleções imediatamente abaixo desta. |
A lista não contém a contagem de artigos. Para contar os artigos de uma coleção, liste-os e agrupe-os por categories. Saiba como as coleções organizam sua central de ajuda em Usar coleções para organizar seus artigos .
Leia uma coleção
A resposta tem o mesmo formato que um artigo: type é category, title, slug, url, status, os campos de sincronização e text com o conteúdo próprio da coleção em Markdown, vazio quando não houver nenhum.
Listar entradas do changelog
O changelog lista os artigos publicados e arquivados em suas coleções de changelog, do mais recente para o mais antigo. Configure-o seguindo as instruções em "Configurando changelogs" na sua central de ajuda .
curl "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/categories/910000001?locale=en" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16"curl "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/changelog?page_size=50&locale=en" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16"{
"object": "list",
"data": [
{
"id": "article:1761497350",
"title": "Multilingual sync is now available",
"slug": "multilingual-sync-is-now-available",
"text": "Help centers on the Enterprise plan can now sync every configured locale in a single run instead of one language at a time.",
"published_at": "2026-10-13T09:12:44+00:00",
"last_updated": "2026-10-18T14:39:03+00:00",
"tags": [],
"url": "https://help.example.com/en/changelogs",
"locale": "en"
}
],
"has_more": true,
"next_cursor": "OPAQUE_CURSOR"
}| Campo | Significado |
|---|---|
id | article: seguido pelo ID do artigo da entrada. Remova o prefixo para ler a entrada completa com a rota do artigo. |
text | O texto simples da entrada, geralmente um trecho de cerca de 30 palavras. |
| __PRESERVADO_38__, __PRESERVADO_37__ | Quando a entrada foi publicada e quando foi alterada pela última vez. |
tags | Os slugs das tags da entrada |
url | Sua página de registro de alterações neste idioma |
Bom saber:
- Uma entrada só aparece quando sua coleção de registros de alterações é publicada no idioma solicitado.
- Em uma central de ajuda que utiliza contas de convidado, a lista exibe apenas as entradas que todos os leitores podem visualizar.
- A lista atinge, no máximo, as 1.000 entradas mais recentes. Depois disso,
has_moreéfalse, mesmo quando existem entradas mais antigas.
- Raramente, durante uma falha temporária do serviço, a leitura de uma lista pode pular ou repetir uma entrada. Leia-a novamente mais tarde para obter a lista completa.
Erros
| Status | Quando | code |
|---|---|---|
| 400 | page_size está fora do intervalo de 1 a 100, cursor é inválido, locale não é um idioma atendido pela central de ajuda (listas) ou não tem de 2 a 10 caracteres (leituras únicas), ou a consulta tem um parâmetro desconhecido. | validation_error |
| 403 | A chave não possui o escopo read | insufficient_scope |
| 403 | Somente o registro de alterações: o registro de alterações está desativado ou não está incluído no seu plano, ou as análises da central de ajuda estão desativadas. | permission_denied |
| 404 | A central de ajuda, o artigo ou a coleção não existem no seu espaço de trabalho, não têm tradução em locale, ou o registro de alterações está ativado, mas não tem uma coleção de registro de alterações. | not_found |
Cada rota também pode responder a invalid_version, authentication_error, rate_limited e internal_error. Consulte Erros de API, limites de taxa e novas tentativas de tratamento de Notiondesk .
Perguntas frequentes
Posso criar ou editar artigos com a API Notiondesk?
Não. O Notion é a fonte de verdade para o seu conteúdo. Edite o artigo no Notion e, em seguida, inicie uma sincronização com a API ou aguarde a sincronização agendada.
A lista de artigos inclui rascunhos?
Sim. A lista e a rota de leitura incluem todos os status: draft, published, review e archived. Filtre os resultados no seu código por status para manter apenas os artigos publicados.
Como faço para exportar todos os artigos como Markdown?
Liste os artigos e, em seguida, leia cada um pelo seu id. O artigo de exemplo tem um script de backup completo.
O que significa truncated: true?
truncated: true?O código Markdown do artigo tem mais de 200.000 bytes, então text contém os primeiros 200.000 bytes, divididos em caracteres inteiros.
Por que notion_article_page_url está vazio para alguns idiomas?
notion_article_page_url está vazio para alguns idiomas?Esse idioma foi produzido por tradução automática, portanto não possui uma página própria no Notion.