Overview
NOTE: Using the ClickBank Products API may require a rudimentary understanding of computer programming. If you do not feel equipped to proceed, we encourage you to seek assistance from someone who has computer programming experience.
The Products API lets you perform CRUD product management operations.
URL
URL: https://api.clickbank.com/rest/1.3/products
Methods
This section provides details about the methods available within the Products API, including required keys and roles, output types, and supported and required parameters.
The following methods are covered in this section:
- GET /1.3/products/schema – Returns the XML schema for product results.
- GET /1.3/products/{sku} – Returns a product with the specified SKU.
- GET /1.3/products/list – Returns a list of products associated with an account.
- PUT /1.3/products/{sku} – Creates a new product with the specified SKU and details.
- DELETE /1.3/products/{sku} – Deletes the product with the specified SKU.
GET /1.3/products/schema
This method returns the XML schema for product results.
Required Keys and Roles
- None
Return Type
XML schema for Product Information
Supported Output Types
- application/xml
GET /1.3/products/{sku}
This method returns the product with the specified SKU.
Request Parameters
Name | Required | Description |
---|---|---|
site | Yes | The account owning the product. |
Required Keys and Roles
- ClickBank API Key
- API Products Client Role
Return Type
Supported Output Types
- application/xml
- application/json
GET /1.3/products/list
This method returns a list of all products associated with an account.
Request Parameters
Name | Required | Description |
---|---|---|
site | Yes | The account owning the products to be returned. |
type | No | The product types to return. Must be either STANDARD or RECURRING. If you do not specify a type, all types are returned. |
Required Keys and Roles
- ClickBank API Key
- API Products Client Role
Return Type
Supported Output Types
- application/xml
- application/json
PUT /1.3/products/{sku}
This method creates a product with the specified parameters.
Request Parameters
Name | Required | Description |
---|---|---|
currency | Yes |
The currency the product is sold in, in three-character format. See the Currencies ClickBank Accepts article for a full list. |
language | Yes | The language of the product. The valid values are:
|
price | Yes |
The initial price for the product. |
site | Yes |
The account nickname that owns the new product. |
title | Yes |
The title of the product. |
categories | Required for product with digital component | The categories for a product with a digital component. One or more categories can be specified. Valid values are:
|
deliveryMethod | Required for product with physical component |
The method of delivery for a physical product. |
deliverySpeed | Required for product with physical component |
The speed of delivery for a physical product. |
description | Required for product with physical or recurring component | A description of the product. |
digital | At least one component is required |
Components specify one or more pieces of the product. For example, a one-time physical product would have a physical component, while a physical product with recurring digital would have a physical component and a digitalRecurring component. You must specify one or more components for the product:
|
digitalRecurring | ||
physical | ||
physicalRecurring | ||
duration | Required for recurring products | The rebill duration for a recurring product. |
frequency | Required for recurring products | The rebill frequency for a recurring product. Valid values are:
|
pitchPage | At least one pitch page is required |
You must specify at least one URL for the product's pitch page. This can be the same as the HopLink Target URL. You can specify a generic pitch page URL, a mobile-friendly pitch page URL, or both. |
mobilePitchPage | ||
rebillCommission | Required for recurring products |
The rebill commission rate for a recurring product. |
rebillPrice | Required for recurring products | The rebill price for a recurring product. |
shippingProfile | Required for product with physical component |
The shipping profile for a physical product. |
thankYouPage | At least one thank you page is required | You must specify at least one thank you page for the product. You can specify a generic thank you page, a thank you page designed for mobile devices, or both. |
mobileThankYouPage | ||
trialPeriod | Required for recurring products |
The trial period for a recurring product, in days. The valid values are either 0 (meaning no trial period) or a whole number between 3 and 31. |
image | No |
The ID of the image to associate with the product. |
preRebillNotificationLeadTime | No |
The lead time for pre-rebill notifications, in days. If pre-rebill notifications are enabled, a reminder message is sent to customers prior to each rebill. |
preRebillNotificationOverride | No |
When this parameter is set, pre-rebill notifications are sent regardless of the product's rebill cycle. If this parameter is not set, pre-rebill notifications are not sent for products that are rebilled every month or more frequently. |
purchaseCommission | No |
The commission rate for the product. If unspecified, the account's default commission rate is used. |
rebillRefundDaysLimit | No |
The number of days within which a rebill can be refunded. |
saleRefundDaysLimit | No |
The number of days within which a sale can be refunded. |
skipConfirmationPage | No |
Specifies whether the confirmation page is skipped. Valid values are true or false. This parameter is role restricted. If you do not have the role, it will not be honored. |
Required Keys and Roles
- ClickBank API Key
- API Products Client Role
Return Type
A product SKU.
Supported Output Types
- application/xml
- application/json
DELETE /1.3/products/{sku}
This method deletes the product with the specified SKU.
Request Parameters
Name | Required | Description |
---|---|---|
site | Yes | The account owning the product to be deleted. |
Required Keys and Roles
- ClickBank API Key
- API Products Client Role
Return Type
Nothing.
Supported Output Types
- application/xml
- application/json
Return Types
This section details the return types used by the Products API.
The following return types are covered in this section:
Product Information
Product InformationResult returns use the following format:
<xs:schema xmlns:xs="http:/ /www.w3.org /2001 /XMLSchema" version="1.0">
<xs:element name="Image" type="imageBean"/>
<xs:element name="commission" type="productCommission"/>
<xs:element name="contractBean" type="contractBean"/>
<xs:element name="physical" type="physicalPricing"/>
<xs:element name="pitch_pages" type="pitchPages"/>
<xs:element name="price" type="price"/>
<xs:element name="pricing" type="pricing"/>
<xs:element name="product" type="productBean"/>
<xs:element name="product_approval_status" type="productApprovalStatus"/>
<xs:element name="recurring" type="recurringPricing"/>
<xs:element name="standard" type="standardPricing"/>
<xs:element name="thank_you_pages" type="thankYouPages"/>
<xs:complexType name="productBean">
<xs:sequence>
<xs:element name="id" type="xs:int" minOccurs="0"/>
<xs:element name="status" type="activeStatus" minOccurs="0"/>
<xs:element name="digital" type="xs:boolean"/>
<xs:element name="physical" type="xs:boolean"/>
<xs:element name="digitalRecurring" type="xs:boolean"/>
<xs:element name="physicalRecurring" type="xs:boolean"/>
<xs:element name="site" type="xs:string" minOccurs="0"/>
<xs:element name="created" type="xs:string" minOccurs="0"/>
<xs:element name="updated" type="xs:string" minOccurs="0"/>
<xs:element name="approval_status" type="productApprovalStatus" minOccurs="0"/>
<xs:element name="language" type="xs:string" minOccurs="0"/>
<xs:element name="title" type="xs:string" minOccurs="0"/>
<xs:element name="description" type="xs:string" minOccurs="0"/>
<xs:element name="image" type="imageBean" minOccurs="0"/>
<xs:element ref="thank_you_pages" minOccurs="0"/>
<xs:element ref="pitch_pages" minOccurs="0"/>
<xs:element ref="commission" minOccurs="0"/>
<xs:element name="pricings" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element ref="pricing" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="contracts" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="contract" type="contractBean" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="categories" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="category" type="productCategory" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="disable_geo_currency" type="xs:boolean" minOccurs="0"/>
<xs:element name="allow_currency_change" type="xs:boolean" minOccurs="0"/>
<xs:element name="us_tax_exempt" type="xs:boolean" minOccurs="0"/>
<xs:element name="revenue_recognition" type="revRec" minOccurs="0"/>
<xs:element name="reduced_upsell_markup" type="xs:boolean" minOccurs="0"/>
<xs:element name="skip_confirmation_page" type="xs:boolean" minOccurs="0"/>
<xs:element name="admin_download_url" type="xs:string" minOccurs="0"/>
<xs:element name="admin_mobile_download_url" type="xs:string" minOccurs="0"/>
<xs:element name="no_commission" type="xs:boolean"/>
<xs:element name="sale_refund_days_limit" type="xs:int" minOccurs="0"/>
<xs:element name="rebill_refund_days_limit" type="xs:int" minOccurs="0"/>
<xs:element name="admin_restrict_flexible_refund" type="xs:boolean" minOccurs="0"/>
<xs:element name="commission_tier_override" type="xs:boolean"/>
<xs:element name="deliveryMethod" type="xs:string" minOccurs="0"/>
<xs:element name="deliverySpeed" type="xs:string" minOccurs="0"/>
<xs:element name="maxQuantity" type="xs:int" minOccurs="0"/>
<xs:element name="isPartOfOrderBump" type="xs:boolean"/>
<xs:element name="isInitialOfOrderBump" type="xs:boolean"/>
<xs:element name="isProductOfOrderBump" type="xs:boolean"/>
</xs:sequence>
<xs:attribute name="sku" type="xs:string"/>
</xs:complexType>
<xs:complexType name="productApprovalStatus">
<xs:sequence>
<xs:element name="ticket_id" type="xs:int" minOccurs="0"/>
<xs:element name="status" type="status" minOccurs="0"/>
<xs:element name="last_action_performed_by" type="role" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:element name="path" type="xs:string" minOccurs="0"/>
<xs:complexType name="imageBean">
<xs:sequence> <xs:element name="id" type="xs:int" minOccurs="0"/> <xs:element name="title" type="xs:string" minOccurs="0"/> <xs:element name="type" type="imageType" minOccurs="0"/> <xs:element name="approved" type="xs:boolean" minOccurs="0"/> <xs:element name="path" type="xs:string" minOccurs="0"/> </xs:sequence>
</xs:complexType>
<xs:complexType name="thankYouPages">
<xs:sequence>
<xs:element name="desktop" type="xs:string" minOccurs="0"/>
<xs:element name="mobile" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="pitchPages">
<xs:sequence>
<xs:element name="desktop" type="xs:string" minOccurs="0"/>
<xs:element name="mobile" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="productCommission">
<xs:sequence>
<xs:element name="purchase" type="xs:decimal" minOccurs="0"/>
<xs:element name="rebill" type="xs:decimal" minOccurs="0"/>
<xs:element name="no_rebill_commission" type="xs:boolean"/>
<xs:element name="commission_tier_override" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="pricing">
<xs:sequence>
<xs:element ref="standard" minOccurs="0"/>
<xs:element ref="recurring" minOccurs="0"/>
<xs:element ref="physical" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="currency" type="xs:string"/>
</xs:complexType>
<xs:complexType name="standardPricing">
<xs:sequence>
<xs:element ref="price" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="price">
<xs:sequence>
<xs:element name="native_price" type="xs:decimal" minOccurs="0"/>
<xs:element name="usd" type="xs:decimal" minOccurs="0"/>
<xs:element name="usd_with_fees" type="xs:decimal" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="recurringPricing">
<xs:sequence>
<xs:element ref="price" minOccurs="0"/>
<xs:element name="frequency" type="recurringFrequency" minOccurs="0"/>
<xs:element name="duration" type="xs:int" minOccurs="0"/>
<xs:element name="trial_days" type="xs:int" minOccurs="0"/>
<xs:element name="pre_rebill_override" type="xs:boolean"/>
<xs:element name="pre_rebill_leadtime" type="xs:int" minOccurs="0"/>
<xs:element name="recurringTitle" type="xs:string" minOccurs="0"/>
<xs:element name="recurringDescription" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="physicalPricing">
<xs:sequence>
<xs:element name="shipping_profile" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="contractBean">
<xs:sequence>
<xs:element name="productId" type="xs:int" minOccurs="0"/>
<xs:element name="name" type="xs:string" minOccurs="0"/>
<xs:element name="owner" type="xs:string" minOccurs="0"/>
<xs:element name="partner" type="xs:string" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="id" type="xs:int"/>
<xs:attribute name="status" type="contractStatus"/>
</xs:complexType>
<xs:simpleType name="activeStatus">
<xs:restriction base="xs:string">
<xs:enumeration value="ACTIVE"/>
<xs:enumeration value="INACTIVE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="status">
<xs:restriction base="xs:string">
<xs:enumeration value="APPROVAL_REQUIRED"/>
<xs:enumeration value="PENDING_APPROVAL"/>
<xs:enumeration value="APPROVED"/>
<xs:enumeration value="DISAPPROVED"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="role">
<xs:restriction base="xs:string">
<xs:enumeration value="VENDOR"/>
<xs:enumeration value="CUSTOMER"/>
<xs:enumeration value="CBCSR"/>
<xs:enumeration value="CBSYSTEM"/>
<xs:enumeration value="USER"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="imageType">
<xs:restriction base="xs:string">
<xs:enumeration value="PRODUCT"/>
<xs:enumeration value="BANNER"/>
<xs:enumeration value="BANNER_BG"/>
<xs:enumeration value="CUSTOM_BANNER"/>
<xs:enumeration value="CUSTOM_BANNER_BG"/>
<xs:enumeration value="CUSTOM_ORDERFORM"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="recurringFrequency">
<xs:restriction base="xs:string">
<xs:enumeration value="WEEKLY"/>
<xs:enumeration value="BI_WEEKLY"/>
<xs:enumeration value="MONTHLY"/>
<xs:enumeration value="QUARTERLY"/>
<xs:enumeration value="HALF_YEARLY"/>
<xs:enumeration value="YEARLY"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="contractStatus">
<xs:restriction base="xs:string">
<xs:enumeration value="PENDING_START"/>
<xs:enumeration value="PENDING_APPROVAL"/>
<xs:enumeration value="ACTIVE"/>
<xs:enumeration value="TERMINATED"/>
<xs:enumeration value="TERMINATION_REQUESTED"/>
<xs:enumeration value="EXPIRED"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="productCategory">
<xs:restriction base="xs:string">
<xs:enumeration value="EBOOK"/>
<xs:enumeration value="SOFTWARE"/>
<xs:enumeration value="GAMES"/>
<xs:enumeration value="AUDIO"/>
<xs:enumeration value="VIDEO"/>
<xs:enumeration value="MEMBER_SITE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="revRec">
<xs:restriction base="xs:string">
<xs:enumeration value="LD"/>
<xs:enumeration value="VD"/>
<xs:enumeration value="LM"/>
<xs:enumeration value="LMA"/>
<xs:enumeration value="LMID"/>
<xs:enumeration value="VM"/>
<xs:enumeration value="I"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
Usage Information
For additional information about using the Products API, see the ClickBank APIs article.
Related Articles
- Editing Existing Products – This article explains how to edit products through the UI.