1. Public
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
      GET
    • Create a language
      POST
    • Get language usage stats
      GET
    • Update a language
      PUT
    • Delete a language
      DELETE
  • 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
    • Downloads over time
    • Downloads by book
    • Downloads by country
    • Downloads by language
    • Downloads by device type
    • Download event log (paginated)
    • Export download events as CSV
  • 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. Public

Request a single book download

POST
/api/download/submit
Creates or updates a contact record, logs the download event with GeoIP
and device data, increments the file download counter, and returns a
time-limited download URL.

Request

Query Params

Body Params application/jsonRequired

Examples

Responses

🟢200
application/json
Download URL generated
Body

🟠400
🟠404
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/api/download/submit?utm_source&utm_medium&utm_campaign' \
--header 'Content-Type: application/json' \
--data-raw '{
    "bookSlug": "the-great-controversy",
    "languageCode": "en",
    "fileType": "pdf",
    "contact": {
        "firstName": "John",
        "email": "john@example.com",
        "country": "US"
    }
}'
Response Response Example
200 - Success
{
    "downloadUrl": "/api/download/eyJhbGciOiJIUzI1NiJ9..."
}
Modified at 2026-03-27 22:49:45
Previous
List published books
Next
Request a bulk download (all books for a language)
Built with