Fulfillment
Fulfillment is what happens after a buyer pays. The behavior is determined by the listing’s content_type, set at creation and locked on publish. There are three modes: ListBee delivers pre-attached content automatically (static), your agent pushes generated content (generated), or your external system takes over entirely (webhook).
How it works
When Stripe confirms payment, ListBee inspects the order’s content_type and takes the appropriate action:
- static — ListBee immediately creates an access grant from the listing’s pre-attached deliverables, emails the buyer a download link, and marks the order
fulfilled. No action required from you. - generated — the order transitions to
processingand ListBee firesorder.paid. Your agent receives the event, generates the content, then callsPOST /v1/orders/{id}/fulfillto push it. ListBee delivers it and marks the orderfulfilled. - webhook — ListBee fires
order.paidand marks the orderhanded_off. Your system is fully responsible for delivery. ListBee does not deliver anything.
order.fulfilled fires for static and generated orders. order.paid fires for all three.
Choosing a content type
Static delivery
Attach up to 3 deliverables to the listing before publishing. On payment, ListBee delivers them automatically.
Generated delivery
Your agent generates content per order in response to order.paid, then calls fulfill to push it back.
Webhook (external) delivery
ListBee fires order.paid and hands off. Your system handles all delivery.
Deliverable types
A deliverable is what the buyer receives after payment. Each has a type and either a token (for files) or a value (for URLs and text). Up to 3 deliverables per listing or per fulfill call. Mixed types allowed.
File deliverable
Upload first, then reference the token. Two steps:
After payment, the buyer gets an access grant with a signed download URL. The grant expires after 48 hours or 10 downloads, whichever comes first.
URL deliverable
Direct redirect — the buyer clicks the download link and is sent to your URL. No file hosting needed.
Use this for content already hosted elsewhere (S3, Google Drive shared links, Notion pages, Gumroad-style external downloads).
Text deliverable
Literal text rendered on the download page. Good for license keys, passwords, short instructions, or generated content.
Mixing types
A single listing can combine all three:
The buyer sees all three on their download page after payment.