1. Analytics
Flow Download Manager API
  • Public
    • Health check
      GET
    • List published books
      GET
    • Request a single book download
      POST
    • Request a bulk download (all books for a language)
      POST
    • Download a file via token
      GET
  • Books
    • List all books
      GET
    • Create a book
      POST
    • Get book details
      GET
    • Update a book
      PUT
    • Soft-delete a book
      DELETE
    • Bulk upsert books
      POST
    • Reorder books
      PATCH
  • Files
    • List files for a book
      GET
    • Add a file (local upload or cloud link)
      POST
    • Upload or replace a file
      PUT
    • Update file metadata
      PATCH
    • Delete a file
      DELETE
  • Translations
    • Add or update a translation
      POST
    • Delete a translation
      DELETE
  • Languages
    • List all languages
    • Create a language
    • Get language usage stats
    • Update a language
    • Delete a language
  • Channels
    • List distribution channels
    • Create a channel
    • Update a channel
    • Delete a channel
    • Get publication matrix
    • Toggle a publication
  • Contacts
    • List contacts (paginated)
    • Get contact details with download history
    • Export contacts as CSV
  • Analytics
    • Dashboard summary
      GET
    • Downloads over time
      GET
    • Downloads by book
      GET
    • Downloads by country
      GET
    • Downloads by language
      GET
    • Downloads by device type
      GET
    • Download event log (paginated)
      GET
    • Export download events as CSV
      GET
  • Settings
    • Get app settings
    • Update GeoIP database
  • API Keys
    • List API keys
    • Create an API key
    • Revoke an API key
  • Schemas
    • Error
    • Pagination
    • PublicBook
    • AdminBook
    • BookDetail
    • BookFile
    • Translation
    • Language
    • Channel
    • ApiKey
    • Contact
    • DownloadEvent
  1. Analytics

Downloads by book

GET
/api/admin/analytics/by-book

Request

Authorization
API Key
Add parameter in cookie
next-auth.session-token
Example:
next-auth.session-token: ********************
or
Query Params

Responses

🟢200
application/json
Per-book breakdown
Body

🟠401Unauthorized
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request GET '/api/admin/analytics/by-book?startDate&endDate&languageId'
Response Response Example
200 - Success
{
    "data": [
        {
            "bookId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
            "bookTitle": "The Great Controversy",
            "totalDownloads": 1250,
            "totalBooks": 1250,
            "uniqueContacts": 980,
            "legacyDownloads": 3200
        },
        {
            "bookId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
            "bookTitle": "Steps to Christ",
            "totalDownloads": 890,
            "totalBooks": 890,
            "uniqueContacts": 720,
            "legacyDownloads": 2100
        }
    ]
}
Modified at 2026-03-27 22:49:45
Previous
Downloads over time
Next
Downloads by country
Built with