Approve a book preview
tinytales_approve_book_preview tinytales:write
Record that the person has reviewed every rendered page of a book and the amount for the chosen quantity. Required before tinytales_create_checkout. The response includes the price breakdown and total. Approval is invalidated if pages or the cover change afterward. This does not charge a card.
01Access
The signed-in customer must have approved tinytales:write. Calls stay inside that account.
02Annotations
The tool creates or updates records in the signed-in account.
The change can be removed later with a delete tool, or it only adds data.
This tool only reads or changes the signed-in TinyTales account. It does not post to the public internet or to other people’s services.
Repeating the same call does not stack a second effect.
03Input
Book id returned by tinytales_list_books or tinytales_create_book.
Number of printed copies. When omitted, uses the curation profile defaultQuantity, or 1 if no profile is set. 1 means one shared copy.
json returns structured data. markdown returns the same data as a short readable summary. Defaults to json.
04Output
True when the underlying TinyTales route accepted the call.
One-line result for the model to read.
Present when ok is false. Names the failed state and the next tool to call.
Copy count priced with this approval.
Price breakdown from the same Polar config checkout uses: unitPriceCents (promo when active), listPriceCents, additionalCopyPriceCents, promoActive, shippingIncluded, currency, quantity, and totalCents.
05Errors
- Every page must be finished generating before you approve the preview.
- Book not found
06Example request
{
"book_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"quantity": 1
}
07Example response
{
"ok": true,
"summary": "Preview approved. Checkout can create a payment link.",
"quantity": 1,
"pricing": {
"currency": "USD",
"shippingIncluded": true,
"promoActive": true,
"listPriceCents": 2500,
"unitPriceCents": 1500,
"additionalCopyPriceCents": 800,
"quantity": 1,
"totalCents": 1500
}
}