API and Integrations
Developer features built into shookout — License Key API, Update Check endpoint, Install URL, Prerequisites, and External Purchase
Overview
shookout includes several integration features that allow sellers to connect their products to external systems — automating licence validation, update checks, and buyer onboarding. These features are configured per-product during submission or in the creator panel.
License Key API
Programmatic activation, validation, and management of per-purchase licence keys.
Update Check
A public JSON endpoint your software can poll to detect when a new version is available.
Install URL
Collect the buyer's website URL at download time — used as a licence identifier or for seller records.
External Purchase
Replace file delivery with an external URL — redirect buyers to your own download or checkout system.
Prerequisites
Require buyers to own one or more other marketplace products before they can purchase or download.
License Key API
The License Key API allows your software to programmatically activate, validate, and inspect per-purchase licence keys issued by shookout. It is enabled per-software in the product settings and exposes a standalone PHP endpoint.
API endpoint
Actions
usage_id for subsequent checks. Required parameters: key, identifier (if the licence uses an identifier mode). Optional: setIdentifier=1 for first-time manual binding, extra (JSON payload stored on the activation record).key, identifier, usage_id. If IP enforcement is enabled, the request must originate from the same IP used during activation.key, identifier.extra JSON payload stored on a specific activation record. Required parameters: key, identifier, usage_id, extra (URL-encoded JSON).Example requests
Common parameters
| Parameter | Required for | Description |
|---|---|---|
key | All actions | The licence key string |
identifier | All actions (when identifier mode is set) | The value used to bind and validate the licence |
usage_id | check, updateExtra | The activation record ID returned by activate |
setIdentifier=1 | activate (first-time manual binding only) | Binds the identifier on first activation |
extra | activate, updateExtra | URL-encoded JSON payload stored on the activation record |
Error codes
| Code | Meaning |
|---|---|
1101 | Bad key or identifier |
1102 | Inactive key |
1103 | Expired key |
1201 | Maximum uses reached |
1301 | Bad usage ID |
1302 | Bad IP |
1901 | Bad method |
1902 | API disabled |
1903 | Internal error |
Licence key types
- Standard — segmented alphanumeric key (e.g.
ABCD-EFGH-IJKL-MNOP-QRST). Segment count (2–10) and length (4–8 characters) are configurable in the ACP. - MD5 — MD5-based key format for compatibility with systems that expect a hash-style key.
Licence identifier modes
The identifier mode controls how the API validates which buyer is activating a key:
- None — no identifier required. Key alone is sufficient to activate.
- Manual binding via API — the client sets an identifier on first activation using
setIdentifier=1. Subsequent checks must match this value. - Email, Name, and Username — the identifier is resolved from the buyer's shookout account details.
- Purchase ID — the identifier is the shookout purchase ID for this product.
- Install URL — the identifier is the buyer's registered Install URL (see below).
ℹ️ The License Key API must be enabled by the seller in the product's ACP settings. It is disabled by default. IP enforcement and IP override are optional settings configurable per-platform.
Update Check Endpoint
The Update Check endpoint is a public, unauthenticated JSON endpoint your software can poll to detect whether a newer version is available on shookout. The response format is compatible with the IPS update-check task.
Endpoint
id. No authentication required. The product must be approved and publicly visible.Response format
Use case
Include the Update Check URL in your software's settings or configuration file. On each launch, your software can call this endpoint and compare the returned longversion with its own installed version number. If the remote value is higher, prompt the user to download the new release from shookout.
Find your product's numeric id in the URL of your product page on shookout: shookout.com/item/123-product-name/
Install URL
Install URL is a feature that requires buyers to register the URL of the website where they will install your software before they can download it. It can also serve as the licence identifier when used with the License Key API.
How it works for buyers
- After purchasing, when the buyer clicks Download, a form appears asking for their website URL
- They enter a valid HTTP or HTTPS URL (e.g.
https://example.com) - The URL is stored against the purchase and shared only with the seller
- If the seller has locked the Install URL, it cannot be changed after initial submission
How it works for sellers
- Enable Require Install URL Before Download in the product's ACP settings
- Optionally customise the label text shown to buyers on the URL input form
- Optionally add a privacy notice explaining how the URL will be used
- Choose whether buyers can edit their URL after initial submission
- View submitted Install URLs per-purchase in Store Manager → Customers
ℹ️ Install URL integrates with the License Key API — set the identifier mode to Install URL to use the buyer's registered URL as the licence identifier automatically.
External Purchase
External Purchase replaces shookout's file delivery with a redirect to a URL you control. When enabled, buyers who click Buy Now or Download are sent to your external URL instead of receiving files from shookout.
Use cases
- Products hosted on your own server or CDN
- Software delivered via your own licensing or download portal
- Services or access-based products with no downloadable file
- Products that require account creation on an external system before delivery
How to set it up
- In the product submission wizard, go to Step 2 — Upload & Version
- For the file type, select External Purchase instead of Uploaded file
- Enter the external URL buyers will be sent to
- The URL is shown as a button on the product page after purchase
You are responsible for availability and access control of the external URL. shookout does not verify or monitor external delivery systems.
Prerequisites
Prerequisites allow you to require that buyers already own one or more other shookout products before they can purchase or download your product. This is enforced on both the purchase action and the download action.
Configuration
Set up prerequisites in the product's Prerequisites tab in the creator panel:
- Select one or more required marketplace products
- Choose the match rule:
- Require all — buyer must own every selected product
- Require any — buyer must own at least one of the selected products
What buyers see
- On the product page, missing prerequisites are listed with their status (Requirement met / Requirement missing)
- The Buy Now and Download buttons are replaced with a Prerequisites Required button when requirements are not met
- Signed-out visitors see a prompt to sign in to check their prerequisite status
ℹ️ Prerequisites are useful for add-ons, themes, or plugins that depend on a base product. They ensure buyers have the required software before purchasing an extension.
Frequently Asked Questions
The License Key API is enabled in the product's ACP settings. Contact shookout support if you need the API enabled for your product — it is off by default.
Look at your product's URL on shookout: shookout.com/item/123-product-name/. The number immediately after /item/ is your product ID.
Only if the seller has enabled Allow Buyers to Edit Install URL in the product settings. If the URL has been locked by the seller, it cannot be changed — the buyer would need to contact the seller directly.
Error 1201 means the licence key has reached its maximum activation limit set by the seller. The buyer should contact the seller to increase the limit or deactivate an old activation.
Yes. External Purchase controls where buyers are sent after purchase. The License Key API operates independently and can still issue and validate keys for externally delivered products.
Prerequisites are enforced at the time of purchase and download. Buyers who already own the product before prerequisites were added retain their access — they are not retroactively blocked.
Need help setting up an integration?
Open a support ticket and the shookout team will help you configure your product correctly.
Contact Support