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
| Campo | Tipo | Observações |
|---|---|---|
publish | boolean | Obrigatório. true publica (status → published); false volta para ready. |
visibility | private | unlisted | public | Opcional. 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á comcontentvazio.403 insufficient_scope— o token não tempublish:write.