Download OpenAPI specification:Download
Simple REST API to retrieve and manage contacts, form messages, store products, orders, bookings, subscriber lists and webhooks.
The API uses Bearer Token Authorization.
Authorization header: Authorization: Bearer <API KEY>.User-Agent header identifying themselves, e.g. MyApp/1.0.1.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..." }.
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.
Get a paginated list of all contacts created in your website. Optionally filter by created date.
| 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. |
{- "totalCount": 1,
- "limit": 25,
- "skip": 0,
- "items": [
- {
- "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": [
- {
- "name": "lead_status",
- "value": "contacted"
}
], - "tags": [
- "tag1",
- "tag2"
], - "memberId": 487,
- "subscribed": true,
- "subscriberLists": [
- 0,
- 87647751
]
}
]
}Create a contact. If a contact with the supplied email already exists, it will be updated. Only supplied parameters are set.
| 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 |
{- "name": "John Doe",
- "email": "john@doe.com",
- "phone": "+123456789",
- "note": "string",
- "address": "string",
- "city": "string",
- "state": "string",
- "zip": "string",
- "country": "string",
- "companyName": "string",
- "properties": [
- {
- "name": "lead_status",
- "value": "contacted"
}
], - "tags": [
- "string"
], - "subscribed": true,
- "subscriberLists": [
- 0
]
}{- "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": [
- {
- "name": "lead_status",
- "value": "contacted"
}
], - "tags": [
- "tag1",
- "tag2"
], - "memberId": 487,
- "subscribed": true,
- "subscriberLists": [
- 0,
- 87647751
]
}| email required | string <email> Example: email=john@doe.com The email address to look for. |
{- "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": [
- {
- "name": "lead_status",
- "value": "contacted"
}
], - "tags": [
- "tag1",
- "tag2"
], - "memberId": 487,
- "subscribed": true,
- "subscriberLists": [
- 0,
- 87647751
]
}| id required | integer Example: 123 The id of the contact. |
{- "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": [
- {
- "name": "lead_status",
- "value": "contacted"
}
], - "tags": [
- "tag1",
- "tag2"
], - "memberId": 487,
- "subscribed": true,
- "subscriberLists": [
- 0,
- 87647751
]
}Update a single contact. Only non-empty fields are set.
| id required | integer Example: 123 The id of the contact. |
| 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 |
{- "name": "John Doe",
- "email": "john@doe.com",
- "phone": "+123456789",
- "note": "string",
- "address": "string",
- "city": "string",
- "state": "string",
- "zip": "string",
- "country": "string",
- "companyName": "string",
- "properties": [
- {
- "name": "lead_status",
- "value": "contacted"
}
], - "tags": [
- "string"
], - "subscribed": true,
- "subscriberLists": [
- 0
]
}{- "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": [
- {
- "name": "lead_status",
- "value": "contacted"
}
], - "tags": [
- "tag1",
- "tag2"
], - "memberId": 487,
- "subscribed": true,
- "subscriberLists": [
- 0,
- 87647751
]
}Get a paginated list of all members in your website. Optionally filter by group id.
| 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. |
{- "totalCount": 1,
- "limit": 25,
- "skip": 0,
- "items": [
- {
- "id": 123,
- "name": "John Doe",
- "email": "john@doe.com",
- "groups": [
- 59,
- 98
], - "registeredOn": 1587489771,
- "approved": true,
- "contactId": 147,
- "billingAddress": {
- "name": "string",
- "phone": "string",
- "companyName": "string",
- "companyId": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "zipCode": "string",
- "address": "string",
- "address2": "string"
}, - "shippingAddress": {
- "name": "string",
- "phone": "string",
- "companyName": "string",
- "companyId": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "zipCode": "string",
- "address": "string",
- "address2": "string"
}
}
]
}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.
| 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. |
{- "name": "John Doe",
- "email": "john@doe.com",
- "password": "my-password",
- "groups": [
- 0
], - "approved": true,
- "billingAddress": {
- "name": "string",
- "phone": "string",
- "companyName": "string",
- "companyId": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "zipCode": "string",
- "address": "string",
- "address2": "string"
}, - "shippingAddress": {
- "name": "string",
- "phone": "string",
- "companyName": "string",
- "companyId": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "zipCode": "string",
- "address": "string",
- "address2": "string"
}
}{- "id": 123,
- "name": "John Doe",
- "email": "john@doe.com",
- "groups": [
- 59,
- 98
], - "registeredOn": 1587489771,
- "approved": true,
- "contactId": 147,
- "billingAddress": {
- "name": "string",
- "phone": "string",
- "companyName": "string",
- "companyId": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "zipCode": "string",
- "address": "string",
- "address2": "string"
}, - "shippingAddress": {
- "name": "string",
- "phone": "string",
- "companyName": "string",
- "companyId": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "zipCode": "string",
- "address": "string",
- "address2": "string"
}
}| email required | string <email> Example: email=john@doe.com The email address to look for. |
{- "id": 123,
- "name": "John Doe",
- "email": "john@doe.com",
- "groups": [
- 59,
- 98
], - "registeredOn": 1587489771,
- "approved": true,
- "contactId": 147,
- "billingAddress": {
- "name": "string",
- "phone": "string",
- "companyName": "string",
- "companyId": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "zipCode": "string",
- "address": "string",
- "address2": "string"
}, - "shippingAddress": {
- "name": "string",
- "phone": "string",
- "companyName": "string",
- "companyId": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "zipCode": "string",
- "address": "string",
- "address2": "string"
}
}| id required | integer Example: 111 The id of the member. |
{- "id": 123,
- "name": "John Doe",
- "email": "john@doe.com",
- "groups": [
- 59,
- 98
], - "registeredOn": 1587489771,
- "approved": true,
- "contactId": 147,
- "billingAddress": {
- "name": "string",
- "phone": "string",
- "companyName": "string",
- "companyId": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "zipCode": "string",
- "address": "string",
- "address2": "string"
}, - "shippingAddress": {
- "name": "string",
- "phone": "string",
- "companyName": "string",
- "companyId": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "zipCode": "string",
- "address": "string",
- "address2": "string"
}
}Update a single member. Only non-empty fields are set. The member password will NOT be updated.
| id required | integer Example: 111 The id of the member. |
| 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. |
{- "name": "John Doe",
- "email": "john@doe.com",
- "password": "my-password",
- "groups": [
- 0
], - "approved": true,
- "billingAddress": {
- "name": "string",
- "phone": "string",
- "companyName": "string",
- "companyId": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "zipCode": "string",
- "address": "string",
- "address2": "string"
}, - "shippingAddress": {
- "name": "string",
- "phone": "string",
- "companyName": "string",
- "companyId": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "zipCode": "string",
- "address": "string",
- "address2": "string"
}
}{- "id": 123,
- "name": "John Doe",
- "email": "john@doe.com",
- "groups": [
- 59,
- 98
], - "registeredOn": 1587489771,
- "approved": true,
- "contactId": 147,
- "billingAddress": {
- "name": "string",
- "phone": "string",
- "companyName": "string",
- "companyId": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "zipCode": "string",
- "address": "string",
- "address2": "string"
}, - "shippingAddress": {
- "name": "string",
- "phone": "string",
- "companyName": "string",
- "companyId": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "zipCode": "string",
- "address": "string",
- "address2": "string"
}
}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.
| email required | string <email> |
| path | string Optional. Direct the member to a specific page after sign-on. |
{- "email": "john@doe.com",
- "path": "/protected-member-only-page"
}{- "token": "xxxxx.xxxxx.xxxxx",
- "createdAt": 1605283421,
- "expiresAt": 1605284321
}Member groups are groups which the members belong to. Access to resources can be restricted to specific member groups only.
| name required | string |
| link | string |
{- "name": "New group",
- "link": ""
}{- "id": 1,
- "name": "Basic Members",
- "link": ""
}| id required | integer Example: 111 The id of the member group. |
| name required | string |
| link | string |
{- "name": "New group",
- "link": ""
}{- "id": 1,
- "name": "Basic Members",
- "link": ""
}Get a paginated list of all products in your website. Optionally filter by category or product name.
| 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. |
{- "totalCount": 1,
- "limit": 25,
- "skip": 0,
- "items": [
- {
- "id": 111,
- "type": "physical",
- "title": "Interior Door",
- "description": "string",
- "url": "interior-door",
- "hidden": true,
- "categories": [
- {
- "id": 1,
- "name": "Doors",
- "url": "doors",
- "parentCategory": 0
}
], - "options": [
- {
- "name": "Material",
- "values": [
- "Wood",
- "Glass"
], - "advanced": true
}
], - "variants": [
- {
- "options": [
- "Wood",
- "Single"
], - "price": 199,
- "onSale": true,
- "regularPrice": 0,
- "salePrice": 0,
- "quantity": 0,
- "sku": "D-001",
- "weight": 0
}
], - "subscription": {
- "cycles": 0,
- "period": 0,
- "periodUnit": "WEEKLY"
},
}
]
}Create a product. Set update_existing_product_by_url to true to find an existing product with the same URL and update it instead.
| 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. |
| 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> |
{- "type": "physical",
- "title": "Interior Door",
- "description": "string",
- "url": "interior-door",
- "hidden": true,
- "categories": [
- {
- "id": 1,
- "name": "Doors",
- "url": "doors",
- "parentCategory": 0
}
], - "options": [
- {
- "name": "Material",
- "values": [
- "Wood",
- "Glass"
], - "advanced": true
}
], - "variants": [
- {
- "options": [
- "Wood",
- "Single"
], - "price": 199,
- "onSale": true,
- "regularPrice": 0,
- "salePrice": 0,
- "quantity": 0,
- "sku": "D-001",
- "weight": 0
}
], - "subscription": {
- "cycles": 0,
- "period": 0,
- "periodUnit": "WEEKLY"
},
}{- "id": 111,
- "type": "physical",
- "title": "Interior Door",
- "description": "string",
- "url": "interior-door",
- "hidden": true,
- "categories": [
- {
- "id": 1,
- "name": "Doors",
- "url": "doors",
- "parentCategory": 0
}
], - "options": [
- {
- "name": "Material",
- "values": [
- "Wood",
- "Glass"
], - "advanced": true
}
], - "variants": [
- {
- "options": [
- "Wood",
- "Single"
], - "price": 199,
- "onSale": true,
- "regularPrice": 0,
- "salePrice": 0,
- "quantity": 0,
- "sku": "D-001",
- "weight": 0
}
], - "subscription": {
- "cycles": 0,
- "period": 0,
- "periodUnit": "WEEKLY"
},
}Get a list of all categories in the store.
| parent | integer Example: parent=12 List only direct sub-categories of the provided parent. |
[- {
- "id": 1,
- "name": "Doors",
- "url": "doors",
- "parentCategory": 0
}
]| id required | integer Example: 111 The id of the product. |
{- "id": 111,
- "type": "physical",
- "title": "Interior Door",
- "description": "string",
- "url": "interior-door",
- "hidden": true,
- "categories": [
- {
- "id": 1,
- "name": "Doors",
- "url": "doors",
- "parentCategory": 0
}
], - "options": [
- {
- "name": "Material",
- "values": [
- "Wood",
- "Glass"
], - "advanced": true
}
], - "variants": [
- {
- "options": [
- "Wood",
- "Single"
], - "price": 199,
- "onSale": true,
- "regularPrice": 0,
- "salePrice": 0,
- "quantity": 0,
- "sku": "D-001",
- "weight": 0
}
], - "subscription": {
- "cycles": 0,
- "period": 0,
- "periodUnit": "WEEKLY"
},
}Update a single product. Only non-empty fields or provided variants are set.
| id required | integer Example: 111 The id of the product. |
| 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> |
{- "type": "physical",
- "title": "Interior Door",
- "description": "string",
- "url": "interior-door",
- "hidden": true,
- "categories": [
- {
- "id": 1,
- "name": "Doors",
- "url": "doors",
- "parentCategory": 0
}
], - "options": [
- {
- "name": "Material",
- "values": [
- "Wood",
- "Glass"
], - "advanced": true
}
], - "variants": [
- {
- "options": [
- "Wood",
- "Single"
], - "price": 199,
- "onSale": true,
- "regularPrice": 0,
- "salePrice": 0,
- "quantity": 0,
- "sku": "D-001",
- "weight": 0
}
], - "subscription": {
- "cycles": 0,
- "period": 0,
- "periodUnit": "WEEKLY"
},
}{- "id": 111,
- "type": "physical",
- "title": "Interior Door",
- "description": "string",
- "url": "interior-door",
- "hidden": true,
- "categories": [
- {
- "id": 1,
- "name": "Doors",
- "url": "doors",
- "parentCategory": 0
}
], - "options": [
- {
- "name": "Material",
- "values": [
- "Wood",
- "Glass"
], - "advanced": true
}
], - "variants": [
- {
- "options": [
- "Wood",
- "Single"
], - "price": 199,
- "onSale": true,
- "regularPrice": 0,
- "salePrice": 0,
- "quantity": 0,
- "sku": "D-001",
- "weight": 0
}
], - "subscription": {
- "cycles": 0,
- "period": 0,
- "periodUnit": "WEEKLY"
},
}Get a paginated list of all orders created in your website. Optionally filter by created date.
| 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. |
{- "totalCount": 1,
- "limit": 25,
- "skip": 0,
- "items": [
- {
- "id": 1234,
- "invoiceNo": 15,
- "created": 1573397217,
- "customerName": "John Doe",
- "customerEmail": "john@email.com",
- "contactId": 0,
- "memberId": 0,
- "shippingAddress": {
- "name": "string",
- "phone": "string",
- "companyName": "string",
- "companyId": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "zipCode": "string",
- "address": "string",
- "address2": "string"
}, - "billingAddress": {
- "name": "string",
- "phone": "string",
- "companyName": "string",
- "companyId": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "zipCode": "string",
- "address": "string",
- "address2": "string"
}, - "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": [
- {
- "name": "Sales Tax",
- "total": 20,
- "applyToShipping": true,
- "rate": 10,
- "type": "PERCENT",
- "appliedToItems": [
- 0,
- 1,
- 2
]
}
], - "items": [
- {
- "id": 123,
- "name": "Running Shoes",
- "url": "running-shoes",
- "productId": 24,
- "type": "physical",
- "sku": "string",
- "quantity": 1,
- "total": 49,
- "weight": 0,
- "width": 0,
- "height": 0,
- "length": 0,
- "shippingRequired": true,
- "variation": [
- {
- "name": "string",
- "value": "string"
}
], - "additions": [
- {
- "name": "string",
- "value": "string"
}
]
}
], - "tags": [
- "string"
], - "additionalFields": [
- {
- "field": "string",
- "value": "string"
}
], - "notes": [
- {
- "time": 1686043751,
- "value": "Order Note Text Sample"
}
]
}
]
}| id required | integer Example: 1234 The id of the order. |
{- "id": 1234,
- "invoiceNo": 15,
- "created": 1573397217,
- "customerName": "John Doe",
- "customerEmail": "john@email.com",
- "contactId": 0,
- "memberId": 0,
- "shippingAddress": {
- "name": "string",
- "phone": "string",
- "companyName": "string",
- "companyId": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "zipCode": "string",
- "address": "string",
- "address2": "string"
}, - "billingAddress": {
- "name": "string",
- "phone": "string",
- "companyName": "string",
- "companyId": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "zipCode": "string",
- "address": "string",
- "address2": "string"
}, - "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": [
- {
- "name": "Sales Tax",
- "total": 20,
- "applyToShipping": true,
- "rate": 10,
- "type": "PERCENT",
- "appliedToItems": [
- 0,
- 1,
- 2
]
}
], - "items": [
- {
- "id": 123,
- "name": "Running Shoes",
- "url": "running-shoes",
- "productId": 24,
- "type": "physical",
- "sku": "string",
- "quantity": 1,
- "total": 49,
- "weight": 0,
- "width": 0,
- "height": 0,
- "length": 0,
- "shippingRequired": true,
- "variation": [
- {
- "name": "string",
- "value": "string"
}
], - "additions": [
- {
- "name": "string",
- "value": "string"
}
]
}
], - "tags": [
- "string"
], - "additionalFields": [
- {
- "field": "string",
- "value": "string"
}
], - "notes": [
- {
- "time": 1686043751,
- "value": "Order Note Text Sample"
}
]
}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.
| id required | integer Example: 1234 The id of the order. |
| 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. |
{- "customerName": "string",
- "customerEmail": "user@example.com",
- "billingAddress": {
- "name": "string",
- "phone": "string",
- "companyName": "string",
- "companyId": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "zipCode": "string",
- "address": "string",
- "address2": "string"
}, - "shippingAddress": {
- "name": "string",
- "phone": "string",
- "companyName": "string",
- "companyId": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "zipCode": "string",
- "address": "string",
- "address2": "string"
}, - "paymentMethod": "string",
- "transactionId": "string",
- "paid": true,
- "status": "PENDING",
- "fulfillment": {
- "courier": "UPS",
- "trackingNo": "123456789ABC",
}, - "notifyCustomer": true
}{- "id": 1234,
- "invoiceNo": 15,
- "created": 1573397217,
- "customerName": "John Doe",
- "customerEmail": "john@email.com",
- "contactId": 0,
- "memberId": 0,
- "shippingAddress": {
- "name": "string",
- "phone": "string",
- "companyName": "string",
- "companyId": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "zipCode": "string",
- "address": "string",
- "address2": "string"
}, - "billingAddress": {
- "name": "string",
- "phone": "string",
- "companyName": "string",
- "companyId": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "zipCode": "string",
- "address": "string",
- "address2": "string"
}, - "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": [
- {
- "name": "Sales Tax",
- "total": 20,
- "applyToShipping": true,
- "rate": 10,
- "type": "PERCENT",
- "appliedToItems": [
- 0,
- 1,
- 2
]
}
], - "items": [
- {
- "id": 123,
- "name": "Running Shoes",
- "url": "running-shoes",
- "productId": 24,
- "type": "physical",
- "sku": "string",
- "quantity": 1,
- "total": 49,
- "weight": 0,
- "width": 0,
- "height": 0,
- "length": 0,
- "shippingRequired": true,
- "variation": [
- {
- "name": "string",
- "value": "string"
}
], - "additions": [
- {
- "name": "string",
- "value": "string"
}
]
}
], - "tags": [
- "string"
], - "additionalFields": [
- {
- "field": "string",
- "value": "string"
}
], - "notes": [
- {
- "time": 1686043751,
- "value": "Order Note Text Sample"
}
]
}Get a paginated list of all form submissions in the website.
| 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. |
{- "totalCount": 1,
- "limit": 25,
- "skip": 0,
- "items": [
- {
- "name": "Contact form",
- "received": 1573120479,
- "fields": [
- {
- "name": "string",
- "value": "string"
}
]
}
]
}Access the details of all scheduled events via the booking features of each website or funnel.
Get a paginated list of booked sessions in the website / funnel.
| 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. |
{- "totalCount": 1,
- "limit": 25,
- "skip": 0,
- "items": [
- {
- "id": 206,
- "eventId": 98146,
- "contactId": 41,
- "name": "Jane Doe",
- "email": "jane@doe.com",
- "start": 1587936600,
- "end": 1587938400,
- "eventData": {
- "name": "My event",
- "location": "Skype"
}, - "operator": {
- "id": 51215,
- "name": "John Doe",
- "email": "john@doe.com"
}, - "service": {
- "id": 0,
- "name": "string"
}, - "formAnswers": [
- {
- "name": "string",
- "value": "string"
}
]
}
]
}Create a subscriber list for email marketing purposes.
| name required | string |
{- "name": "New List"
}{- "id": 87647751,
- "name": "My list",
- "created": 1613384738,
- "subscribers": 25,
- "opens": 0.85,
- "clicks": 0.41
}| id required | integer Example: 87647751 The id of the subscriber list. |
| name required | string |
{- "name": "New List"
}{- "id": 87647751,
- "name": "My list",
- "created": 1613384738,
- "subscribers": 25,
- "opens": 0.85,
- "clicks": 0.41
}Webhooks push automated notifications to your destination URL when important events occur in your website.
[- {
- "id": "rh_24488493954",
- "secret": "your-secret",
- "events": [
- "order_created",
- "order_updated"
]
}
]| 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" |
{- "secret": "your-secret",
- "events": [
- "order_created",
- "order_updated"
]
}{- "id": "rh_24488493954",
- "secret": "your-secret",
- "events": [
- "order_created",
- "order_updated"
]
}Fired when a new order is placed on the website.
| 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). |
{- "id": 1234,
- "invoiceNo": 15,
- "created": 1573397217,
- "customerName": "John Doe",
- "customerEmail": "john@email.com",
- "contactId": 0,
- "memberId": 0,
- "shippingAddress": {
- "name": "string",
- "phone": "string",
- "companyName": "string",
- "companyId": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "zipCode": "string",
- "address": "string",
- "address2": "string"
}, - "billingAddress": {
- "name": "string",
- "phone": "string",
- "companyName": "string",
- "companyId": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "zipCode": "string",
- "address": "string",
- "address2": "string"
}, - "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": [
- {
- "name": "Sales Tax",
- "total": 20,
- "applyToShipping": true,
- "rate": 10,
- "type": "PERCENT",
- "appliedToItems": [
- 0,
- 1,
- 2
]
}
], - "items": [
- {
- "id": 123,
- "name": "Running Shoes",
- "url": "running-shoes",
- "productId": 24,
- "type": "physical",
- "sku": "string",
- "quantity": 1,
- "total": 49,
- "weight": 0,
- "width": 0,
- "height": 0,
- "length": 0,
- "shippingRequired": true,
- "variation": [
- {
- "name": "string",
- "value": "string"
}
], - "additions": [
- {
- "name": "string",
- "value": "string"
}
]
}
], - "tags": [
- "string"
], - "additionalFields": [
- {
- "field": "string",
- "value": "string"
}
], - "notes": [
- {
- "time": 1686043751,
- "value": "Order Note Text Sample"
}
]
}Fired when an order is updated.
| 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). |
{- "id": 1234,
- "invoiceNo": 15,
- "created": 1573397217,
- "customerName": "John Doe",
- "customerEmail": "john@email.com",
- "contactId": 0,
- "memberId": 0,
- "shippingAddress": {
- "name": "string",
- "phone": "string",
- "companyName": "string",
- "companyId": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "zipCode": "string",
- "address": "string",
- "address2": "string"
}, - "billingAddress": {
- "name": "string",
- "phone": "string",
- "companyName": "string",
- "companyId": "string",
- "country": "string",
- "state": "string",
- "city": "string",
- "zipCode": "string",
- "address": "string",
- "address2": "string"
}, - "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": [
- {
- "name": "Sales Tax",
- "total": 20,
- "applyToShipping": true,
- "rate": 10,
- "type": "PERCENT",
- "appliedToItems": [
- 0,
- 1,
- 2
]
}
], - "items": [
- {
- "id": 123,
- "name": "Running Shoes",
- "url": "running-shoes",
- "productId": 24,
- "type": "physical",
- "sku": "string",
- "quantity": 1,
- "total": 49,
- "weight": 0,
- "width": 0,
- "height": 0,
- "length": 0,
- "shippingRequired": true,
- "variation": [
- {
- "name": "string",
- "value": "string"
}
], - "additions": [
- {
- "name": "string",
- "value": "string"
}
]
}
], - "tags": [
- "string"
], - "additionalFields": [
- {
- "field": "string",
- "value": "string"
}
], - "notes": [
- {
- "time": 1686043751,
- "value": "Order Note Text Sample"
}
]
}Fired when a new product is created.
| 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. |
{- "id": 111,
- "type": "physical",
- "title": "Interior Door",
- "description": "string",
- "url": "interior-door",
- "hidden": true,
- "categories": [
- {
- "id": 1,
- "name": "Doors",
- "url": "doors",
- "parentCategory": 0
}
], - "options": [
- {
- "name": "Material",
- "values": [
- "Wood",
- "Glass"
], - "advanced": true
}
], - "variants": [
- {
- "options": [
- "Wood",
- "Single"
], - "price": 199,
- "onSale": true,
- "regularPrice": 0,
- "salePrice": 0,
- "quantity": 0,
- "sku": "D-001",
- "weight": 0
}
], - "subscription": {
- "cycles": 0,
- "period": 0,
- "periodUnit": "WEEKLY"
},
}Fired when a product is updated.
| 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. |
{- "id": 111,
- "type": "physical",
- "title": "Interior Door",
- "description": "string",
- "url": "interior-door",
- "hidden": true,
- "categories": [
- {
- "id": 1,
- "name": "Doors",
- "url": "doors",
- "parentCategory": 0
}
], - "options": [
- {
- "name": "Material",
- "values": [
- "Wood",
- "Glass"
], - "advanced": true
}
], - "variants": [
- {
- "options": [
- "Wood",
- "Single"
], - "price": 199,
- "onSale": true,
- "regularPrice": 0,
- "salePrice": 0,
- "quantity": 0,
- "sku": "D-001",
- "weight": 0
}
], - "subscription": {
- "cycles": 0,
- "period": 0,
- "periodUnit": "WEEKLY"
},
}Fired when a form is submitted.
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. |
{- "website": {
- "id": 123,
- "subdomain": "some-subdomain",
- "systemDomain": "your-system.subdomain.com",
- "domain": "your-primary-domain.com"
}, - "contact": {
- "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": [
- {
- "name": "lead_status",
- "value": "contacted"
}
], - "tags": [
- "tag1",
- "tag2"
], - "memberId": 487,
- "subscribed": true,
- "subscriberLists": [
- 0,
- 87647751
]
}, - "formName": "Contact Form",
- "formValues": [
- {
- "field": "string",
- "value": "string"
}
]
}Fired when a new contact is created or an existing contact is updated.
| id | integer Unique identifier. |
| name | string Contact name. |
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). |
{- "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": [
- {
- "name": "lead_status",
- "value": "contacted"
}
], - "tags": [
- "tag1",
- "tag2"
], - "memberId": 487,
- "subscribed": true,
- "subscriberLists": [
- 0,
- 87647751
]
}Fired when a new booking is created.
| id | integer Unique booking (session) id. |
| eventId | integer Unique event id. |
| contactId | integer Unique contact id. |
| name | string Contact name. |
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. |
{- "id": 206,
- "eventId": 98146,
- "contactId": 41,
- "name": "Jane Doe",
- "email": "jane@doe.com",
- "start": 1587936600,
- "end": 1587938400,
- "eventData": {
- "name": "My event",
- "location": "Skype"
}, - "operator": {
- "id": 51215,
- "name": "John Doe",
- "email": "john@doe.com"
}, - "service": {
- "id": 0,
- "name": "string"
}, - "formAnswers": [
- {
- "name": "string",
- "value": "string"
}
]
}