Website API

Download OpenAPI specification:Download

Simple REST API to retrieve and manage contacts, form messages, store products, orders, bookings, subscriber lists and webhooks.

Authentication

The API uses Bearer Token Authorization.

  1. View your API key in your website > Website Settings > Applications > API Key.
  2. Pass it on every request via the Authorization header: Authorization: Bearer <API KEY>.
  3. All API requests must be made over HTTPS.
  4. All API clients must include a User-Agent header identifying themselves, e.g. MyApp/1.0.1.

Errors

The API uses conventional HTTP response codes. Codes in the 2xx range indicate success; 4xx codes indicate a request error (e.g. a required parameter was omitted or a resource was missing); 5xx codes indicate a server error or an unprocessable entry. Every error includes a human-readable message, e.g. { "success": false, "message": "Error message..." }.

Pagination

Most endpoints returning lists support pagination via the limit (1–50, default 30) and skip (a.k.a. offset, default 0) query parameters. Paginated responses share a common envelope of items, totalCount, limit and skip.

Contacts

Contacts are all visitors identified by their email in your website.

List all contacts

Get a paginated list of all contacts created in your website. Optionally filter by created date.

Authorizations:
bearerAuth
query Parameters
created_at_min
integer <int64>
Example: created_at_min=1573251649

List only contacts created after the specified timestamp (inclusive, in seconds since the Unix epoch).

created_at_max
integer <int64>
Example: created_at_max=1573251649

List only contacts created before the specified timestamp (inclusive, in seconds since the Unix epoch).

limit
integer [ 1 .. 50 ]
Default: 30
Example: limit=25

A limit on the number of objects to be returned. Between 1 and 50.

skip
integer >= 0
Default: 0
Example: skip=25

The number of items to skip (offset). Defaults to 0, i.e. the first page.

Responses

Response samples

Content type
application/json
{
  • "totalCount": 1,
  • "limit": 25,
  • "skip": 0,
  • "items": [
    ]
}

Create or update a contact

Create a contact. If a contact with the supplied email already exists, it will be updated. Only supplied parameters are set.

Authorizations:
bearerAuth
Request Body schema: application/json
required
name
string
email
required
string <email>
phone
string
note
string
address
string
city
string
state
string
zip
string
country
string
companyName
string
Array of objects (ContactProperty)
tags
Array of strings
subscribed
boolean
subscriberLists
Array of integers

Responses

Request samples

Content type
application/json
{
  • "name": "John Doe",
  • "email": "john@doe.com",
  • "phone": "+123456789",
  • "note": "string",
  • "address": "string",
  • "city": "string",
  • "state": "string",
  • "zip": "string",
  • "country": "string",
  • "companyName": "string",
  • "properties": [
    ],
  • "tags": [
    ],
  • "subscribed": true,
  • "subscriberLists": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 123,
  • "name": "John Doe",
  • "email": "john@doe.com",
  • "phone": "+123456789",
  • "note": "string",
  • "address": "string",
  • "city": "string",
  • "state": "string",
  • "zip": "string",
  • "country": "string",
  • "companyName": "string",
  • "createdOn": 1573240303,
  • "properties": [
    ],
  • "tags": [
    ],
  • "memberId": 487,
  • "subscribed": true,
  • "subscriberLists": [
    ]
}

Search contact by email

Authorizations:
bearerAuth
query Parameters
email
required
string <email>
Example: email=john@doe.com

The email address to look for.

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "name": "John Doe",
  • "email": "john@doe.com",
  • "phone": "+123456789",
  • "note": "string",
  • "address": "string",
  • "city": "string",
  • "state": "string",
  • "zip": "string",
  • "country": "string",
  • "companyName": "string",
  • "createdOn": 1573240303,
  • "properties": [
    ],
  • "tags": [
    ],
  • "memberId": 487,
  • "subscribed": true,
  • "subscriberLists": [
    ]
}

Retrieve a contact

Authorizations:
bearerAuth
path Parameters
id
required
integer
Example: 123

The id of the contact.

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "name": "John Doe",
  • "email": "john@doe.com",
  • "phone": "+123456789",
  • "note": "string",
  • "address": "string",
  • "city": "string",
  • "state": "string",
  • "zip": "string",
  • "country": "string",
  • "companyName": "string",
  • "createdOn": 1573240303,
  • "properties": [
    ],
  • "tags": [
    ],
  • "memberId": 487,
  • "subscribed": true,
  • "subscriberLists": [
    ]
}

Update a contact

Update a single contact. Only non-empty fields are set.

Authorizations:
bearerAuth
path Parameters
id
required
integer
Example: 123

The id of the contact.

Request Body schema: application/json
required
name
string
email
required
string <email>
phone
string
note
string
address
string
city
string
state
string
zip
string
country
string
companyName
string
Array of objects (ContactProperty)
tags
Array of strings
subscribed
boolean
subscriberLists
Array of integers

Responses

Request samples

Content type
application/json
{
  • "name": "John Doe",
  • "email": "john@doe.com",
  • "phone": "+123456789",
  • "note": "string",
  • "address": "string",
  • "city": "string",
  • "state": "string",
  • "zip": "string",
  • "country": "string",
  • "companyName": "string",
  • "properties": [
    ],
  • "tags": [
    ],
  • "subscribed": true,
  • "subscriberLists": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 123,
  • "name": "John Doe",
  • "email": "john@doe.com",
  • "phone": "+123456789",
  • "note": "string",
  • "address": "string",
  • "city": "string",
  • "state": "string",
  • "zip": "string",
  • "country": "string",
  • "companyName": "string",
  • "createdOn": 1573240303,
  • "properties": [
    ],
  • "tags": [
    ],
  • "memberId": 487,
  • "subscribed": true,
  • "subscriberLists": [
    ]
}

Delete a contact

Deletes the contact and all data associated with it.

Authorizations:
bearerAuth
path Parameters
id
required
integer
Example: 123

The id of the contact.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": ""
}

Members

Members are registered users in your website.

List all members

Get a paginated list of all members in your website. Optionally filter by group id.

Authorizations:
bearerAuth
query Parameters
groupId
integer
Example: groupId=12

List only members in the specified group.

limit
integer [ 1 .. 50 ]
Default: 30
Example: limit=25

A limit on the number of objects to be returned. Between 1 and 50.

skip
integer >= 0
Default: 0
Example: skip=25

The number of items to skip (offset). Defaults to 0, i.e. the first page.

Responses

Response samples

Content type
application/json
{
  • "totalCount": 1,
  • "limit": 25,
  • "skip": 0,
  • "items": [
    ]
}

Create a member

Create a new member. If a password is provided, the member is created with that password. Otherwise the member is created with a random password and a password-reset email is sent to the member.

Authorizations:
bearerAuth
Request Body schema: application/json
required
name
required
string
email
required
string <email>
password
string

Optional. If omitted, a random password is set and a reset email is sent. Ignored on update.

groups
Array of integers
approved
boolean
object (Address)

A billing or shipping address.

object (Address)

A billing or shipping address.

Responses

Request samples

Content type
application/json
{
  • "name": "John Doe",
  • "email": "john@doe.com",
  • "password": "my-password",
  • "groups": [
    ],
  • "approved": true,
  • "billingAddress": {
    },
  • "shippingAddress": {
    }
}

Response samples

Content type
application/json
{
  • "id": 123,
  • "name": "John Doe",
  • "email": "john@doe.com",
  • "groups": [
    ],
  • "registeredOn": 1587489771,
  • "approved": true,
  • "contactId": 147,
  • "billingAddress": {
    },
  • "shippingAddress": {
    }
}

Search member by email

Authorizations:
bearerAuth
query Parameters
email
required
string <email>
Example: email=john@doe.com

The email address to look for.

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "name": "John Doe",
  • "email": "john@doe.com",
  • "groups": [
    ],
  • "registeredOn": 1587489771,
  • "approved": true,
  • "contactId": 147,
  • "billingAddress": {
    },
  • "shippingAddress": {
    }
}

Retrieve a member

Authorizations:
bearerAuth
path Parameters
id
required
integer
Example: 111

The id of the member.

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "name": "John Doe",
  • "email": "john@doe.com",
  • "groups": [
    ],
  • "registeredOn": 1587489771,
  • "approved": true,
  • "contactId": 147,
  • "billingAddress": {
    },
  • "shippingAddress": {
    }
}

Update a member

Update a single member. Only non-empty fields are set. The member password will NOT be updated.

Authorizations:
bearerAuth
path Parameters
id
required
integer
Example: 111

The id of the member.

Request Body schema: application/json
required
name
required
string
email
required
string <email>
password
string

Optional. If omitted, a random password is set and a reset email is sent. Ignored on update.

groups
Array of integers
approved
boolean
object (Address)

A billing or shipping address.

object (Address)

A billing or shipping address.

Responses

Request samples

Content type
application/json
{
  • "name": "John Doe",
  • "email": "john@doe.com",
  • "password": "my-password",
  • "groups": [
    ],
  • "approved": true,
  • "billingAddress": {
    },
  • "shippingAddress": {
    }
}

Response samples

Content type
application/json
{
  • "id": 123,
  • "name": "John Doe",
  • "email": "john@doe.com",
  • "groups": [
    ],
  • "registeredOn": 1587489771,
  • "approved": true,
  • "contactId": 147,
  • "billingAddress": {
    },
  • "shippingAddress": {
    }
}

Delete a member

Authorizations:
bearerAuth
path Parameters
id
required
integer
Example: 111

The id of the member.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": ""
}

Start a single sign-on session

If you already have your own authentication mechanism, Single Sign-On allows your authenticated members to directly access the member area without logging in again.

Call this endpoint from your backend and redirect the member to the accessUrl from the response. Optionally pass path to direct the member to a specific page. The accessUrl is valid for 15 minutes.

Authorizations:
bearerAuth
Request Body schema: application/json
required
email
required
string <email>
path
string

Optional. Direct the member to a specific page after sign-on.

Responses

Request samples

Content type
application/json
{
  • "email": "john@doe.com",
  • "path": "/protected-member-only-page"
}

Response samples

Content type
application/json
{}

Member groups

Member groups are groups which the members belong to. Access to resources can be restricted to specific member groups only.

List all member groups

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a member group

Authorizations:
bearerAuth
Request Body schema: application/json
required
name
required
string
link
string

Responses

Request samples

Content type
application/json
{
  • "name": "New group",
  • "link": ""
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "Basic Members",
  • "link": ""
}

Retrieve a member group

Authorizations:
bearerAuth
path Parameters
id
required
integer
Example: 111

The id of the member group.

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "Basic Members",
  • "link": ""
}

Update a member group

Authorizations:
bearerAuth
path Parameters
id
required
integer
Example: 111

The id of the member group.

Request Body schema: application/json
required
name
required
string
link
string

Responses

Request samples

Content type
application/json
{
  • "name": "New group",
  • "link": ""
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "Basic Members",
  • "link": ""
}

Delete a member group

Authorizations:
bearerAuth
path Parameters
id
required
integer
Example: 111

The id of the member group.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": ""
}

Products

Products are individual items, services or memberships for sale in your store.

List all products

Get a paginated list of all products in your website. Optionally filter by category or product name.

Authorizations:
bearerAuth
query Parameters
category_id
integer
Example: category_id=12

List only products in the specified category (includes all products in the subcategories, if any).

title
string
Example: title=shirt

List only products containing the specified string in their title.

limit
integer [ 1 .. 50 ]
Default: 30
Example: limit=25

A limit on the number of objects to be returned. Between 1 and 50.

skip
integer >= 0
Default: 0
Example: skip=25

The number of items to skip (offset). Defaults to 0, i.e. the first page.

Responses

Response samples

Content type
application/json
{
  • "totalCount": 1,
  • "limit": 25,
  • "skip": 0,
  • "items": [
    ]
}

Create a product

Create a product. Set update_existing_product_by_url to true to find an existing product with the same URL and update it instead.

Authorizations:
bearerAuth
query Parameters
update_existing_product_by_url
boolean
Example: update_existing_product_by_url=true

If true and a product with the same URL exists, the existing product is updated instead.

Request Body schema: application/json
required
type
required
string
Enum: "physical" "digital" "service" "membership"
title
required
string
description
string
url
string
hidden
boolean
images
Array of strings <uri> [ items <uri > ]
Array of objects (Category)
Array of objects (ProductOption)
Array of objects (ProductVariant)
object (Subscription)

Subscription details for a subscription product.

file
string <uri>

Responses

Request samples

Content type
application/json
{
  • "type": "physical",
  • "title": "Interior Door",
  • "description": "string",
  • "url": "interior-door",
  • "hidden": true,
  • "images": [],
  • "categories": [
    ],
  • "options": [
    ],
  • "variants": [
    ],
  • "subscription": {
    },
}

Response samples

Content type
application/json
{
  • "id": 111,
  • "type": "physical",
  • "title": "Interior Door",
  • "description": "string",
  • "url": "interior-door",
  • "hidden": true,
  • "categories": [
    ],
  • "options": [
    ],
  • "variants": [
    ],
  • "subscription": {
    },
}

List all categories

Get a list of all categories in the store.

Authorizations:
bearerAuth
query Parameters
parent
integer
Example: parent=12

List only direct sub-categories of the provided parent.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a product

Authorizations:
bearerAuth
path Parameters
id
required
integer
Example: 111

The id of the product.

Responses

Response samples

Content type
application/json
{
  • "id": 111,
  • "type": "physical",
  • "title": "Interior Door",
  • "description": "string",
  • "url": "interior-door",
  • "hidden": true,
  • "categories": [
    ],
  • "options": [
    ],
  • "variants": [
    ],
  • "subscription": {
    },
}

Update a product

Update a single product. Only non-empty fields or provided variants are set.

Authorizations:
bearerAuth
path Parameters
id
required
integer
Example: 111

The id of the product.

Request Body schema: application/json
required
type
required
string
Enum: "physical" "digital" "service" "membership"
title
required
string
description
string
url
string
hidden
boolean
images
Array of strings <uri> [ items <uri > ]
Array of objects (Category)
Array of objects (ProductOption)
Array of objects (ProductVariant)
object (Subscription)

Subscription details for a subscription product.

file
string <uri>

Responses

Request samples

Content type
application/json
{
  • "type": "physical",
  • "title": "Interior Door",
  • "description": "string",
  • "url": "interior-door",
  • "hidden": true,
  • "images": [],
  • "categories": [
    ],
  • "options": [
    ],
  • "variants": [
    ],
  • "subscription": {
    },
}

Response samples

Content type
application/json
{
  • "id": 111,
  • "type": "physical",
  • "title": "Interior Door",
  • "description": "string",
  • "url": "interior-door",
  • "hidden": true,
  • "categories": [
    ],
  • "options": [
    ],
  • "variants": [
    ],
  • "subscription": {
    },
}

Delete a product

Authorizations:
bearerAuth
path Parameters
id
required
integer
Example: 111

The id of the product.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": ""
}

Orders

Access orders made in your website.

List all orders

Get a paginated list of all orders created in your website. Optionally filter by created date.

Authorizations:
bearerAuth
query Parameters
created_at_min
integer <int64>
Example: created_at_min=1573251649

List only orders created after the specified timestamp (inclusive, in seconds since the Unix epoch).

created_at_max
integer <int64>
Example: created_at_max=1573251649

List only orders created before the specified timestamp (inclusive, in seconds since the Unix epoch).

limit
integer [ 1 .. 50 ]
Default: 30
Example: limit=25

A limit on the number of objects to be returned. Between 1 and 50.

skip
integer >= 0
Default: 0
Example: skip=25

The number of items to skip (offset). Defaults to 0, i.e. the first page.

Responses

Response samples

Content type
application/json
{
  • "totalCount": 1,
  • "limit": 25,
  • "skip": 0,
  • "items": [
    ]
}

Retrieve an order

Authorizations:
bearerAuth
path Parameters
id
required
integer
Example: 1234

The id of the order.

Responses

Response samples

Content type
application/json
{
  • "id": 1234,
  • "invoiceNo": 15,
  • "created": 1573397217,
  • "customerName": "John Doe",
  • "customerEmail": "john@email.com",
  • "contactId": 0,
  • "memberId": 0,
  • "shippingAddress": {
    },
  • "billingAddress": {
    },
  • "shippingRequired": true,
  • "weight": 0,
  • "weightUnit": "kg",
  • "subTotal": 49,
  • "total": 49,
  • "discountCode": "string",
  • "discountType": "fixed_discount",
  • "discountAmount": 0,
  • "shippingName": "string",
  • "shippingAmount": 0,
  • "paid": true,
  • "paymentMethod": "stripe",
  • "transactionId": "string",
  • "status": "completed",
  • "taxes": [
    ],
  • "items": [
    ],
  • "tags": [
    ],
  • "additionalFields": [
    ],
  • "notes": [
    ]
}

Update an order

Update a single order's details. Only non-empty fields are set. Available order statuses are PENDING, SHIPPED, COMPLETED, CANCELED and ARCHIVED.

If the order has digital downloads or membership products and the status is set to COMPLETED, the customer receives an email with access to their digital content.

Authorizations:
bearerAuth
path Parameters
id
required
integer
Example: 1234

The id of the order.

Request Body schema: application/json
required
customerName
string
customerEmail
string <email>
object (Address)

A billing or shipping address.

object (Address)

A billing or shipping address.

paymentMethod
string

The payment method type, e.g. "stripe".

transactionId
string

The transaction id uniquely identifying the payment for this order.

paid
boolean
status
string
Enum: "PENDING" "SHIPPED" "COMPLETED" "CANCELED" "ARCHIVED"

The order status to set.

object (Fulfillment)
notifyCustomer
boolean

Whether to notify the customer of this change.

Responses

Request samples

Content type
application/json
{
  • "customerName": "string",
  • "customerEmail": "user@example.com",
  • "billingAddress": {
    },
  • "shippingAddress": {
    },
  • "paymentMethod": "string",
  • "transactionId": "string",
  • "paid": true,
  • "status": "PENDING",
  • "fulfillment": {},
  • "notifyCustomer": true
}

Response samples

Content type
application/json
{
  • "id": 1234,
  • "invoiceNo": 15,
  • "created": 1573397217,
  • "customerName": "John Doe",
  • "customerEmail": "john@email.com",
  • "contactId": 0,
  • "memberId": 0,
  • "shippingAddress": {
    },
  • "billingAddress": {
    },
  • "shippingRequired": true,
  • "weight": 0,
  • "weightUnit": "kg",
  • "subTotal": 49,
  • "total": 49,
  • "discountCode": "string",
  • "discountType": "fixed_discount",
  • "discountAmount": 0,
  • "shippingName": "string",
  • "shippingAmount": 0,
  • "paid": true,
  • "paymentMethod": "stripe",
  • "transactionId": "string",
  • "status": "completed",
  • "taxes": [
    ],
  • "items": [
    ],
  • "tags": [
    ],
  • "additionalFields": [
    ],
  • "notes": [
    ]
}

Forms

Access all form submissions in the website.

List all form submissions

Get a paginated list of all form submissions in the website.

Authorizations:
bearerAuth
query Parameters
from
integer <int64>
Example: from=1573251649

List only form submissions created after the specified timestamp (inclusive, in seconds since the Unix epoch).

to
integer <int64>
Example: to=1573251649

List only form submissions created before the specified timestamp (inclusive, in seconds since the Unix epoch).

limit
integer [ 1 .. 50 ]
Default: 30
Example: limit=25

A limit on the number of objects to be returned. Between 1 and 50.

skip
integer >= 0
Default: 0
Example: skip=25

The number of items to skip (offset). Defaults to 0, i.e. the first page.

Responses

Response samples

Content type
application/json
{
  • "totalCount": 1,
  • "limit": 25,
  • "skip": 0,
  • "items": [
    ]
}

Bookings

Access the details of all scheduled events via the booking features of each website or funnel.

List all bookings

Get a paginated list of booked sessions in the website / funnel.

Authorizations:
bearerAuth
query Parameters
from
integer <int64>
Example: from=1573251649

List only bookings starting after the specified timestamp (inclusive, in seconds since the Unix epoch).

to
integer <int64>
Example: to=1573251649

List only bookings starting before the specified timestamp (inclusive, in seconds since the Unix epoch).

eventId
integer
Example: eventId=123

List only bookings with the selected event id.

limit
integer [ 1 .. 50 ]
Default: 30
Example: limit=25

A limit on the number of objects to be returned. Between 1 and 50.

skip
integer >= 0
Default: 0
Example: skip=25

The number of items to skip (offset). Defaults to 0, i.e. the first page.

Responses

Response samples

Content type
application/json
{
  • "totalCount": 1,
  • "limit": 25,
  • "skip": 0,
  • "items": [
    ]
}

Subscriber lists

Manage email marketing lists.

List all subscriber lists

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a subscriber list

Create a subscriber list for email marketing purposes.

Authorizations:
bearerAuth
Request Body schema: application/json
required
name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "New List"
}

Response samples

Content type
application/json
{
  • "id": 87647751,
  • "name": "My list",
  • "created": 1613384738,
  • "subscribers": 25,
  • "opens": 0.85,
  • "clicks": 0.41
}

Retrieve a subscriber list

Authorizations:
bearerAuth
path Parameters
id
required
integer
Example: 87647751

The id of the subscriber list.

Responses

Response samples

Content type
application/json
{
  • "id": 87647751,
  • "name": "My list",
  • "created": 1613384738,
  • "subscribers": 25,
  • "opens": 0.85,
  • "clicks": 0.41
}

Update a subscriber list

Authorizations:
bearerAuth
path Parameters
id
required
integer
Example: 87647751

The id of the subscriber list.

Request Body schema: application/json
required
name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "New List"
}

Response samples

Content type
application/json
{
  • "id": 87647751,
  • "name": "My list",
  • "created": 1613384738,
  • "subscribers": 25,
  • "opens": 0.85,
  • "clicks": 0.41
}

Delete a subscriber list

Authorizations:
bearerAuth
path Parameters
id
required
integer
Example: 87647751

The id of the subscriber list.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": ""
}

Webhooks

Webhooks push automated notifications to your destination URL when important events occur in your website.

List all webhooks

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[]

Create a webhook

Authorizations:
bearerAuth
Request Body schema: application/json
required
target
required
string <uri>
secret
string
events
required
Array of strings (WebhookEvent)
Items Enum: "order_created" "order_updated" "product_created" "product_updated" "form_submitted" "contact_updated" "booking_created"

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{}

Delete a webhook

Authorizations:
bearerAuth
path Parameters
id
required
string
Example: rh_4ac124dde21

The id of the webhook.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": ""
}

New order created Webhook

Fired when a new order is placed on the website.

Authorizations:
bearerAuth
Request Body schema: application/json
required
id
integer

Unique identifier.

invoiceNo
integer

Invoice number assigned to the order.

created
integer <int64>

Timestamp in Unix seconds since epoch (time placed).

customerName
string
customerEmail
string <email>
contactId
integer

Unique identifier of the contact that made the order.

memberId
integer

Unique identifier of the registered member that made the order (if any).

object (Address)

A billing or shipping address.

object (Address)

A billing or shipping address.

shippingRequired
boolean

Whether the order contains physical products requiring shipping.

weight
number

Total weight of the order.

weightUnit
string

Weight unit (kg, lb).

subTotal
number
total
number
discountCode
string or null

Used discount code.

discountType
string or null
Enum: "fixed_discount" "percent_discount" "free_shipping" null

Type of discount used.

discountAmount
number
shippingName
string

Shipping method used (if any).

shippingAmount
number

Cost of shipping.

paid
boolean

Whether the order is paid.

paymentMethod
string

Payment method used to place the order.

transactionId
string

If paid, the payment transaction id.

status
string
Enum: "pending" "shipped" "completed" "canceled" "archived"

Order status. Returned in lowercase; see the Update operation for the accepted uppercase input values.

Array of objects (Tax)
Array of objects (OrderItem)
tags
Array of strings

List of tags assigned to the order.

Array of objects (FieldValue)

Field/value pairs of all additional fields collected with the order.

Array of objects (OrderNote)

Private notes added to this order (time/value pairs).

Responses

Request samples

Content type
application/json
{
  • "id": 1234,
  • "invoiceNo": 15,
  • "created": 1573397217,
  • "customerName": "John Doe",
  • "customerEmail": "john@email.com",
  • "contactId": 0,
  • "memberId": 0,
  • "shippingAddress": {
    },
  • "billingAddress": {
    },
  • "shippingRequired": true,
  • "weight": 0,
  • "weightUnit": "kg",
  • "subTotal": 49,
  • "total": 49,
  • "discountCode": "string",
  • "discountType": "fixed_discount",
  • "discountAmount": 0,
  • "shippingName": "string",
  • "shippingAmount": 0,
  • "paid": true,
  • "paymentMethod": "stripe",
  • "transactionId": "string",
  • "status": "completed",
  • "taxes": [
    ],
  • "items": [
    ],
  • "tags": [
    ],
  • "additionalFields": [
    ],
  • "notes": [
    ]
}

Order updated Webhook

Fired when an order is updated.

Authorizations:
bearerAuth
Request Body schema: application/json
required
id
integer

Unique identifier.

invoiceNo
integer

Invoice number assigned to the order.

created
integer <int64>

Timestamp in Unix seconds since epoch (time placed).

customerName
string
customerEmail
string <email>
contactId
integer

Unique identifier of the contact that made the order.

memberId
integer

Unique identifier of the registered member that made the order (if any).

object (Address)

A billing or shipping address.

object (Address)

A billing or shipping address.

shippingRequired
boolean

Whether the order contains physical products requiring shipping.

weight
number

Total weight of the order.

weightUnit
string

Weight unit (kg, lb).

subTotal
number
total
number
discountCode
string or null

Used discount code.

discountType
string or null
Enum: "fixed_discount" "percent_discount" "free_shipping" null

Type of discount used.

discountAmount
number
shippingName
string

Shipping method used (if any).

shippingAmount
number

Cost of shipping.

paid
boolean

Whether the order is paid.

paymentMethod
string

Payment method used to place the order.

transactionId
string

If paid, the payment transaction id.

status
string
Enum: "pending" "shipped" "completed" "canceled" "archived"

Order status. Returned in lowercase; see the Update operation for the accepted uppercase input values.

Array of objects (Tax)
Array of objects (OrderItem)
tags
Array of strings

List of tags assigned to the order.

Array of objects (FieldValue)

Field/value pairs of all additional fields collected with the order.

Array of objects (OrderNote)

Private notes added to this order (time/value pairs).

Responses

Request samples

Content type
application/json
{
  • "id": 1234,
  • "invoiceNo": 15,
  • "created": 1573397217,
  • "customerName": "John Doe",
  • "customerEmail": "john@email.com",
  • "contactId": 0,
  • "memberId": 0,
  • "shippingAddress": {
    },
  • "billingAddress": {
    },
  • "shippingRequired": true,
  • "weight": 0,
  • "weightUnit": "kg",
  • "subTotal": 49,
  • "total": 49,
  • "discountCode": "string",
  • "discountType": "fixed_discount",
  • "discountAmount": 0,
  • "shippingName": "string",
  • "shippingAmount": 0,
  • "paid": true,
  • "paymentMethod": "stripe",
  • "transactionId": "string",
  • "status": "completed",
  • "taxes": [
    ],
  • "items": [
    ],
  • "tags": [
    ],
  • "additionalFields": [
    ],
  • "notes": [
    ]
}

New product created Webhook

Fired when a new product is created.

Authorizations:
bearerAuth
Request Body schema: application/json
required
id
integer

Unique identifier.

type
string
Enum: "physical" "digital" "service" "membership"

The type of the product.

title
string
description
string

Supports light HTML formatting.

url
string

The product URL (handle) in your store.

hidden
boolean

Whether the product is hidden in your store front.

images
Array of strings <uri> [ items <uri > ]
Array of objects (Category)
Array of objects (ProductOption)
Array of objects (ProductVariant)
object (Subscription)

Subscription details for a subscription product.

file
string <uri>

Digital products only - URL of the digital file being sold.

Responses

Request samples

Content type
application/json
{
  • "id": 111,
  • "type": "physical",
  • "title": "Interior Door",
  • "description": "string",
  • "url": "interior-door",
  • "hidden": true,
  • "categories": [
    ],
  • "options": [
    ],
  • "variants": [
    ],
  • "subscription": {
    },
}

Product updated Webhook

Fired when a product is updated.

Authorizations:
bearerAuth
Request Body schema: application/json
required
id
integer

Unique identifier.

type
string
Enum: "physical" "digital" "service" "membership"

The type of the product.

title
string
description
string

Supports light HTML formatting.

url
string

The product URL (handle) in your store.

hidden
boolean

Whether the product is hidden in your store front.

images
Array of strings <uri> [ items <uri > ]
Array of objects (Category)
Array of objects (ProductOption)
Array of objects (ProductVariant)
object (Subscription)

Subscription details for a subscription product.

file
string <uri>

Digital products only - URL of the digital file being sold.

Responses

Request samples

Content type
application/json
{
  • "id": 111,
  • "type": "physical",
  • "title": "Interior Door",
  • "description": "string",
  • "url": "interior-door",
  • "hidden": true,
  • "categories": [
    ],
  • "options": [
    ],
  • "variants": [
    ],
  • "subscription": {
    },
}

New form submission Webhook

Fired when a form is submitted.

Authorizations:
bearerAuth
Request Body schema: application/json
required
object (WebsiteRef)

Information about the website where the event originated.

object (Contact)
formName
string
Array of objects (FieldValue)

Field/value pairs of all submitted fields.

Responses

Request samples

Content type
application/json
{
  • "website": {
    },
  • "contact": {
    },
  • "formName": "Contact Form",
  • "formValues": [
    ]
}

New contact activity Webhook

Fired when a new contact is created or an existing contact is updated.

Authorizations:
bearerAuth
Request Body schema: application/json
required
id
integer

Unique identifier.

name
string

Contact name.

email
string <email>

Email address of the contact.

phone
string

Contact phone.

note
string

Private note.

address
string
city
string
state
string
zip
string
country
string
companyName
string
createdOn
integer <int64>

Timestamp in Unix seconds since epoch.

Array of objects (ContactProperty)

Array of custom properties, as defined in the CRM section of your website.

tags
Array of strings

List of tags assigned to the contact.

memberId
integer

Member id if assigned to contact.

subscribed
boolean

Whether the contact is a subscriber (for email marketing).

subscriberLists
Array of integers

Array of subscriber list IDs (email marketing lists).

Responses

Request samples

Content type
application/json
{
  • "id": 123,
  • "name": "John Doe",
  • "email": "john@doe.com",
  • "phone": "+123456789",
  • "note": "string",
  • "address": "string",
  • "city": "string",
  • "state": "string",
  • "zip": "string",
  • "country": "string",
  • "companyName": "string",
  • "createdOn": 1573240303,
  • "properties": [
    ],
  • "tags": [
    ],
  • "memberId": 487,
  • "subscribed": true,
  • "subscriberLists": [
    ]
}

New booking created Webhook

Fired when a new booking is created.

Authorizations:
bearerAuth
Request Body schema: application/json
required
id
integer

Unique booking (session) id.

eventId
integer

Unique event id.

contactId
integer

Unique contact id.

name
string

Contact name.

email
string <email>

Contact email.

start
integer <int64>

Timestamp in Unix seconds since epoch (booking start).

end
integer <int64>

Timestamp in Unix seconds since epoch (booking end).

object (EventDetails)
object (Operator)
object (Service)
Array of objects (NameValue)

Name/value pairs of all form questions answered by the attendee.

Responses

Request samples

Content type
application/json
{
  • "id": 206,
  • "eventId": 98146,
  • "contactId": 41,
  • "name": "Jane Doe",
  • "email": "jane@doe.com",
  • "start": 1587936600,
  • "end": 1587938400,
  • "eventData": {
    },
  • "operator": {
    },
  • "service": {
    },
  • "formAnswers": [
    ]
}