Publicação

POST/v1/books/{bookId}/publishescopo: publish:write

Publique ou despublique um livro. Ao publicar, todo capítulo precisa ter conteúdo; a Anthra gera um slug globalmente único (reaproveitando o slug do livro se ele já foi publicado antes), define publishedAt e revalida o leitor público em /read/{slug}.

Corpo

CampoTipoObservações
publishbooleanObrigatório. true publica (status → published); false volta para ready.
visibilityprivate | unlisted | publicOpcional. O padrão é o valor que o livro já tem. unlisted = qualquer pessoa com o slug pode ler; public = também pode ser indexado.
curl -X POST "$ANTHRA_BASE/books/$BOOK/publish" \
  -H "authorization: Bearer $ANTHRA_TOKEN" \
  -H "content-type: application/json" \
  -d '{ "publish": true, "visibility": "unlisted" }'

A resposta inclui o Book atualizado, com slug e readerUrl.

Erros comuns

  • 400 invalid_state — “Finish writing all chapters before publishing.” Algum capítulo está com content vazio.
  • 403 insufficient_scope — o token não tem publish:write.