Skip to content

Using narratorr-requests

The Request page is the catalog search. Type a title, author, or series and press Search (search runs on submit, not per-keystroke — each query hits narratorr’s metadata provider).

Each result card shows the cover, title, author(s), narrator(s), and series (with position). A badge tells you where the book stands, most-actionable state wins:

BadgeMeaning
In librarynarratorr already has it imported — nothing to do.
On the waynarratorr is already acquiring it (no duplicate request offered).
(your request’s status)You’ve already requested it — shows Requested / Approved / Processing / Available / etc.
Request buttonNot owned and not yet requested — request it.

Click Request on a card. What happens next depends on your account:

  • Normal users → the request is created pending and waits for an admin to approve it.
  • Admins and auto-approve users → the request is auto-approved and handed to narratorr immediately (no queue).

A couple of rules:

  • One active request per book. Requesting a book you already have an active request for just returns the existing one. You can re-request a book that was previously denied or failed.
  • Quota. Non-admin users have a rolling-window request quota. At the limit, the request is rejected with a “quota reached” message (429). An admin can also block a user from requesting entirely — a distinct hard denial (403), not just a cap of zero.

The My Requests page lists everything you’ve requested and updates live (it polls every few seconds), so you’ll see a request move through its stages without refreshing.

StatusMeans
RequestedAwaiting admin review.
ApprovedApproved; handoff to narratorr pending/in-flight.
Processingnarratorr is searching / downloading / importing it.
AvailableImported into the library — done.
DeniedAn admin declined it (the reason, if given, is shown).
FailedThe acquisition failed (the reason, if known, is shown).

The list is read-only — there’s no cancel or retry. A denied or failed book can simply be requested again from search.

Admins get a Queue page (all users’ requests, filterable by status, defaulting to the pending review queue). On a pending request:

  • Approve → the request is approved and handed to narratorr (added idempotently by ASIN), then it moves to Processing.
  • Deny → optionally enter a reason (the requester sees it), then confirm.

Approvals are claimed atomically, so two admins can’t both act on the same request — the second gets a “not pending” notice.

The Users page manages accounts (sorted pending → active → rejected, with a banner counting who’s awaiting approval). Per user you can:

  • Approve / Reject a pending account (reject is durable; you can re-approve later).

  • Promote / Demote admin — disabled on your own row (you can’t change your own role or status, so the last admin can’t lock themselves out).

  • Set a per-user request quota — one of four explicit modes, not a blank/number toggle:

    ModeEffect
    InheritNo override — follows the app-wide default (see Configuration).
    UnlimitedNo cap for this user, even if the app default is limited.
    Limit requestsA custom positive cap for just this user, on the same rolling window.
    BlockedA hard admin denial — the user can’t request at all, distinct from “a cap of zero.”
  • Toggle auto-approve — that user’s requests skip the pending queue (they still count against their quota, unless blocked). Admins always auto-approve.

Each user’s detail page also lists their full request history.