Overview
With Fermion’s Downloadable Products API, you can:- Create downloadable product entries through code
- Securely upload files to our cloud storage
- Process and prepare files for distribution
- Update product metadata and descriptions
- Set up and edit pricing plans
- Manage multiple versions of any downloadable product
Prerequisites
Before you begin, make sure you have:- A valid Fermion API key
- A ZIP file ready for upload
- Basic familiarity with HTTP requests and file uploads
1
Create a Downloadable Product
Create a new downloadable product using the
create-downloadable-product endpoint.Refer to the create-downloadable-product endpoint for call details.Sample Response:Save the
slug value—it’s a unique, URL-friendly ID you’ll use for all later API calls.2
Get a Presigned Upload URL
See the get-presigned-url-for-downloadable-product-upload for details.Sample Response:Key Points:
- Save
r2KeyForOriginalDownloadableProduct—you’ll need it next - The upload link is one-time and time-limited for security
- Requesting a new URL allows you to upload a new version
3
Upload the File via Presigned URL
Upload your file using a HTTP PUT request to the URL from Step 2.
4
Process the Uploaded Product
After uploading your file, trigger processing to prepare it for distribution.See the process-uploaded-downloadable-product.Sample Request Body:Sample Response:What Processing Does:
- Downloads your file from storage
- Validates the file format and integrity
- Prepares the file for secure distribution
- Logs version metadata to your product
Save the
downloadableProductVersionIndex—you’ll need it to activate (publish) this version.5
Update Product Metadata (Optional)
See API docs: update-downloadable-product-metadataSample Request Body:Field Breakdown:
title(optional): Product display titleshortDescription(optional): Summary for listingslongDescription(optional): Main description on product pageactiveVersionIndex(optional): Which uploaded version customers see
6
Add Pricing (Optional)
To set up paid access, use the digital product pricing API.See docs: create-custom-pricing-plan-for-a-product
7
Publish & Share
After completing the above, your downloadable product is ready to be published by setting it to “Active.”
Complete Example: JavaScript/Node.js Workflow
Below is a full downloadable product upload example using Node.js:Managing Multiple Product Versions
You can upload new versions (such as updates or corrections) for the same downloadable product:1
Get New Presigned Upload URL
Call
get-presigned-url-for-downloadable-product-upload again to get a fresh upload URL.2
Upload New File
Upload your new file via the new URL.
3
Process the Upload
Process the new version.
4
Update Version Index
Update
activeVersionIndex via the metadata API to switch to the new version.Related Guides
- Learn about eBooks over API for PDF-based digital products
- Explore affiliate marketing over API to promote your products
- Check out user endpoints for managing customer enrollments
Getting Help
If you get stuck or have an edge-case issue:- See the API Reference for endpoint details
- Check the Webhooks Guide to track product purchases
- For product-specific issues, contact support and include your
fermionDigitalProductId
