Fermion offers an easy-to-use API for creating and managing downloadable digital products. This guide will help you upload and publish ZIP files via API step by step.Documentation Index
Fetch the complete documentation index at: https://docs.fermion.app/llms.txt
Use this file to discover all available pages before exploring further.
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
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.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
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.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
Add Pricing (Optional)
To set up paid access, use the digital product pricing API.See docs: create-custom-pricing-plan-for-a-product
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:Get New Presigned Upload URL
Call
get-presigned-url-for-downloadable-product-upload again to get a fresh upload URL.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
