Endpoints Overview

There are a number of endpoints available for you to interact with your data. Each endpoint section includes a quick overview of the endpoint detailing the HTTP Methods supported, URL Query Parameter support, and descriptions of any unique variables needed in the endpoint. For example, to modify an existing Add On (/add-ons/{UNIQUE_ID}) you need to pass the Add On's unique ID, this is noted in the endpoint using {UNIQUE_ID}. For more detailed information including required fields, returned data, and editable fields continue reading below the overview block.

URL Query Parameters

There are some additional URL Query Parameters that can be added onto GET requests to help manipulate the returned data. These parameters work in pairs to instruct our API how you would like your data returned or which results you would like.

filter and filter_by

To request specific results, for instance by status, you can request the following from the /subscribers endpoint:

/subscribers?filter_by=status&filter=active

This would return only subscribers with a status of "Active"

exclude and exclude_by

To request that specific results be removed from the returned data pass the exclude and exclude_by parameters. For example, to exclude Add Ons related to a specific Subscription you could request the following:

/add-ons?exclude=subscription_id&exclude_by=123

This would remove any Add Ons with a subscription_id value of 123

sort and sort_by

To sort your results use sort and sort_by, for example to sort Add Ons by ID you could pass the following:

/add-ons?sort_by=id&sort=asc

The value for sort can be either "asc" or "desc" for ascending or descending. If sort is not passed the sorting defaults to "asc".

page and paginate

To request results by page and number of results per page you can use page and paginate. Where page is the page number and paginate is the number of results to return.

/add-ons?page=2&paginate=15

If the value for paginate is not passed the API will return 10 results per page.

/add-ons

Overview

Returns all created Add Ons or creates a new Add On. GET requests have full support for URL Query Parameters.

Available Methods:

GET POST

URL Query Parameters Supported:

filter SUPPORTED filter_by SUPPORTED
page SUPPORTED paginate SUPPORTED
sort SUPPORTED sort_by SUPPORTED
exclude SUPPORTED exclude_by SUPPORTED

Additional Information

GET requests will return JSON data with the information for each of your created Add On's. You can also pass URL Query Parameters to customize the returned data. For example, you could pass the exclude and exclude_by parameters to remove Add Ons that do not require a subscription to purchase.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": [
            {
                "id": "21",
                "store_id": "49",
                "subscription_id": null,
                "seller_id": "2",
                "unique_id": "SAO-0763727-21",
                "addon_status": "Active",
                "addon_name": "Sticker Pack",
                "addon_description": "Pack of 10 vinyl stickers.",
                "addon_price": "10.00",
                "addon_code": "0",
                "addon_quantities": "1",
                "addon_quantity": "5",
                "charge_shipping": "1",
                "type_shipping": "flat",
                "charge_tax": "1",
                "addon_image": "20",
                "addon_video": null,
                "shipping_measurements_weight": null,
                "shipping_measurements_length": null,
                "shipping_measurements_width": null,
                "shipping_measurements_height": null,
                "created_admin": "3",
                "modified_admin": null,
                "deleted_admin": null,
                "created": "2020-02-01 15:00:47",
                "modified": "2020-02-01 18:14:38",
                "deleted": null
            }
        ]
    }
}

Example GET request response

POST Requests

Creation of Add Ons is allowed through a POST request. Successfully created Add Ons will return the with an HTTP Status of 201 with a JSON response including the status and message.

The following table outlines the required and allowed fields that can be passed with a POST request.

Field Required Type Comments
addon_status string Must be either "Active" or "Disabled"
addon_name string
addon_description string
addon_price integer Formatted as a decimal (1.00)
addon_quantities boolean Passed as 1/0, must be true if you want to restrict quantity per order
addon_quantity integer Required if addon_quantities is true
addon_code string
subscription_id integer Required if a specific subscription must be purchased
charge_shipping boolean Passed as 1/0, defaults to 0
charge_tax boolean Passed as 1/0, defaults to 0
addon_video string URL to video
shipping_measurements_width integer
shipping_measurements_height integer
shipping_measurements_length integer
shipping_measurements_weight integer

/add-ons/{UNIQUE_ID}

Overview

View, Update, or Remove a specific Add On. Requires the Add On Unique ID to be passed.

Available Methods:

GET PUT DELETE

URL Query Parameters Supported:

filter NOT SUPPORTED filter_by NOT SUPPORTED
page NOT SUPPORTED paginate NOT SUPPORTED
sort NOT SUPPORTED sort_by NOT SUPPORTED
exclude NOT SUPPORTED exclude_by NOT SUPPORTED

Additional Information

GET requests will return JSON data with the information for the requested Add On.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": {
            "id": "21",
            "store_id": "49",
            "subscription_id": null,
            "seller_id": "2",
            "unique_id": "SAO-0763727-21",
            "addon_status": "Active",
            "addon_name": "Sticker Pack",
            "addon_description": "Pack of 10 vinyl stickers.",
            "addon_price": "10.00",
            "addon_code": "0",
            "addon_quantities": "1",
            "addon_quantity": "5",
            "charge_shipping": "1",
            "type_shipping": "flat",
            "charge_tax": "1",
            "addon_image": "20",
            "addon_video": null,
            "shipping_measurements_weight": null,
            "shipping_measurements_length": null,
            "shipping_measurements_width": null,
            "shipping_measurements_height": null,
            "created_admin": "3",
            "modified_admin": null,
            "deleted_admin": null,
            "created": "2020-02-01 15:00:47",
            "modified": "2020-02-01 18:14:38",
            "deleted": null
        }
    }
}

Example GET request response

PUT Requests

Updating of a specific Add On is allowed through a PUT request. Successfully updated Add Ons will return with an HTTP Status of 200 with a JSON response including the status and message.

The following table outlines the editable fields that can be passed with a PUT request.

Field Type Comments
addon_name string
addon_description string
addon_price integer Formatted as a decimal (1.00)
addon_quantities boolean Passed as 1/0, must be true if you want to restrict quantity per order
addon_quantity integer Required if addon_quantities is true
addon_code string
charge_shipping boolean Passed as 1/0, defaults to 0
charge_tax boolean Passed as 1/0, defaults to 0

/coupons

Overview

Returns all created Coupons or creates a new Coupon. GET requests have full support for URL Query Parameters.

Available Methods:

GET POST

URL Query Parameters Supported:

filter SUPPORTED filter_by SUPPORTED
page SUPPORTED paginate SUPPORTED
sort SUPPORTED sort_by SUPPORTED
exclude SUPPORTED exclude_by SUPPORTED

Additional Information

GET requests will return JSON data with the information for each of your created Coupons. You can also pass URL Query Parameters to customize the returned data.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": [
            {
                "id": "1",
                "type": "coupons",
                "seller_id": "2",
                "store_id": "49",
                "subscription_id": null,
                "addon_id": "21",
                "coupon_code": "15PEROFF",
                "amount": "15.00",
                "amount_type": "percent",
                "uses_allowed": null,
                "min_order_total": null,
                "applies_to": "addon",
                "num_used": "0",
                "num_billing_cycles": null,
                "start_date": "2020-03-01 00:00:00",
                "end_date": "2020-03-15 00:00:00",
                "created_admin": "3",
                "modified_admin": null,
                "deleted_admin": null,
                "created": "2020-02-01 15:00:00",
                "modified": "2020-02-01 18:12:00",
                "deleted": null
            }
        ]
    }
}

Example GET request response

POST Requests

Creation of Coupons is allowed through a POST request. Successfully created Coupons will return the with an HTTP Status of 201 with a JSON response including the status and message.

The following table outlines the required and allowed fields that can be passed with a POST request.

Field Required Type Comments
coupon_code string
amount integer Formatted as a decimal (1.00)
amount_type string Must be either "percent" or "currency"
min_order_total integer Formatted as a decimal (1.00)
uses_allowed integer Total number of uses before coupon is disabled, 0 for unlimited
start_date date Formatted as YYYY-MM-DD HH:MM:SS
end_date date Formatted as YYYY-MM-DD HH:MM:SS
applies_to string Where the coupon is deducted from, must be "addon", "subscription", "setup"
subscription_id integer Required if applies to is "subscription" (ex: 123)
addon_id integer Required if applies to is "addon" (ex: 123)
num_billing_cycles integer Number of billing cycles the coupon should be applied for

/coupons/{ID}

Overview

View, Update, or Remove a specific Coupon. Requires the Coupon ID to be passed.

Available Methods:

GET PUT DELETE

URL Query Parameters Supported:

filter NOT SUPPORTED filter_by NOT SUPPORTED
page NOT SUPPORTED paginate NOT SUPPORTED
sort NOT SUPPORTED sort_by NOT SUPPORTED
exclude NOT SUPPORTED exclude_by NOT SUPPORTED

Additional Information

GET requests will return JSON data with the information for the requested Coupon.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": {
            "id": "1",
            "type": "coupons",
            "seller_id": "2",
            "store_id": "49",
            "subscription_id": null,
            "addon_id": "21",
            "coupon_code": "15PEROFF",
            "amount": "15.00",
            "amount_type": "percent",
            "uses_allowed": null,
            "min_order_total": null,
            "applies_to": "addon",
            "num_used": "0",
            "num_billing_cycles": null,
            "start_date": "2020-03-01 00:00:00",
            "end_date": "2020-03-15 00:00:00",
            "created_admin": "3",
            "modified_admin": null,
            "deleted_admin": null,
            "created": "2020-02-01 15:00:00",
            "modified": "2020-02-01 18:12:00",
            "deleted": null
        }
    }
}

Example GET request response

PUT Requests

Updating of a specific Coupon is allowed through a PUT request. Successfully updated Coupons will return with an HTTP Status of 200 with a JSON response including the status and message.

The following table outlines the editable fields that can be passed with a PUT request.

Field Type Comments
coupon_code string
amount integer Formatted as a decimal (1.00)
amount_type string Must be either "percent" or "currency"
min_order_total integer Formatted as a decimal (1.00)
uses_allowed integer Total number of uses before coupon is disabled, 0 for unlimited
start_date date Formatted as YYYY-MM-DD HH:MM:SS
end_date date Formatted as YYYY-MM-DD HH:MM:SS
num_billing_cycles integer Number of billing cycles the coupon should be applied for

/store

Overview

View or Update your stores information. Changing the status of the store (Sandbox, Active, Inactive) must be done through the Seller Dashboard.

Available Methods:

GET PUT

URL Query Parameters Supported:

filter NOT SUPPORTED filter_by NOT SUPPORTED
page NOT SUPPORTED paginate NOT SUPPORTED
sort NOT SUPPORTED sort_by NOT SUPPORTED
exclude NOT SUPPORTED exclude_by NOT SUPPORTED

Additional Information

GET requests will return JSON data with the information for the requested Store.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": {
            "id": "49",
            "seller_id": "2",
            "unique_id": "STO-20180305-49",
            "store_name": "StickerHouse",
            "store_status": "Sandbox",
            "store_code": "",
            "description": null,
            "company_name": "StickerHouse LLC",
            "address": "123 A St.",
            "address2": "",
            "city": "Big City",
            "state": "TN",
            "postal_code": "12345",
            "country": "US",
            "phone": "123-123-4567",
            "email": "stickerhouse@example.com",
            "website": "http://example.com/",
            "terms_of_service": "http://www.example.com/legal",
            "payment_gateway_ach": "",
            "payment_gateway_cc": "stripe",
            "integration_method": "hosted",
            "currency": "usd",
            "charge_shipping": "1",
            "charge_tax": "0",
            "store_image": null,
            "store_video": null,
            "api_key": "api-***************************",
            "page_registration": null,
            "page_confirmation": null,
            "page_forgot_password": null,
            "page_buyer_login": null,
            "page_buyer_main": null,
            "page_buyer_profile": null,
            "email_image": "449",
            "metadata": {
                "payment_gateway_cc": {
                    "stripe": {
                        "public_key": "stripe_public_key",
                        "secret_key": "stripe_secret_key",
                        "currency_code": "usd",
                        "currency_symbol": "dollar"
                    },
                    "auth": {
                        "api_login_id": "auth_login",
                        "transaction_key": "auth_key",
                        "currency_code": "usd",
                        "currency_symbol": "dollar"
                    },
                    "trust": {
                        "customer_id": "trust_id",
                        "password": "trust_password",
                        "currency_code": "usd",
                        "currency_symbol": "dollar"
                    }
                }
            },
            "created_admin": "3",
            "modified_admin": "3",
            "deleted_admin": null,
            "created": "2020-01-14 22:09:11",
            "modified": "2020-01-20 12:19:37",
            "deleted": null
        }
    }
}

Example GET request response

PUT Requests

Some of your stores settings can be updated with a PUT request. Successfully updated Stores will return with an HTTP Status of 200 with a JSON response including the status and message.

The following table outlines the editable fields that can be passed with a PUT request.

Field Type Comments
store_name string
description string
company_name string
address string
address2 string
city string
state string Abbreviated, ex: TN
postal_code integer Zip or Postal Code
country string Abbreviated, ex: US
phone string ex: 123-123-4567
email string
website string URL of your website
terms_of_service string URL to your Terms of Service
charge_shipping boolen Passed as 1/0
charge_tax boolean Passed as 1/0

/store/profile

Overview

View or Update your stores basic profile information. Changing the status of the store (Sandbox, Active, Inactive) must be done through the Seller Dashboard.

Available Methods:

GET PUT

URL Query Parameters Supported:

filter NOT SUPPORTED filter_by NOT SUPPORTED
page NOT SUPPORTED paginate NOT SUPPORTED
sort NOT SUPPORTED sort_by NOT SUPPORTED
exclude NOT SUPPORTED exclude_by NOT SUPPORTED

Additional Information

GET requests will return JSON data with the information for the requested Store.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": {
            "store_name": "StickerHouse",
            "store_status": "Sandbox",
            "company_name": "StickerHouse LLC",
            "address": "123 A St.",
            "address2": "",
            "city": "Big City",
            "state": "TN",
            "postal_code": "12345",
            "country": "US",
            "phone": "123-123-4567",
            "email": "stickerhouse@example.com",
            "website": "http://example.com/",
            "terms_of_service": "http://www.example.com/legal",
        }
    }
}

Example GET request response

PUT Requests

Some of your stores settings can be updated with a PUT request. Successfully updated Stores will return with an HTTP Status of 200 with a JSON response including the status and message.

The following table outlines the editable fields that can be passed with a PUT request.

Field Type Comments
store_name string
company_name string
address string
address2 string
city string
state string Abbreviated, ex: TN
postal_code integer Zip or Postal Code
country string Abbreviated, ex: US
phone string ex: 123-123-4567
email string
website string URL of your website
terms_of_service string URL to your Terms of Service

/store/coupons

Overview

Returns all created Coupons or creates a new Coupon. GET requests have full support for URL Query Parameters. This is an alternate endpoint for /coupons.

Available Methods:

GET POST

URL Query Parameters Supported:

filter SUPPORTED filter_by SUPPORTED
page SUPPORTED paginate SUPPORTED
sort SUPPORTED sort_by SUPPORTED
exclude SUPPORTED exclude_by SUPPORTED

Additional Information

GET requests will return JSON data with the information for each of your created Coupons. You can also pass URL Query Parameters to customize the returned data.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": [
            {
                "id": "1",
                "type": "coupons",
                "seller_id": "2",
                "store_id": "49",
                "subscription_id": null,
                "addon_id": "21",
                "coupon_code": "15PEROFF",
                "amount": "15.00",
                "amount_type": "percent",
                "uses_allowed": null,
                "min_order_total": null,
                "applies_to": "addon",
                "num_used": "0",
                "num_billing_cycles": null,
                "start_date": "2020-03-01 00:00:00",
                "end_date": "2020-03-15 00:00:00",
                "created_admin": "3",
                "modified_admin": null,
                "deleted_admin": null,
                "created": "2020-02-01 15:00:00",
                "modified": "2020-02-01 18:12:00",
                "deleted": null
            }
        ]
    }
}

Example GET request response

POST Requests

Creation of Coupons is allowed through a POST request. Successfully created Coupons will return the with an HTTP Status of 201 with a JSON response including the status and message.

The following table outlines the required and allowed fields that can be passed with a POST request.

Field Required Type Comments
coupon_code string
amount integer Formatted as a decimal (1.00)
amount_type string Must be either "percent" or "currency"
min_order_total integer Formatted as a decimal (1.00)
uses_allowed integer Total number of uses before coupon is disabled, 0 for unlimited
start_date date Formatted as YYYY-MM-DD HH:MM:SS
end_date date Formatted as YYYY-MM-DD HH:MM:SS
applies_to string Where the coupon is deducted from, must be "addon", "subscription", "setup"
subscription_id integer Required if applies to is "subscription" (ex: 123)
addon_id integer Required if applies to is "addon" (ex: 123)
num_billing_cycles integer Number of billing cycles the coupon should be applied for

/store/customer-subscriptions

Overview

Returns all Subscribers subscription information for your store. GET requests have full support for URL Query Parameters.

Available Methods:

GET

URL Query Parameters Supported:

filter SUPPORTED filter_by SUPPORTED
page SUPPORTED paginate SUPPORTED
sort SUPPORTED sort_by SUPPORTED
exclude SUPPORTED exclude_by SUPPORTED

Additional Information

GET requests will return JSON data with the information for each of your Subscriber's subscriptions. You can also pass URL Query Parameters to customize the returned data.

Example GET Request Response

{
    {
    "status": "200",
    "message": "OK",
    "body": {
        "data": [
            {
                "id": "68",
                "status": "Active",
                "subscriber_id": "80",
                "subscription_id": "146",
                "order_id": "80",
                "billing_opt_id": "137",
                "billing_opt_rule_id": null,
                "quantity": "1",
                "free_trial_type": "days",
                "free_trial_duration": "30",
                "free_trial_end_dt": "2020-02-03 06:00:00",
                "one_time_setup_fee": "7.9900",
                "allow_updowngrades": "1",
                "allow_marketing_email": null,
                "joined_dt": "2020-01-04 22:44:03",
                "billing_cycle": "monthly",
                "billing_cycle_type": "",
                "billing_cycle_duration": "0",
                "billing_cycle_max": "0",
                "collection_method": "auto",
                "renewal_lockout": "0",
                "billing_start_dt": "2020-01-04 22:44:03",
                "billing_end_dt": null,
                "billing_next_charge_dt": "2020-02-04 00:00:00",
                "billing_next_charge_cost": "68.0000",
                "billing_cancel_dt": null,
                "package_discounts": null,
                "base_cost": "11.00"
            }
        ]
    }
}

Example GET request response

/store/order-history

Overview

Returns all basic information for all transactions for your store. GET requests have full support for URL Query Parameters. As these requests can be large, we recommend using URL Query Paramaters to better format your data.

Available Methods:

GET

URL Query Parameters Supported:

filter SUPPORTED filter_by SUPPORTED
page SUPPORTED paginate SUPPORTED
sort SUPPORTED sort_by SUPPORTED
exclude SUPPORTED exclude_by SUPPORTED

Additional Information

GET requests will return JSON data with the information for every transaction for your store. You can also pass URL Query Parameters to customize the returned data.

Example GET Request Response

{
    {
    "status": "200",
    "message": "OK",
    "body": {
        "data": [
            {
                "id": "42",
                "subscriber_id": "80",
                "subscription_id": null,
                "order_id": "80",
                "billing_id": "111111",
                "billing_transaction_id": "111-111111111",
                "type": "Customer",
                "description": "",
                "charge_amount": "7.9900",
                "refund_amount": null,
                "parent_id": null,
                "created": "2020-01-04 17:44:03",
                "modified": null
            }
        ]
    }
}

Example GET request response

/store/registration-fields

Overview

Returns all enabled registration fields for your store, including custom fields.

Available Methods:

GET

URL Query Parameters Supported:

filter NOT SUPPORTED filter_by NOT SUPPORTED
page NOT SUPPORTED paginate NOT SUPPORTED
sort NOT SUPPORTED sort_by NOT SUPPORTED
exclude NOT SUPPORTED exclude_by NOT SUPPORTED

Additional Information

GET requests will return JSON data with the information for your enabled registration fields.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": [
            {
                "id": "1341",
                "store_id": "49",
                "field_section": "returning_customers",
                "field_name": "status",
                "field_label": "Status",
                "character_type": "numeric",
                "is_enabled": "1",
                "is_required": "0",
                "max_chars": "1"
            },
            {
                "id": "1342",
                "store_id": "49",
                "field_section": "returning_customers",
                "field_name": "email",
                "field_label": "Email Address",
                "character_type": "alphanumeric",
                "is_enabled": "1",
                "is_required": "1",
                "max_chars": "255"
            }
        ]
    }
}

Example GET request response

/store/shipping-methods

Overview

Returns all created shipping methods or creates a new one.

Available Methods:

GET POST

URL Query Parameters Supported:

filter NOT SUPPORTED filter_by NOT SUPPORTED
page NOT SUPPORTED paginate NOT SUPPORTED
sort NOT SUPPORTED sort_by NOT SUPPORTED
exclude NOT SUPPORTED exclude_by NOT SUPPORTED

Additional Information

GET requests will return JSON data with the information for each of your stores shipping methods.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": [
            {
                "id": "8",
                "store_id": "49",
                "seller_id": "2",
                "shipping_id": "16",
                "option_name": "New Name",
                "option_module": "custom",
                "service_for": "all",
                "charge_method": "weight",
                "charge_type": null,
                "charge": null,
                "country": "US",
                "from_company_name": null,
                "from_name": null,
                "from_address": null,
                "from_address2": null,
                "from_city": null,
                "from_state": null,
                "from_postal_code": null,
                "from_country": null,
                "metadata": null,
                "created_admin": "3",
                "modified_admin": null,
                "deleted_admin": null,
                "created": "2018-03-14 17:13:47",
                "modified": "2020-01-07 18:33:13",
                "deleted": "2020-01-07 18:33:13"
            }
        ]
    }
}

Example GET request response

POST Requests

Creation of shipping methods is allowed through a POST request. Successfully created shipping methods will return with an HTTP Status of 201 with a JSON response including the status and message.

The following table outlines the required and allowed fields that can be passed with a POST request.

Field Required Type Comments
option_name string
service_for string One of "all", "domestic", or "international"
charge_method string One of "flat", "weight", "subtotal"
option_module string
charge_type string One of "currency" or "percent"
charge integer Formatted as a decimal (1.00)
country string Abbreviated, ex: US
tiers object More information: /store/shipping-options/{ID}/tiers

/store/shipping-methods/{ID}

Overview

View, Update, or Remove a specific shipping method. Requires the shipping method ID to be passed.

Available Methods:

GET PUT DELETE

URL Query Parameters Supported:

filter NOT SUPPORTED filter_by NOT SUPPORTED
page NOT SUPPORTED paginate NOT SUPPORTED
sort NOT SUPPORTED sort_by NOT SUPPORTED
exclude NOT SUPPORTED exclude_by NOT SUPPORTED

Additional Information

GET requests will return JSON data with the information for the requested shipping method.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": {
            "id": "8",
            "store_id": "49",
            "seller_id": "2",
            "shipping_id": "16",
            "option_name": "Big Box Shipping",
            "option_module": "custom",
            "service_for": "all",
            "charge_method": "flat",
            "charge_type": "currency",
            "charge": "9.99",
            "country": "US",
            "created": "2020-01-05 17:13:47",
            "modified": "2020-01-07 18:33:13",
            "deleted": null
        }
    }
}

Example GET request response

PUT Requests

Updating of a specific shipping method is allowed through a PUT request. Successfully updated shipping methods will return with an HTTP Status of 200 with a JSON response including the status and message.

The following table outlines the editable fields that can be passed with a PUT request.

Field Type Comments
option_name string
service_for string One of "all", "domestic", or "international"
charge_method string One of "flat", "weight", "subtotal"
charge_type string One of "currency" or "percent"
charge integer Formatted as a decimal (1.00)
country string Abbreviated, ex: US

/store/shipping-methods/{ID}/tiers

Overview

Returns all created shipping tiers for a given shipping method or creates a new one. The shipping method ID must be passed.

Available Methods:

GET POST

URL Query Parameters Supported:

filter NOT SUPPORTED filter_by NOT SUPPORTED
page NOT SUPPORTED paginate NOT SUPPORTED
sort NOT SUPPORTED sort_by NOT SUPPORTED
exclude NOT SUPPORTED exclude_by NOT SUPPORTED

Additional Information

GET requests will return JSON data with the information for each of the shipping methods tiers.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": [
            {
                "id": "23",
                "seller_id": "2",
                "store_id": "49",
                "shipping_opt_id": "8",
                "tier_type": "weight",
                "threshold": "1.0000",
                "amount": "1.1000",
                "created_admin": "3",
                "modified_admin": "3",
                "deleted_admin": null,
                "created": "2020-01-14 17:13:47",
                "modified": "2020-02-07 18:33:13",
                "deleted": null
            },
            {
                "id": "24",
                "seller_id": "2",
                "store_id": "49",
                "shipping_opt_id": "8",
                "tier_type": "weight",
                "threshold": "2.0000",
                "amount": "2.0000",
                "created_admin": "3",
                "modified_admin": "3",
                "deleted_admin": null,
                "created": "2020-01-14 17:13:47",
                "modified": "2020-02-07 18:33:13",
                "deleted": null
            }
        ]
    }
}

Example GET request response

POST Requests

Creation of shipping method tiers is allowed through a POST request. Successfully created shipping method tiers will return with an HTTP Status of 201 with a JSON response including the status and message.

The following table outlines the required and allowed fields that can be passed with a POST request.

Field Required Type Comments
tier_type string Must be either "weight" or "subtotal"
threshold integer Formatted as a decimal (1.0000), this is the max weight or subtotal for that tier
amount integer Formatted as a decimal (1.0000)

/store/shipping-methods/{ID}/tiers/{ID}

Overview

View, Update, or Remove a specific shipping method tier. Requires the shipping method ID and tier ID to be passed.

Available Methods:

GET PUT DELETE

URL Query Parameters Supported:

filter NOT SUPPORTED filter_by NOT SUPPORTED
page NOT SUPPORTED paginate NOT SUPPORTED
sort NOT SUPPORTED sort_by NOT SUPPORTED
exclude NOT SUPPORTED exclude_by NOT SUPPORTED

Additional Information

GET requests will return JSON data with the information for the requested shipping method.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": [
            {
                "id": "23",
                "seller_id": "2",
                "store_id": "49",
                "shipping_opt_id": "8",
                "tier_type": "weight",
                "threshold": "1.0000",
                "amount": "1.1000",
                "created_admin": "3",
                "modified_admin": "3",
                "deleted_admin": null,
                "created": "2020-01-14 17:13:47",
                "modified": "2020-02-07 18:33:13",
                "deleted": null
            }
        ]
    }
}

Example GET request response

PUT Requests

Updating of a specific shipping method tier is allowed through a PUT request. Successfully updated shipping method tiers will return with an HTTP Status of 200 with a JSON response including the status and message.

The following table outlines the editable fields that can be passed with a PUT request.

Field Type Comments
tier_type string Must be either "weight" or "subtotal"
threshold integer Formatted as a decimal (1.0000), this is the max weight or subtotal for that tier
amount integer Formatted as a decimal (1.0000)

/store/taxes

Overview

View all your created tax/VAT rules for your store.

Available Methods:

GET

URL Query Parameters Supported:

filter NOT SUPPORTED filter_by NOT SUPPORTED
page NOT SUPPORTED paginate NOT SUPPORTED
sort NOT SUPPORTED sort_by NOT SUPPORTED
exclude NOT SUPPORTED exclude_by NOT SUPPORTED

Additional Information

GET requests will return JSON data with the information for the stores created tax/VAT rules.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": [
            {
                "id": "31",
                "seller_id": "2",
                "store_id": "49",
                "tax_id": "31",
                "country": "US",
                "state": "FL",
                "city": "*",
                "postal": "*",
                "rate": "2.3000",
                "created_admin": "3",
                "modified_admin": "3",
                "deleted_admin": null,
                "created": "2020-01-14 17:17:09",
                "modified": "2020-02-07 18:36:41",
                "deleted": null,
                "tax_service": "",
                "coupon_apply": "before",
                "is_shipping": "0",
                "taxamo_public": null,
                "taxamo_private": null,
                "tax_rule_id": "401"
            },
            {
                "id": "31",
                "seller_id": "2",
                "store_id": "49",
                "tax_id": "31",
                "country": "US",
                "state": "TN",
                "city": "Sevierville",
                "postal": "37876",
                "rate": "2.5000",
                "created_admin": "3",
                "modified_admin": "3",
                "deleted_admin": null,
                "created": "2020-01-14 17:17:09",
                "modified": "2020-02-07 18:36:41",
                "deleted": null,
                "tax_service": "",
                "coupon_apply": "before",
                "is_shipping": "0",
                "taxamo_public": null,
                "taxamo_private": null,
                "tax_rule_id": "410"
            }
        ]
    }
}

Example GET request response

/store/taxes/{ID}

Overview

View, Update, or Remove a specific tax/VAT rule. Requires the tax/VAT ID to be passed.

Available Methods:

GET PUT DELETE

URL Query Parameters Supported:

filter NOT SUPPORTED filter_by NOT SUPPORTED
page NOT SUPPORTED paginate NOT SUPPORTED
sort NOT SUPPORTED sort_by NOT SUPPORTED
exclude NOT SUPPORTED exclude_by NOT SUPPORTED

Additional Information

GET requests will return JSON data with the information for the requested tax/VAT rule.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": {
            "id": "31",
            "seller_id": "2",
            "store_id": "49",
            "tax_id": "31",
            "country": "US",
            "state": "TN",
            "city": "Sevierville",
            "postal": "37876",
            "rate": "2.5000",
            "created_admin": "3",
            "modified_admin": "3",
            "deleted_admin": null,
            "created": "2020-01-14 17:17:09",
            "modified": "2020-02-07 18:36:41",
            "deleted": null,
            "tax_service": "",
            "coupon_apply": "before",
            "is_shipping": "0",
            "taxamo_public": null,
            "taxamo_private": null,
            "tax_rule_id": "410"
        }
    }
}

Example GET request response

PUT Requests

Updating of a specific tax/VAT rule is allowed through a PUT request. Successfully updated tax/VAT rules will return with an HTTP Status of 200 with a JSON response including the status and message.

The following table outlines the editable fields that can be passed with a PUT request.

Field Type Comments
country string Abbreviated (US) or * for all
state string Abbreviated (FL) or * for all
city string For all cities use *
postal integer Postal/Zip code, * for all
rate integer Formatted as a decimal (1.0000)

/store/transaction-processing

Overview

View or Update your stores transaction processing information.

Available Methods:

GET PUT

URL Query Parameters Supported:

filter NOT SUPPORTED filter_by NOT SUPPORTED
page NOT SUPPORTED paginate NOT SUPPORTED
sort NOT SUPPORTED sort_by NOT SUPPORTED
exclude NOT SUPPORTED exclude_by NOT SUPPORTED

Additional Information

GET requests will return JSON data with your stores transaction processing information.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": {
            "id": "49",
            "unique_id": "STO-20180305-49", 
            "payment_gateway_cc": "stripe",
            "currency": "usd",
            "metadata": {
                "payment_gateway_cc": {
                    "stripe": {
                        "public_key": "stripe_public_key",
                        "secret_key": "stripe_secret_key",
                        "currency_code": "usd",
                        "currency_symbol": "dollar"
                    },
                    "auth": {
                        "api_login_id": "auth_login",
                        "transaction_key": "auth_transaction_key",
                        "currency_code": "usd",
                        "currency_symbol": "dollar"
                    },
                    "trust": {
                        "customer_id": "trust_id",
                        "password": "trust_password",
                        "currency_code": "usd",
                        "currency_symbol": "dollar"
                    }
                }
            }
        }
    }
}

Example GET request response

PUT Requests

Updating of your transaction processing settings is allowed through a PUT request. Successfully updated transaction processing settings will return with an HTTP Status of 200 with a JSON response including the status and message.

The following table outlines the editable fields that can be passed with a PUT request. Payment Gateway information (Stripe, Auth, or Trust credentials) must be added through the Subscriptions Only dashboard.

Field Type Comments
payment_gateway_cc string Must be one of "stripe", "auth", or "trust"
currency string Abbreviated currency (USD)

/subscribers

Overview

Returns all subscribers or creates a new subscriber. GET requests have full support for URL Query Parameters. This request will return all of your subscribers, using URL Query Parameters can help manage the returned data.

Available Methods:

GET POST

URL Query Parameters Supported:

filter SUPPORTED filter_by SUPPORTED
page SUPPORTED paginate SUPPORTED
sort SUPPORTED sort_by SUPPORTED
exclude SUPPORTED exclude_by SUPPORTED

Additional Information

GET requests will return JSON data with the information for each of your subscribers.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": [
            {
                "id": "80",
                "unique_id": "SUB-8387335-80",
                "company_name": "John's Company",
                "first_name": "John",
                "last_name": "Smith",
                "address": "123 New Address",
                "address2": "STE 110",
                "city": "Miami Beach",
                "state": "FL",
                "postal_code": "33139",
                "country": "US",
                "contact_phone": "",
                "mobile_phone": "",
                "email": "jsmith@example.com",
                "joined_dt": "2020-02-04 17:44:03",
                "allow_marketing_email": "0",
                "allow_marketing_text": "0"
            },
            {
                "id": "87",
                "unique_id": "SUB-6612328-87",
                "company_name": "The Cake Shop",
                "first_name": "Kate",
                "last_name": "Smith",
                "address": "123 Subscription Ave.",
                "address2": "",
                "city": "Miami Beach",
                "state": "FL",
                "postal_code": "33139",
                "country": "US",
                "contact_phone": "",
                "mobile_phone": "",
                "email": "kate_smith123@example.com",
                "joined_dt": "2020-02-12 22:21:41",
                "allow_marketing_email": "1",
                "allow_marketing_text": "0"
            }
        ]
    }
}

Example GET request response

POST Requests

Adding a subscriber can be done with a POST request. This request has multiple parts that must be correctly formatted and passed with the request. Successfully created subscribers will return an HTTP Status of 201 with a JSON response including the status and message.

Below the basic structure of the subscriber POST request is displayed.

[
    {
        "subscriber":{
            SUBSCRIBER DATA
        },
        "billing":{
            SUBSCRIBER BILLING DATA
        },
        "shipping_same_as_billing": true/false,
        "shipping":{
            SUBSCRIBER SHIPPING DATA
        },
        "custom_fields":{[
            {
                CUSTOM REGISTRATION FIELD INFORMATION
            }
        ]},
        "subscription":{[
            {
                SUBSCRIPTION INFORMATION
            }
        ]},
        "add_ons":{[
            {
                ADD ON INFORMATION
            }
        ]},
        "cart":{
            "subscriptions":{[
                SUBSCRIPTION INFORMATION
            ]},
            "addons":{[
                ADD ON INFORMATION
            ]}
        },
        "cart_totals":{
            CART TOTALS INFORMATION
        },
        "transaction":{
            TRANSACTION DATA FROM PAYMENT GATEWAY
        }
    }
]

Subscriber POST request structure

The following tables outline the required and allowed fields that can be passed with each portion of the POST request. First, a general overview.

Section Required Type Comments
subscriber object This will include the basic subscriber account information
billing object The billing information for the subscriber
shipping_same_as_billing boolean True/False
shipping object Required if shipping_same_as_billing is False
custom_fields object An array of objects for each custom field, required if your store uses custom registration fields
subscription array An array of objects representing the Subscription information for the subscriber
add_ons array An array of objects representing the Add On information for the subscriber, required if Add Ons are purchased
cart array An array of objects representing the Subscription and Add On cart information for the order
transaction object An object representing the transaction informaton for this order

The following tables will outline the required and allowed fields for each section of the subscriber POST request.

subscriber object
Field Required Type Comments
billing_id string The billing_id returned from your payment gateway (Stripe, AuthorizeNet, or Trust Commerce)
first_name string
last_name string
address string
address2 string
city string
state string Abbreviated (FL)
postal_code integer
country string Abbreviated (US)
email string
password string Subscribers password to login to dashboard, base 64 encoded. The password will be decoded, hashed and salted by the API.
agree_terms_dt date Agree to Terms date, formatted YYYY-MM-DD HH:MM:SS
agree_terms_ip string IP Address of device used when terms agreed to
allow_marketing_text boolean True/False passed as 1/0
allow_marketing_email boolean True/False passed as 1/0
contact_phone string Preferred phone number for correspondance
mobile_phone string
billing and shipping objects
Field Required Type Comments
first_name string
last_name string
address string
address2 string
city string
state string Abbreviated (FL)
postal_code integer
country string Abbreviated (US)
company_name string
custom_fields object
Field Required Type Comments
field_section string
field_name string
field_value string
subscription objects
Field Required Type Comments
subscription_id integer The subscriptions ID (123)
billing_opt_Id integer The selected billing option
quantity integer Should be 1, unless subscription is Seat Based then give the number of seats selected
one_time_setup_fee integer The setup fee if any for the subscription formatted as a decimal (1.0000), can be 0.0000
allow_updowngrades boolean Allow subscriber to change billing options, passed as 1/0
allow_marketing_email boolean Passed as 1/0
billing_cycle string One of "weekly", "monthly", "quarterly", "semiannually", "annually", "one_time", "custom"
billing_cycle_duration integer Can be NULL if not custom billing_cycle, required if billing_cycle is custom, time between billing periods, ex: 3 for 3 months/weeks/days etc.
billing_cycle_max integer Maximum number of billing cycles to process (renewals), 0 for unlimited
collection_method string One of "auto" or "manual"
renewal_lockout boolean Passed as 1/0, if true subscription cannot be renewed
billing_locked_cost integer Formatted as decimal (1.0000), the purchase cost (minus one time setup fee). If the subscription is usage based this should be the base cost
billing_next_charge_cost integer Formatted as decimal (1.0000), the purchase cost (minus one time setup fee). If the subscription is usage based this should be the base cost
billing_start_dt date Formatted YYYY-MM-DD HH:MM:SS
billing_next_charge_dt date Formatted YYYY-MM-DD HH:MM:SS, the next charge date. If there is a free trial this should be after the free trial end date
billing_opt_rule_id integer Required if seat or usage based subscription, the rule ID for seat or usage based billing.
free_trial_type string One of "days" or "months"
free_trial_duration integer Length of the free trial
free_trial_end_dt date Date the free trial ends formatted as YYYY-MM-DD HH:MM:SS
base_cost integer The base cost for usage based subscriptions formatted as a decimal (1.0000)
add_ons objects
Field Required Type Comments
add_on_id integer The Add On ID (123)
quantity integer
addon_name string
addon_description string
addon_price integer formatted as decimal (1.00)
addon_quantities boolean Passed as 1/0, true if purchase quantities are limited
subscription_id integer Required if the Add On requires the purchase of a specific subscription
cart subscriptions objects
Field Required Type Comments
qty integer Quantity purchased
type string One of "subscription" (for fixed subscriptions), "subscription-seat", or "subscription-usage"
fee integer The setup fee formated as a decimal (1.00)
base integer The base cost formated as a decimal (1.00)
price decimal The subtotal for that subscription, formatted as decimal (1.00)
subscription_id integer The subscriptions ID
option_id integer The billing option ID
cart addons objects
Field Required Type Comments
qty integer Quantity purchased
type string Should be "addon"
fee integer The setup fee formated as a decimal (1.00)
price decimal The subtotal for that subscription, formatted as decimal (1.00)
subscription_id integer If subscription is required the ID should be included, can be null
addon_id integer The Add On ID
cart_totals object
Field Required Type Comments
setup_fee integer Total of setup fees as decimal (1.00)
shipping integer Total shipping cost as decimal (1.00)
taxes integer Total tax/VAT cost as decimal (1.00)
shippable_subtotal integer Subtotal of items that have shipping applied formatted as decimal (1.00)
subtotal integer Subtotal (setup fee, tax, and shipping excluded) of items formatted as decimal (1.00)
total integer Order total formatted as decimal (1.00)
total_subscriptions integer Subscriptions subtotal formatted as decimal (1.00)
total_addons integer Add Ons subtotal formatted as decimal (1.00)
weight integer Total weight, can be 0.00, formatted as decimal (1.00)
discount integer Total of applied discounts, can be 0.00, formatted as decimal (1.00)
discounts object Object of discount break down, see below for more information.
cart_totals discounts object
Field Required Type Comments
subscriptions integer Total of discounts applied to subscription cost as decimal (1.00)
setup_fee integer Total discounts applied to setup fees as decimal (1.00)
cart integer Total discounts applied to entire cart formatted as decimal (1.00)
transaction object
Field Required Type Comments
billing_id string Billing ID from Payment Provider
billing_transaction_id string Transaction ID from Payment Provider
description string
charge_amount integer Total charged amount, formatted as decimal (1.0000)
cc_last_four integer Last four of CC
cc_type string Card type, Visa, Mastercard, etc.

/subscribers/{ID}

Overview

View or Update information about a subscribers. Requires Subscriber ID to be passed.

Available Methods:

GET PUT

URL Query Parameters Supported:

filter NOT SUPPORTED filter_by NOT SUPPORTED
page NOT SUPPORTED paginate NOT SUPPORTED
sort NOT SUPPORTED sort_by NOT SUPPORTED
exclude NOT SUPPORTED exclude_by NOT SUPPORTED

Additional Information

GET requests will return JSON data with the information for the requested Subscriber.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": {
            "id": "80",
            "unique_id": "SUB-8387335-80",
            "billing_id": "X2CQH0",
            "company_name": "Johns Company",
            "first_name": "John",
            "last_name": "Smith",
            "address": "123 New Address",
            "address2": "STE 110",
            "city": "Miami Beach",
            "state": "FL",
            "postal_code": "33139",
            "country": "US",
            "contact_phone": "",
            "mobile_phone": "",
            "email": "jsmith@example.com",
            "allow_marketing_email": "0",
            "allow_marketing_text": "0",
            "shipping_name": "John Doe",
            "shipping_address": "123 Subscription Ave., Suite #1",
            "shipping_city_state": "Midlothian, TX",
            "shipping_postal_code": "76065"
        }
    }
}

Example GET request response

PUT Requests

Updating of some Subscriber information is allowed through a PUT request. Successfully updated Subscribers will return with an HTTP Status of 201 with a JSON response including the status and message.

The following table outlines the editable fields that can be passed with a PUT request.

Field Type Comments
billing_id string Payment Gateway billing ID for Subscriber
company_name string
first_name string
last_name string
address string
address2 string
city string
state string Abbreviated (FL)
postal_code integer
country string Abbreviated (US)
contact_phone string
mobile_phone string
email string
allow_marketing_email boolean Passed as 1/0
allow_marketing_text boolean Passed as 1/0
shipping_first_name string
shipping_last_name string
shipping_address string
shipping_address2 string
shipping_city string
shipping_state string Abbreviated (FL)
shipping_postal_code integer

/subscribers/{ID}/add-ons

Overview

Returns all purchased Add Ons for a subscriber, the Subscriber ID is required. GET requests have full support for URL Query Parameters.

Available Methods:

GET

URL Query Parameters Supported:

filter SUPPORTED filter_by SUPPORTED
page SUPPORTED paginate SUPPORTED
sort SUPPORTED sort_by SUPPORTED
exclude SUPPORTED exclude_by SUPPORTED

Additional Information

GET requests will return JSON data with the information for the Add Ons purchased by a given subscriber.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": [
            {
                "id": "55",
                "add_on_id": "21",
                "subscriber_id": "87",
                "subscriber_subscription_id": null,
                "seller_id": "2",
                "store_id": "49",
                "order_id": "85",
                "transaction_id": null,
                "quantity": "1",
                "addon_name": "Photo Book",
                "addon_description": "Limited time photo book",
                "addon_price": "10.00",
                "addon_code": "",
                "addon_quantities": "1",
                "cart": null,
                "cart_totals": null,
                "created_admin": null,
                "modified_admin": null,
                "deleted_admin": null,
                "created": "2020-01-12 22:21:41",
                "modified": "2020-02-19 21:15:26",
                "deleted": null
            }
        ]
    }
}

Example GET request response

/subscribers/{ID}/admin-notes

Overview

Returns all created Admin Notes for a Subscriber or creates a new one.

Available Methods:

GET POST

URL Query Parameters Supported:

filter SUPPORTED filter_by SUPPORTED
page SUPPORTED paginate SUPPORTED
sort SUPPORTED sort_by SUPPORTED
exclude SUPPORTED exclude_by SUPPORTED

Additional Information

GET requests will return JSON data with the information for each of your created Add On's. You can also pass URL Query Parameters to customize the returned data. For example, you could pass the exclude and exclude_by parameters to remove Add Ons that do not require a subscription to purchase.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": [
            {
                "id": "1",
                "subscriber_id": "80",
                "seller_id": "2",
                "store_id": "49",
                "subscription_id": "146",
                "order_id": null,
                "note": "Unable to reach subscriber by phone - disconnected?",
                "type": "admin_note",
                "created_admin": "3",
                "modified_admin": "3",
                "deleted_admin": null,
                "created": "2020-01-04 09:42:12",
                "modified": null,
                "deleted": null
            },
            {
                "id": "2",
                "subscriber_id": "80",
                "seller_id": "2",
                "store_id": "49",
                "subscription_id": "146",
                "order_id": null,
                "note": "I finally reached the customer and verified order QTY.",
                "type": "admin_note",
                "created_admin": "3",
                "modified_admin": "3",
                "deleted_admin": null,
                "created": "2020-01-09 10:09:46",
                "modified": null,
                "deleted": null
            }
        ]
    }
}

Example GET request response

POST Requests

Creation of Admin Notes is allowed through a POST request. Successfully created Admin Notes will return the with an HTTP Status of 201 with a JSON response including the status and message.

The following table outlines the required and allowed fields that can be passed with a POST request.

Field Required Type Comments
subscription_id integer Subscription ID the note relates to, can be null
note string
order_id integer The original order ID of the subscription (123)

/subscribers/{ID}/billing-address

Overview

View or Update Subscribers billing address information. Requires Subscriber ID to be passed.

Available Methods:

GET PUT

URL Query Parameters Supported:

filter NOT SUPPORTED filter_by NOT SUPPORTED
page NOT SUPPORTED paginate NOT SUPPORTED
sort NOT SUPPORTED sort_by NOT SUPPORTED
exclude NOT SUPPORTED exclude_by NOT SUPPORTED

Additional Information

GET requests will return JSON data with the information for the requested Subscriber.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": {
            "id": "81",
            "subscriber_id": "80",
            "seller_id": "2",
            "store_id": "49",
            "company_name": null,
            "first_name": "John",
            "last_name": "Smith",
            "address": "12333 Rocky Rd.",
            "address2": "",
            "city": "Midlothian",
            "state": "TX",
            "postal_code": "76065",
            "country": "US",
            "created_admin": null,
            "modified_admin": null,
            "deleted_admin": null,
            "created": "2020-01-04 17:44:03",
            "modified": "2020-02-19 21:15:26",
            "deleted": null
        }
    }
}

Example GET request response

PUT Requests

Updating of the subscriber billing address is allowed through a PUT request. Successfully updated billing addresses will return with an HTTP Status of 201 with a JSON response including the status and message.

The following table outlines the editable fields that can be passed with a PUT request.

Field Type Comments
company_name string
first_name string
last_name string
address string
address2 string
city string
state string Abbreviated (FL)
postal_code integer
country string Abbreviated (US)

/subscribers/{ID}/billing-history

Overview

Returns the transaction history for a subscriber, the Subscriber ID is required. GET requests have full support for URL Query Parameters.

Available Methods:

GET

URL Query Parameters Supported:

filter SUPPORTED filter_by SUPPORTED
page SUPPORTED paginate SUPPORTED
sort SUPPORTED sort_by SUPPORTED
exclude SUPPORTED exclude_by SUPPORTED

Additional Information

GET requests will return JSON data with the transaction information for the subscriber.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": [
            {
                "id": "42",
                "subscriber_id": "80",
                "subscription_id": null,
                "order_id": "80",
                "billing_id": "gateway_billing_id",
                "billing_transaction_id": "000-000000000",
                "type": "Customer",
                "description": "",
                "charge_amount": "7.9900",
                "refund_amount": null,
                "parent_id": null,
                "created": "2020-01-04 17:44:03",
                "modified": "2020-02-19 21:15:26"
            },
            {
                "id": "43",
                "subscriber_id": "80",
                "subscription_id": null,
                "order_id": "80",
                "billing_id": "gateway_billing_id",
                "billing_transaction_id": "000-000000000",
                "type": "Refund",
                "description": "User order wrong subscription.",
                "charge_amount": null,
                "refund_amount": "-7.9900",
                "parent_id": "42",
                "created": "2020-01-04 05:45:57",
                "modified": "2020-02-19 21:15:26"
            }
        ]
    }
}

Example GET request response

/subscribers/{ID}/charge-history

Overview

Returns the Open Charge history for a subscriber, the Subscriber ID is required.

Available Methods:

GET

URL Query Parameters Supported:

filter NOT SUPPORTED filter_by NOT SUPPORTED
page NOT SUPPORTED paginate NOT SUPPORTED
sort NOT SUPPORTED sort_by NOT SUPPORTED
exclude NOT SUPPORTED exclude_by NOT SUPPORTED

Additional Information

GET requests will return JSON data with the Open Charge information for the subscriber.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": [
            {
                "id": "44",
                "subscriber_id": "80",
                "subscription_id": null,
                "order_id": null,
                "billing_id": "payment_gateway_billing_id",
                "billing_transaction_id": "000-0000000000",
                "type": "Open Charge",
                "description": "Deposit on special order",
                "charge_amount": "100.9900",
                "refund_amount": null,
                "parent_id": null,
                "created": "2020-01-04 06:10:31",
                "modified": "2020-02-19 21:15:26"
            },
            {
                "id": "59",
                "subscriber_id": "80",
                "subscription_id": null,
                "order_id": null,
                "billing_id": "payment_gateway_billing_id",
                "billing_transaction_id": "000-0000000000",
                "type": "Open Charge",
                "description": "Holding seats.",
                "charge_amount": "62.3900",
                "refund_amount": null,
                "parent_id": null,
                "created": "2020-01-19 23:21:47",
                "modified": "2020-02-19 21:15:26"
            }
        ]
    }
}

Example GET request response

/subscribers/{ID}/order-history

Overview

Returns the order history for a subscriber, the Subscriber ID is required.

Available Methods:

GET

URL Query Parameters Supported:

filter SUPPORTED filter_by SUPPORTED
page SUPPORTED paginate SUPPORTED
sort SUPPORTED sort_by SUPPORTED
exclude SUPPORTED exclude_by SUPPORTED

Additional Information

GET requests will return JSON data with the order history for the subscriber.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": [
            {
                "id": "80",
                "seller_id": "2",
                "store_id": "49",
                "subscriber_id": "80",
                "order_id": "5a4e59d32b3db",
                "transaction_id": "42",
                "billing_id": "81",
                "shipping_id": "79",
                "unique_id": "",
                "cart": {
                    "subscriptions": [
                        {
                            "qty": 1,
                            "type": "subscription",
                            "fee": 7.99,
                            "price": 29,
                            "subscription_id": 32,
                            "option_id": 39
                        }
                    ],
                    "addons": []
                },
                "cart_totals": {
                    "setup_fee": "7.99",
                    "shipping": "0.00",
                    "taxes": "0.00",
                    "shippable_subtotal": "0.00",
                    "subtotal": "29.00",
                    "total": "36.99",
                    "total_subscriptions": "29.00",
                    "total_addons": "0.00",
                    "weight": "0.00",
                    "discount": "0.00",
                    "discounts": {
                        "subscriptions": "0.00",
                        "setup_fee": "0.00",
                        "cart": "0.00"
                    }
                },
                "created_admin": null,
                "modified_admin": null,
                "deleted_admin": null,
                "created": "2020-01-04 17:44:03",
                "modified": null,
                "deleted": null
            }
        ]
    }
}

Example GET request response

/subscribers/{ID}/profile

Overview

View or Update Subscribers profile information. Requires Subscriber ID to be passed.

Available Methods:

GET PUT

URL Query Parameters Supported:

filter NOT SUPPORTED filter_by NOT SUPPORTED
page NOT SUPPORTED paginate NOT SUPPORTED
sort NOT SUPPORTED sort_by NOT SUPPORTED
exclude NOT SUPPORTED exclude_by NOT SUPPORTED

Additional Information

GET requests will return JSON data with the information for the requested Subscriber.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": {
            "id": "80",
            "unique_id": "SUB-8387335-80",
            "company_name": "John's Company",
            "first_name": "John",
            "last_name": "Smith",
            "address": "123 New Address",
            "address2": "STE 110",
            "city": "Miami Beach",
            "state": "FL",
            "postal_code": "33139",
            "country": "US",
            "email": "jsmith@example.com"
        }
    }
}

Example GET request response

PUT Requests

Updating of the subscriber profile is allowed through a PUT request. Successfully updated profiles will return with an HTTP Status of 201 with a JSON response including the status and message.

The following table outlines the editable fields that can be passed with a PUT request.

Field Type Comments
company_name string
first_name string
last_name string
address string
address2 string
city string
state string Abbreviated (FL)
postal_code integer
country string Abbreviated (US)
email string

/subscribers/{ID}/refund-history

Overview

Returns the refund history for a subscriber, the Subscriber ID is required.

Available Methods:

GET

URL Query Parameters Supported:

filter NOT SUPPORTED filter_by NOT SUPPORTED
page NOT SUPPORTED paginate NOT SUPPORTED
sort NOT SUPPORTED sort_by NOT SUPPORTED
exclude NOT SUPPORTED exclude_by NOT SUPPORTED

Additional Information

GET requests will return JSON data with the refund history for the subscriber.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": [
            {
                "id": "43",
                "subscriber_id": "80",
                "subscription_id": 123,
                "order_id": "80",
                "billing_id": "payment_gateway_billing_id",
                "billing_transaction_id": "000-0000000000",
                "type": "Refund",
                "description": "User ordered wrong subscription.",
                "charge_amount": null,
                "refund_amount": "-7.9900",
                "parent_id": "42",
                "created": "2020-01-04 05:45:57",
                "modified": null
            }
        ]
    }
}

Example GET request response

/subscribers/{ID}/shipping-address

Overview

View or Update Subscribers shipping address information. Requires Subscriber ID to be passed.

Available Methods:

GET PUT

URL Query Parameters Supported:

filter NOT SUPPORTED filter_by NOT SUPPORTED
page NOT SUPPORTED paginate NOT SUPPORTED
sort NOT SUPPORTED sort_by NOT SUPPORTED
exclude NOT SUPPORTED exclude_by NOT SUPPORTED

Additional Information

GET requests will return JSON data with the information for the requested Subscriber.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": {
            "id": "79",
            "subscriber_id": "80",
            "seller_id": "2",
            "store_id": "49",
            "company_name": null,
            "first_name": "John",
            "last_name": "Smith",
            "address": "123 Subscription Ave.",
            "address2": "Suite #1",
            "city": "Midlothian",
            "state": "TX",
            "postal_code": "76065",
            "country": "US",
            "created_admin": null,
            "modified_admin": null,
            "deleted_admin": null,
            "created": "2020-01-04 17:44:03",
            "modified": null,
            "deleted": null
        }
    }
}

Example GET request response

PUT Requests

Updating of the subscriber shipping address is allowed through a PUT request. Successfully updated shipping addresses will return with an HTTP Status of 201 with a JSON response including the status and message.

The following table outlines the editable fields that can be passed with a PUT request.

Field Type Comments
first_name string
last_name string
address string
address2 string
city string
state string Abbreviated (FL)
postal_code integer
country string Abbreviated (US)

/subscribers/{ID}/subscriptions

Overview

Returns the refund history for a subscriber, the Subscriber ID is required.

Available Methods:

GET

URL Query Parameters Supported:

filter SUPPORTED filter_by SUPPORTED
page SUPPORTED paginate SUPPORTED
sort SUPPORTED sort_by SUPPORTED
exclude SUPPORTED exclude_by SUPPORTED

Additional Information

GET requests will return JSON data with the subscriptions for the subscriber.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": [
            {
                "id": "71",
                "status": "Active",
                "subscriber_id": "80",
                "subscription_id": "151",
                "order_id": "80",
                "billing_opt_id": "144",
                "billing_opt_rule_id": null,
                "quantity": "1",
                "free_trial_type": "days",
                "free_trial_duration": "30",
                "free_trial_end_dt": "2020-02-03 06:00:00",
                "one_time_setup_fee": "7.9900",
                "allow_updowngrades": "1",
                "allow_marketing_email": null,
                "joined_dt": "2020-01-04 22:44:03",
                "billing_cycle": "annually",
                "billing_cycle_type": "",
                "billing_cycle_duration": "1",
                "billing_cycle_max": "1",
                "collection_method": "auto",
                "renewal_lockout": "0",
                "billing_start_dt": "2020-01-04 22:44:03",
                "billing_end_dt": null,
                "billing_next_charge_dt": "2020-02-03 05:00:00",
                "billing_next_charge_cost": "71.0000",
                "billing_cancel_dt": null,
                "package_discounts": null,
                "base_cost": "10.00"
            }
        ]
    }
}

Example GET request response

/subscribers/{ID}/subscriptions/{ID}

Overview

View or Update subscription information for a subscriber. Requires Subscriber ID and subscription ID to be passed.

Available Methods:

GET PUT

URL Query Parameters Supported:

filter NOT SUPPORTED filter_by NOT SUPPORTED
page NOT SUPPORTED paginate NOT SUPPORTED
sort NOT SUPPORTED sort_by NOT SUPPORTED
exclude NOT SUPPORTED exclude_by NOT SUPPORTED

Additional Information

GET requests will return JSON data with the subscription information for the requested Subscriber.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": {
            "id": "71",
            "status": "Active",
            "subscriber_id": "80",
            "subscription_id": "151",
            "order_id": "80",
            "billing_opt_id": "144",
            "billing_opt_rule_id": null,
            "quantity": "1",
            "free_trial_type": "days",
            "free_trial_duration": "30",
            "free_trial_end_dt": "2020-02-03 06:00:00",
            "one_time_setup_fee": "7.9900",
            "allow_updowngrades": "1",
            "allow_marketing_email": null,
            "joined_dt": "2020-01-04 22:44:03",
            "billing_cycle": "annually",
            "billing_cycle_type": "",
            "billing_cycle_duration": "1",
            "billing_cycle_max": "1",
            "collection_method": "auto",
            "renewal_lockout": "0",
            "billing_start_dt": "2020-01-04 22:44:03",
            "billing_end_dt": null,
            "billing_next_charge_dt": "2020-02-03 05:00:00",
            "billing_next_charge_cost": "71.0000",
            "billing_cancel_dt": null,
            "package_discounts": null,
            "base_cost": "10.00"
        }
    }
}

Example GET request response

PUT Requests

Updating of the subscriber subscriptions is allowed through a PUT request. Successfully updated subscriber subscriptions will return with an HTTP Status of 201 with a JSON response including the status and message.

The following table outlines the editable fields that can be passed with a PUT request.

Field Type Comments
status string One of "Active", "Inactive", or "Cancelled"
billing_opt_id integer The billing option ID for the subscribers subscription
billing_opt_rule_id integer The billing option rule ID
allow_updowngrades boolean Passed as 1/0
collection_method string One of "auto" or "manual"
billing_end_dt date Formatted as YYYY-MM-DD HH:MM:SS
billing_cancel_dt date Formatted as YYYY-MM-DD HH:MM:SS

/subscribers/{ID}/system-notes

Overview

Returns the system and admin notes for a subscriber, the Subscriber ID is required.

Available Methods:

GET

URL Query Parameters Supported:

filter SUPPORTED filter_by SUPPORTED
page SUPPORTED paginate SUPPORTED
sort SUPPORTED sort_by SUPPORTED
exclude SUPPORTED exclude_by SUPPORTED

Additional Information

GET requests will return JSON data with the system and admin notes for the subscriber.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": [
            {
                "id": "1",
                "subscriber_id": "80",
                "seller_id": "2",
                "store_id": "49",
                "subscription_id": "146",
                "order_id": null,
                "note": "Unable to reach subscriber by phone - disconnected?",
                "type": "admin_note",
                "created_admin": "3",
                "modified_admin": "3",
                "deleted_admin": null,
                "created": "2020-01-04 09:42:12",
                "modified": null,
                "deleted": null
            },
            {
                "id": "2",
                "subscriber_id": "80",
                "seller_id": "2",
                "store_id": "49",
                "subscription_id": "146",
                "order_id": null,
                "note": "I finally reached the customer and verified order QTY.",
                "type": "admin_note",
                "created_admin": "3",
                "modified_admin": "3",
                "deleted_admin": null,
                "created": "2020-01-09 10:09:46",
                "modified": null,
                "deleted": null
            },
            {
                "id": "3",
                "subscriber_id": "80",
                "seller_id": "2",
                "store_id": "49",
                "subscription_id": "146",
                "order_id": null,
                "note": "Customer paid $27.99",
                "type": "customer_store_checkout",
                "created_admin": "3",
                "modified_admin": null,
                "deleted_admin": null,
                "created": "2020-02-04 10:25:57",
                "modified": null,
                "deleted": null
            }
        ]
    }
}
}

Example GET request response

/subscriptions

Overview

Returns all created Subscriptions or creates a new one. GET requests have full support for URL Query Parameters.

Available Methods:

GET POST

URL Query Parameters Supported:

filter SUPPORTED filter_by SUPPORTED
page SUPPORTED paginate SUPPORTED
sort SUPPORTED sort_by SUPPORTED
exclude SUPPORTED exclude_by SUPPORTED

Additional Information

GET requests will return JSON data with the information for each of your created Subscriptions.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": [
            {
                "id": "146",
                "unique_id": "SSI-4629495-146",
                "subscription_name": "Monthly Food Digest",
                "subscription_type": "fixed_one_time",
                "subscription_status": "Active",
                "subscription_code": "",
                "description": "<p>This is a monthly e-magazine about food.</p>",
                "currency": "usd",
                "base_cost": "0.00",
                "free_trial": "1",
                "free_trial_type": "months",
                "one_time_setup_fee": "0.00",
                "allow_updowngrades": "1",
                "charge_shipping": "0",
                "charge_tax": "0",
                "subscription_image": null,
                "subscription_video": null,
                "created": "2020-02-20 14:50:20",
                "modified": null
            }
        ]
    }
}

Example GET request response

POST Requests

Creation of Subscriptions is allowed through a POST request. This request has multiple parts that must be correctly formatted and passed with the request. Successfully created subscriptions will return an HTTP Status of 201 with a JSON response including the status and message.

Below is the basic structure of the subscriptions POST request.

[
    {
        "subscription_name":"API Subscription",
        "subscription_type":"seat",
        "subscription_status":"Active",
        "description":"API Subscriptions",
        "free_trial":"0",
        "free_trial_type":"0",
        "free_trial_duration":"0",
        "allow_updowngrades":"0",
        "charge_shipping":"1",
        "charge_tax":"1",
        "one_time_setup_fee":"5.00",
        "base_cost":"10.00",
        "currency":"USD",
        "billing":{
            {
                "option_name":"API Billing",
                "option_price":"2.00",
                "billing_cycle":"one_time",
                "billing_cycle_duration":"1",
                "collection_method":"auto",
                "renewal_lockout":"0"
            }
        },
        "tiers":{
            {
                "is_max":"0",
                "from_seat":"0",
                "to_seat":"10",
                "charged":"5.00"
            },
            {
                "is_max":"1",
                "from_seat":"11",
                "charged":"4.00"
            }
        }
    }
]

Subscriber POST request structure

The following tables outline the required and allowed fields that can be passed with each portion of the POST request. First, a general overview.

Field Required Type Comments
subscription_name string
subscription_type string One of "seat", "fixed_one_time", or "usage"
subscription_status string One of "Active" or "Inactive"
description string
free_trial boolean Passed as 1/0
free_trial_type string One of "Days" or "Months", required if free_trial is true
free_trial_duration integer Length of free trial, required if free_trial is true
allow_updowngrades boolean Passed as 1/0, true if you want Subscribers to be able to change their selected billing option
charge_shipping boolean Passed as 1/0, defaults to 0
charge_tax boolean Passed as 1/0, defaults to 0
one_time_setup_fee integer Passed as decimal (1.00)
base_cost integer Passed as decimal (1.00)
currency string Abbreviation of currency (usd)
billing object This will be the billing options for the subscription, more information below.
tiers object Billing option rules for seat/usage based billing, more information below.
billing object
Field Required Type Comments
option_name string
option_price integer Price as a decimal (1.00)
billing_cycle string One of "weekly", "monthly", "quarterly", "semiannually", "annually", "one_time", "custom"
billing_cycle_duration integer Can be NULL if not custom billing_cycle, required if billing_cycle is custom, time between billing periods, ex: 3 for 3 months/weeks/days etc.
collection_method string One of "auto" or "manual"
renewal_lockout boolean Passed as 1/0, if true subscription cannot be renewed
tiers object
Field Required Type Comments
is_max boolean Passed as 1/0
charged integer Price as a decimal (1.00)
from_seat integer Required if subscription is seat based
to_seat integer Required if subscription is seat based and is_max is false
from_usage integer Required if subscription is usage based
to_usage integer Required if subscription is usage based and is_max is false
memo string

/subscriptions/{ID}

Overview

View or Update a Subscription. Requires the Subscription ID to be passed.

Available Methods:

GET PUT

URL Query Parameters Supported:

filter NOT SUPPORTED filter_by NOT SUPPORTED
page NOT SUPPORTED paginate NOT SUPPORTED
sort NOT SUPPORTED sort_by NOT SUPPORTED
exclude NOT SUPPORTED exclude_by NOT SUPPORTED

Additional Information

GET requests will return JSON data with the information for the requested Add On.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": {
            "id": "146",
            "seller_id": "2",
            "store_id": "49",
            "unique_id": "SSI-4629495-146",
            "subscription_name": "Monthly Food Digest",
            "subscription_type": "fixed_one_time",
            "subscription_status": "Active",
            "subscription_code": "",
            "description": "A monthly e-magazine about food.",
            "company_name": null,
            "address": "",
            "address2": null,
            "city": "",
            "state": "",
            "postal_code": "",
            "country": "US",
            "phone": "",
            "email": null,
            "website": null,
            "terms_of_service": null,
            "payment_gateway_ach": null,
            "payment_gateway_cc": null,
            "integration_method": "hosted",
            "currency": "usd",
            "base_cost": "0.00",
            "free_trial": "1",
            "free_trial_type": "months",
            "free_trial_duration": "1",
            "one_time_setup_fee": "0.00",
            "allow_updowngrades": "1",
            "charge_shipping": "0",
            "type_shipping": null,
            "charge_tax": "0",
            "subscription_image": null,
            "subscription_video": null,
            "api_key": null,
            "page_registration": null,
            "page_confirmation": null,
            "page_forgot_password": null,
            "page_buyer_login": null,
            "page_buyer_main": null,
            "page_buyer_profile": null,
            "email_image": null,
            "metadata": null,
            "created_admin": "3",
            "modified_admin": "3",
            "deleted_admin": null,
            "created": "2020-02-20 14:50:20",
            "modified": null,
            "deleted": null
        }
    }
}

Example GET request response

PUT Requests

Updating of a specific Subscription is allowed through a PUT request. Successfully updated Subscriptions will return with an HTTP Status of 201 with a JSON response including the status and message.

The following table outlines the editable fields that can be passed with a PUT request.

Field Type Comments
subscription_name string
subscription_type string One of "seat", "usage", or "fixed_one_time"
subscription_status string One of "Active" or "Inactive"
description string
terms_of_service string URL for terms of service
payment_gateway_cc string One of "stripe", "auth", or "trust"
currency string Abbreviation of currency (usd)
base_cost integer Passed as decimal (1.0000)
free_trial boolean Passed as 1/0
free_trial_type string One of "Days" or "Months"
free_trial_duration integer Length of free trial
one_time_setup_fee integer Passed as decimal (1.0000)
allow_updowngrades boolean Passed as 1/0, if true subscribers can change their billing option
charge_shipping boolean Passed as 1/0
charge_tax boolean Passed as 1/0
subscription_video string URL to subscription video

/subscriptions/{ID}/add-ons

Overview

Returns all created Add Ons or creates a new Add On for a given Subscription. Requires Subscription ID to be passed. GET requests have full support for URL Query Parameters.

Available Methods:

GET POST

URL Query Parameters Supported:

filter SUPPORTED filter_by SUPPORTED
page SUPPORTED paginate SUPPORTED
sort SUPPORTED sort_by SUPPORTED
exclude SUPPORTED exclude_by SUPPORTED

Additional Information

GET requests will return JSON data with the information for each of your created Add On's for a given Subscription.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": [
            {
                "id": "27",
                "store_id": "49",
                "subscription_id": "146",
                "seller_id": "2",
                "unique_id": "SAO-11111111-27",
                "addon_status": "Active",
                "addon_name": "Add On 1",
                "addon_description": "Our first Add On",
                "addon_price": "2.00",
                "addon_code": "",
                "addon_quantities": "0",
                "addon_quantity": null,
                "charge_shipping": "0",
                "type_shipping": null,
                "charge_tax": "0",
                "addon_image": null,
                "addon_video": null,
                "shipping_measurements_weight": null,
                "shipping_measurements_length": null,
                "shipping_measurements_width": null,
                "shipping_measurements_height": null,
                "created_admin": null,
                "modified_admin": null,
                "deleted_admin": null,
                "created": "2020-02-13 23:10:52",
                "modified": null,
                "deleted": null
            }
        ]
    }
}

Example GET request response

POST Requests

Creation of Add Ons is allowed through a POST request. Successfully created Add Ons will return the with an HTTP Status of 201 with a JSON response including the status and message.

The following table outlines the required and allowed fields that can be passed with a POST request.

Field Required Type Comments
addon_status string Must be either "Active" or "Disabled"
addon_name string
addon_description string
addon_price integer Formatted as a decimal (1.00)
addon_quantities boolean Passed as 1/0, must be true if you want to restrict quantity per order
addon_quantity integer Required if addon_quantities is true
addon_code string
charge_shipping boolean Passed as 1/0, defaults to 0
charge_tax boolean Passed as 1/0, defaults to 0
addon_video string URL to video
shipping_measurements_width integer
shipping_measurements_height integer
shipping_measurements_length integer
shipping_measurements_weight integer

/subscriptions/{ID}/billing-options

Overview

Returns all created billing options or creates a new billing option for a given Subscription. Requires Subscription ID to be passed. GET requests have full support for URL Query Parameters.

Available Methods:

GET POST

URL Query Parameters Supported:

filter SUPPORTED filter_by SUPPORTED
page SUPPORTED paginate SUPPORTED
sort SUPPORTED sort_by SUPPORTED
exclude SUPPORTED exclude_by SUPPORTED

Additional Information

GET requests will return JSON data with the information for each of your created billing options for a given Subscription.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": [
            {
                "id": "137",
                "store_id": "49",
                "subscription_id": "146",
                "seller_id": "2",
                "unique_id": "SOP-11111111-137",
                "option_name": "Option 1",
                "option_price": "2.00",
                "option_code": "",
                "billing_cycle": "monthly",
                "billing_cycle_type": "",
                "billing_cycle_duration": "0",
                "billing_cycle_max": "0",
                "collection_method": "auto",
                "collection_method_type": null,
                "renewal_lockout": "0",
                "variable_metered": null,
                "variable_description": null,
                "variable_unit": null,
                "variable_amount": null,
                "shipping_measurements_weight": "150",
                "shipping_measurements_length": null,
                "shipping_measurements_width": null,
                "shipping_measurements_height": null,
                "created_admin": "3",
                "modified_admin": null,
                "deleted_admin": null,
                "created": "2020-02-20 14:50:20",
                "modified": null,
                "deleted": null
            },
            {
                "id": "138",
                "store_id": "49",
                "subscription_id": "146",
                "seller_id": "2",
                "unique_id": "SOP-11111111-138",
                "option_name": "Option 2",
                "option_price": "2.00",
                "option_code": "",
                "billing_cycle": "monthly",
                "billing_cycle_type": "",
                "billing_cycle_duration": "0",
                "billing_cycle_max": "0",
                "collection_method": "auto",
                "collection_method_type": null,
                "renewal_lockout": "0",
                "variable_metered": null,
                "variable_description": null,
                "variable_unit": null,
                "variable_amount": null,
                "shipping_measurements_weight": null,
                "shipping_measurements_length": null,
                "shipping_measurements_width": null,
                "shipping_measurements_height": null,
                "created_admin": "3",
                "modified_admin": null,
                "deleted_admin": null,
                "created": "2020-02-20 14:50:20",
                "modified": "null,
                "deleted": null
            }
        ]
    }
}

Example GET request response

POST Requests

Creation of billing options is allowed through a POST request. Successfully created billing options will return the with an HTTP Status of 201 with a JSON response including the status and message.

The following table outlines the required and allowed fields that can be passed with a POST request.

billing object
Field Required Type Comments
option_name string
option_price integer Price as a decimal (1.00)
billing_cycle string One of "weekly", "monthly", "quarterly", "semiannually", "annually", "one_time", "custom"
billing_cycle_duration integer Can be NULL if not custom billing_cycle, required if billing_cycle is custom, time between billing periods, ex: 3 for 3 months/weeks/days etc.
collection_method string One of "auto" or "manual"
renewal_lockout boolean Passed as 1/0, if true subscription cannot be renewed
rules object Required if billing option is for seat/usage based subscription
rules object
Field Required Type Comments
is_max boolean Passed as 1/0
charged integer Price as a decimal (1.00)
from_seat integer Required if subscription is seat based
to_seat integer Required if subscription is seat based and is_max is false
from_usage integer Required if subscription is usage based
to_usage integer Required if subscription is usage based and is_max is false
memo string

/subscriptions/{ID}/billing-options/{ID}

Overview

View, Update, or delete a billing option. Requires both the subscription ID and billing option ID to be passed.

Available Methods:

GET PUT DELETE

URL Query Parameters Supported:

filter NOT SUPPORTED filter_by NOT SUPPORTED
page NOT SUPPORTED paginate NOT SUPPORTED
sort NOT SUPPORTED sort_by NOT SUPPORTED
exclude NOT SUPPORTED exclude_by NOT SUPPORTED

Additional Information

GET requests will return JSON data with the information for the requested billing option.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": {
            "id": "137",
            "store_id": "49",
            "subscription_id": "146",
            "seller_id": "2",
            "unique_id": "SOP-11111111-137",
            "option_name": "Option 1",
            "option_price": "2.00",
            "option_code": "",
            "billing_cycle": "monthly",
            "billing_cycle_type": "",
            "billing_cycle_duration": "0",
            "billing_cycle_max": "0",
            "collection_method": "auto",
            "collection_method_type": null,
            "renewal_lockout": "0",
            "variable_metered": null,
            "variable_description": null,
            "variable_unit": null,
            "variable_amount": null,
            "shipping_measurements_weight": "150",
            "shipping_measurements_length": null,
            "shipping_measurements_width": null,
            "shipping_measurements_height": null,
            "created_admin": "3",
            "modified_admin": null,
            "deleted_admin": null,
            "created": "2020-02-20 14:50:20",
            "modified": null,
            "deleted": null
        }
    }
}

Example GET request response

PUT Requests

Updating of a specific billing option is allowed through a PUT request. Successfully updated billing options will return with an HTTP Status of 201 with a JSON response including the status and message.

The following table outlines the editable fields that can be passed with a PUT request.

Field Type Comments
option_name string
option_price integer Passed as decimal (1.0000)
billing_cycle string One of "weekly", "monthly", "quarterly", "semiannually", "annually", "one_time", "custom"
billing_cycle_type string If billing cycle is "custom", one of "weekly", "monthly", "quarterly", "semiannually", "annually", "one_time"
billing_cycle_duration integer Can be NULL if not custom billing_cycle, if billing_cycle is custom, time between billing periods, ex: 3 for 3 months/weeks/days etc.
billing_cycle_max intger Maximum renewals
collection_method string One of "auto" or "manual"
renewal_lockout boolean Passed as 1/0, if true renewals are not allowed
shipping_measurements_weight integer
shipping_measurements_length integer
shipping_measurements_width integer
shipping_measurements_height integer

/subscriptions/{ID}/billing-options/{ID}/rules

Overview

View the rules for a given Seat or Usage based subscription billing option. Requires both the subscription ID and billing option ID to be passed.

Available Methods:

GET

URL Query Parameters Supported:

filter SUPPORTED filter_by SUPPORTED
page SUPPORTED paginate SUPPORTED
sort SUPPORTED sort_by SUPPORTED
exclude SUPPORTED exclude_by SUPPORTED

Additional Information

GET requests will return JSON data with the information for the requested billing option.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": [
            {
                "id": "96",
                "unique_id": "UBR-9402267-96",
                "seller_id": "2",
                "store_id": "49",
                "subscription_id": "151",
                "billing_option_id": "144",
                "is_max": "0",
                "from_seat": null,
                "to_seat": null,
                "from_usage": "1",
                "to_usage": "5000",
                "memo": "Texts",
                "charged": "0.02",
                "created": "2020-02-05 13:41:34",
                "modified": null,
                "deleted": null
            },
            {
                "id": "97",
                "unique_id": "UBR-9461544-97",
                "seller_id": "2",
                "store_id": "49",
                "subscription_id": "151",
                "billing_option_id": "144",
                "is_max": "1",
                "from_seat": null,
                "to_seat": null,
                "from_usage": "5001",
                "to_usage": null,
                "memo": "Texts",
                "charged": "0.01",
                "created": "2020-02-05 12:53:01",
                "modified": null,
                "deleted": null
            }
        ]
    }
}

Example GET request response

/subscriptions/{ID}/billing-options/{ID}/seat-based-rules

Overview

Returns all created seat based rules or creates a new billing option rule for a given billing option. Requires Subscription ID and Billing Option ID to be passed. GET requests have full support for URL Query Parameters.

Available Methods:

GET POST

URL Query Parameters Supported:

filter SUPPORTED filter_by SUPPORTED
page SUPPORTED paginate SUPPORTED
sort SUPPORTED sort_by SUPPORTED
exclude SUPPORTED exclude_by SUPPORTED

Additional Information

GET requests will return JSON data with the information for each of your created billing option rules for a given Subscription.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": [
            {
                "id": "87",
                "unique_id": "SBR-6243065-87",
                "seller_id": "2",
                "store_id": "49",
                "subscription_id": "147",
                "billing_option_id": "140",
                "is_max": "0",
                "from_seat": "1",
                "to_seat": "50",
                "from_usage": null,
                "to_usage": null,
                "memo": "test",
                "charged": "1.00",
                "created": "2020-02-05 13:41:34",
                "modified": null,
                "deleted": null
            },
            {
                "id": "89",
                "unique_id": "SBR-3231537-89",
                "seller_id": "2",
                "store_id": "49",
                "subscription_id": "147",
                "billing_option_id": "140",
                "is_max": "1",
                "from_seat": "51",
                "to_seat": null,
                "from_usage": null,
                "to_usage": null,
                "memo": null,
                "charged": "3.00",
                "created": "2020-02-05 18:20:07",
                "modified": null,
                "deleted": null
            }
        ]
    }
}

Example GET request response

POST Requests

Creation of seat based billing option rules is allowed through a POST request. Successfully created billing option rules will return the with an HTTP Status of 201 with a JSON response including the status and message.

The following table outlines the required and allowed fields that can be passed with a POST request.

Field Required Type Comments
is_max boolean Passed as 1/0
charged integer Price as a decimal (1.00)
from_seat integer
to_seat integer Required if is_max is false
memo string

/subscriptions/{ID}/billing-options/{ID}/seat-based-rules/{ID}

Overview

View, Update, or delete a seat based rule. Requires the subscription ID, billing option ID, and rule ID to be passed.

Available Methods:

GET PUT DELETE

URL Query Parameters Supported:

filter NOT SUPPORTED filter_by NOT SUPPORTED
page NOT SUPPORTED paginate NOT SUPPORTED
sort NOT SUPPORTED sort_by NOT SUPPORTED
exclude NOT SUPPORTED exclude_by NOT SUPPORTED

Additional Information

GET requests will return JSON data with the information for the requested billing option.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": {
            "id": "87",
            "unique_id": "SBR-11111111-87",
            "seller_id": "2",
            "store_id": "49",
            "subscription_id": "147",
            "billing_option_id": "140",
            "is_max": "0",
            "from_seat": "1",
            "to_seat": "50",
            "from_usage": null,
            "to_usage": null,
            "memo": "test",
            "charged": "1.00",
            "created": "2020-02-05 13:41:34",
            "modified": null,
            "deleted": null
        }
    }
}

Example GET request response

PUT Requests

Updating of a specific billing option rule is allowed through a PUT request. Successfully updated billing option rules will return with an HTTP Status of 201 with a JSON response including the status and message.

The following table outlines the editable fields that can be passed with a PUT request.

Field Type Comments
is_max boolean Passed as 1/0
charged integer Price as a decimal (1.00)
from_seat integer
to_seat integer
memo string

/subscriptions/{ID}/billing-options/{ID}/usage-based-rules

Overview

Returns all created usage based rules or creates a new billing option rule for a given billing option. Requires Subscription ID and Billing Option ID to be passed. GET requests have full support for URL Query Parameters.

Available Methods:

GET POST

URL Query Parameters Supported:

filter SUPPORTED filter_by SUPPORTED
page SUPPORTED paginate SUPPORTED
sort SUPPORTED sort_by SUPPORTED
exclude SUPPORTED exclude_by SUPPORTED

Additional Information

GET requests will return JSON data with the information for each of your created billing option rules for a given Subscription.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": [
            {
                "id": "96",
                "unique_id": "UBR-9402267-96",
                "seller_id": "2",
                "store_id": "49",
                "subscription_id": "151",
                "billing_option_id": "144",
                "is_max": "0",
                "from_seat": null,
                "to_seat": null,
                "from_usage": "1",
                "to_usage": "5000",
                "memo": "Texts",
                "charged": "0.02",
                "created": "2020-02-05 13:41:34",
                "modified": null,
                "deleted": null
            },
            {
                "id": "97",
                "unique_id": "UBR-9461544-97",
                "seller_id": "2",
                "store_id": "49",
                "subscription_id": "151",
                "billing_option_id": "144",
                "is_max": "1",
                "from_seat": null,
                "to_seat": null,
                "from_usage": "5001",
                "to_usage": null,
                "memo": "Texts",
                "charged": "0.01",
                "created": "2020-02-05 13:53:01",
                "modified": null,
                "deleted": null
            }
        ]
    }
}

Example GET request response

POST Requests

Creation of usage based billing option rules is allowed through a POST request. Successfully created billing option rules will return the with an HTTP Status of 201 with a JSON response including the status and message.

The following table outlines the required and allowed fields that can be passed with a POST request.

Field Required Type Comments
is_max boolean Passed as 1/0
charged integer Price as a decimal (1.00)
from_usage integer
to_usage integer Required if is_max is false
memo string

/subscriptions/{ID}/billing-options/{ID}/usage-based-rules/{ID}

Overview

View, Update, or delete a usage based rule. Requires the subscription ID, billing option ID, and rule ID to be passed.

Available Methods:

GET PUT DELETE

URL Query Parameters Supported:

filter NOT SUPPORTED filter_by NOT SUPPORTED
page NOT SUPPORTED paginate NOT SUPPORTED
sort NOT SUPPORTED sort_by NOT SUPPORTED
exclude NOT SUPPORTED exclude_by NOT SUPPORTED

Additional Information

GET requests will return JSON data with the information for the requested billing option.

Example GET Request Response

{
    "status": "200",
    "message": "OK",
    "body": {
        "data": {
            "id": "96",
            "unique_id": "UBR-9402267-96",
            "seller_id": "2",
            "store_id": "49",
            "subscription_id": "151",
            "billing_option_id": "144",
            "is_max": "0",
            "from_seat": null,
            "to_seat": null,
            "from_usage": "1",
            "to_usage": "5000",
            "memo": "Texts",
            "charged": "0.02",
            "created": "2020-02-05 13:41:34",
            "modified": null,
            "deleted": null
        }
    }
}

Example GET request response

PUT Requests

Updating of a specific billing option rule is allowed through a PUT request. Successfully updated billing option rules will return with an HTTP Status of 201 with a JSON response including the status and message.

The following table outlines the editable fields that can be passed with a PUT request.

Field Type Comments
is_max boolean Passed as 1/0
charged integer Price as a decimal (1.00)
from_usage integer
to_usage integer
memo string

/usage

Overview

Adds usage data for a subcriber.

Available Methods:

POST

Additional Information

POST Requests

Usage data can be submitted with a POST request. Successfully added usage data will return the with an HTTP Status of 201 with a JSON response including the status and message.

The following table outlines the required and allowed fields that can be passed with a POST request.

Field Required Type Comments
subscriber_id integer The subscribers ID
subscription_id integer The subscription ID this usage data applies too
subscriber_subscription_id integer The subscribers subscription ID (ID value returned from GET /subscribers/{ID}/subscriptions)
billing_opt_id integer
usage_amount integer
charge integer Passed as decimal (1.000000)