Draftn.io docs · api
Endpoints · Tags

Tags

Tags são rótulos transversais que conectam posts por assunto. Use estes endpoints para nuvens de tags, páginas de assunto e navegação relacionada. Cada tag traz a contagem de posts em _count.posts.

Listar tags

GET https://api.draftin.io /public/tags

Requer X-API-Key

Retorna um array com todas as tags do blog, com a contagem de posts de cada uma.

Quando usar

  • Renderizar uma nuvem de tags ou filtros por assunto.
  • Gerar páginas de tag (uma por assunto).
  • Dimensionar visualmente as tags pela contagem de posts.

Exemplo de requisição

curl "https://api.draftin.io/public/tags" \
  -H "X-API-Key: $DRAFTIN_API_KEY"

Exemplo de resposta

200 OK — Tag[]
[
  {
    "id": "clxxx301",
    "name": "javascript",
    "blogId": "clxxx789",
    "createdAt": "2026-05-02T08:00:00.000Z",
    "updatedAt": "2026-05-18T11:45:00.000Z",
    "_count": { "posts": 3 }
  }
]

Respostas possíveis

StatusSignificado
200
OK
Lista de tags (array de Tag).
401
Unauthorized
Chave de API inválida ou ausente.

Obter tag por ID

GET https://api.draftin.io /public/tags/{id}

Requer X-API-Key

Recupera uma única tag pelo seu identificador.

Parâmetros de rota

ParâmetroTipoObrigatórioDescrição
idstringSimIdentificador único da tag.

Exemplo de requisição

curl "https://api.draftin.io/public/tags/clxxx301" \
  -H "X-API-Key: $DRAFTIN_API_KEY"

Exemplo de resposta

200 OK — Tag
{
  "id": "clxxx301",
  "name": "javascript",
  "blogId": "clxxx789",
  "createdAt": "2026-05-02T08:00:00.000Z",
  "updatedAt": "2026-05-18T11:45:00.000Z",
  "_count": { "posts": 3 }
}

Respostas possíveis

StatusSignificado
200
OK
Tag encontrada (objeto Tag).
401
Unauthorized
Chave de API inválida ou ausente.
404
Not Found
Tag não encontrada.

Listar posts de uma tag

GET https://api.draftin.io /public/tags/{id}/posts

Requer X-API-Key

Retorna os posts publicados associados à tag, paginados por page/pageSize, no envelope PostListResponse.

Parâmetros

ParâmetroTipoObrigatórioDescrição
idstringSimID da tag. (parâmetro de rota)
pageintegerNãoNúmero da página (começa em 1).
Padrão: 1
pageSizeintegerNãoQuantidade de posts por página.
Padrão: 10

Exemplo de requisição

curl "https://api.draftin.io/public/tags/clxxx301/posts?page=1&pageSize=10" \
  -H "X-API-Key: $DRAFTIN_API_KEY"

Exemplo de resposta

200 OK — PostListResponse
{
  "posts": [
    {
      "id": "clxxx101",
      "title": "Introdução ao JavaScript",
      "slug": "introducao-ao-javascript",
      "status": "PUBLISHED",
      "publishedAt": "2026-06-01T12:00:00.000Z"
    }
  ],
  "total": 3,
  "page": 1,
  "pageSize": 10,
  "totalPages": 1
}

Respostas possíveis

StatusSignificado
200
OK
Posts da tag (envelope PostListResponse).
401
Unauthorized
Chave de API inválida ou ausente.

Campos do objeto Tag

idstring
Identificador único da tag.
namestring
Nome da tag (ex.: javascript).
blogIdstring
ID do blog dono da tag.
createdAtstring · date-time
Data/hora de criação.
updatedAtstring · date-time
Data/hora da última atualização.
_countobject
Contadores agregados. Contém posts (integer): quantidade de posts associados a esta tag.

Boas práticas

  • Filtre tags vazias com _count.posts > 0 antes de exibir.
  • Cacheie a lista de tags; ela é estável e reaproveitada em muitas páginas.
  • Combine com posts para "conteúdo relacionado": leia as tags de um post e busque outros da mesma tag.

Casos de uso comuns

  • Nuvem de tags na sidebar com tamanho proporcional a _count.posts.
  • Página de assunto: /public/tags/{id}/posts para listar tudo de um tema.
  • Posts relacionados: usar as tags do post atual para sugerir leituras.