Buku

Buku adalah wadah tingkat teratas — metadata (judul, premis, genre, warna sampul), status pembuatan, dan daftar bab yang berurutan. Semua endpoint dibatasi pada pengguna pemilik token yang memanggil; Anda hanya bisa melihat buku Anda sendiri.

Tampilkan daftar buku

GET/v1/bookscakupan: books:read

Mengembalikan semua buku yang belum dihapus di akun, dari yang terakhir diperbarui.

curl -H "authorization: Bearer $ANTHRA_TOKEN" \
  https://anthra.com/api/v1/books

Respons

{
  "data": [
    {
      "id": "8f1c…",
      "title": "Walking the Salt Roads",
      "subtitle": "A year on foot through southern Europe",
      "premise": "…",
      "status": "published",
      "visibility": "unlisted",
      "slug": "walking-the-salt-roads",
      "readerUrl": "https://anthra.com/read/walking-the-salt-roads",
      "createdAt": "2026-05-12T18:24:11.000Z",
      "updatedAt": "2026-05-30T09:01:02.000Z"
    }
  ]
}

Buat buku

POST/v1/bookscakupan: books:write

Membuat draf buku yang diawali dengan premis. Penyusun kerangka tidak dijalankan otomatis — panggil /outline berikutnya.

Body

FieldTipeCatatan
premisestring (10–4000)Wajib. Prompt awal untuk buku.
titlestringOpsional. Bawaannya “Untitled Book” sampai ditimpa oleh penyusun kerangka.
genrestringPetunjuk untuk penyusun kerangka.
audiencestringPetunjuk untuk penyusun kerangka.
authorstringNama penulis yang tampil publik. Bawaannya nama akun Anda.
modelTierhaiku | sonnet | opusModel penulis untuk prosa bab. sonnet adalah bawaannya.

Ambil satu buku

GET/v1/books/{bookId}cakupan: books:read

Mengembalikan buku beserta daftar lengkap babnya (dengan isi prosa).

Perbarui buku

PATCH/v1/books/{bookId}cakupan: books:write

Ubah salah satu dari title, subtitle, author, description, coverColor (hex), audience, toneStyle, genre, modelTier.

Hapus buku

DELETE/v1/books/{bookId}cakupan: books:write

Menghapus buku secara lunak — buku bisa dipulihkan selama 30 hari, setelah itu worker cron malam menghapusnya permanen.

Ekstrak teks dari file naskah

POST/v1/books/import/extractcakupan: books:write

Unggah file .docx, .epub, .pdf, .md, atau .txt (maks. 4 MB) sebagai multipart/form-data dengan field file (dan filename opsional). Mengembalikan naskah sebagai Markdown dengan satu # heading per bab yang terdeteksi, ditambah title, subtitle, dan author yang terdeteksi, wordCount, chapterCount, serta warnings dari parser. Tidak ada yang disimpan dan tidak ada biaya — simpan teksnya sebagai buku dengan alat import_book (POST /v1/tools/import_book). File yang tidak terbaca menghasilkan 400, file yang terlalu besar 413. File tanpa teks yang bisa dibaca (misalnya PDF hasil pindai) mengembalikan 400 unreadable, dan teks yang terlalu panjang untuk satu respons mengembalikan 413 payload_too_large; file .epub dan .docx yang terkompresi bisa melewati batas setelah dibuka. Respons juga memuat looksLikeBrief dan looksLikeBible. Kirim asBible: true ke import_book untuk memulai buku dengan buku pegangan cerita di buku pegangan penulis, bukan sebagai bab.

curl -X POST "$ANTHRA_BASE/books/import/extract"   -H "authorization: Bearer $ANTHRA_TOKEN"   -F "file=@manuscript.docx"

Cari di perpustakaan publik

GET/v1/discovercakupan: none (public)

Buku publik yang sudah terbit dari semua penulis: versi JSON dari /discover. Tidak perlu token; permintaan dibatasi per IP. Parameter kueri: q, author, genre, lang, length (short | medium | long), audio, illustrated, sort (newest | title | most-read), dan page. meta berisi total, page, pageSize, totalPages, dan daftar genre.

curl "https://anthra.com/api/v1/discover?genre=fantasy&sort=most-read"

Baca buku yang sudah terbit

GET/v1/discover/{slug}cakupan: none (public)

Buku publik yang sudah terbit beserta bab-babnya: apa yang ditampilkan /read/{slug} kepada pembaca mana pun. Buku yang belum terbit dan buku privat mengembalikan 404.