Introduction

Overview

The Wix GraphQL API streamlines access to your site’s data through GraphQL.

GraphQL combines retrieving and editing data in one endpoint. This approach combines multiple calls into one and returns specific data. With GraphQL, the API response is clean, concise, and precisely tailored to the data that you need.

Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

We're actively working on improving the tool, adding features, and providing comprehensive documentation. Help us to improve by providing feedback and suggestions and join our community on our Discord server.

Key Concepts

  • Operation Types
  • The Wix GraphQL supports two operation types:
    • Query: Read operation. Allows you to retrieve specific data. Optimize your data selection by sorting, filtering, or paging a request. Read more about constructing a query.
    • Mutation: Write operation. Allows you to modify (create, update, delete) specific data.
  • Schema
  • A GraphQL server operates using schemas, defining how requests are processed and what data is provided in response. Schemas are very precise, so it’s very important for your query to align with the server’s schema. The objects section of the documentation outlines how to build your queries in alignment with the relevant schema.

Comparing a REST Call vs. a GraphQL Call

This section shows an example of how multiple REST API requests can be replaced with a single GraphQL query. In the GraphQL query, only relevant data is returned.

Our example retrieves the products from a site and the collections to which they belong. We will see the difference in the number of API calls and functions to filter the data.

This is the result we are looking for (or something similar):

                {  "items": [    {      "collections": {
                      "items": [
                        {
                          "name": "Collection 1"
                        },
                        {
                          "name": "Collection 3"
                        },
                        {
                          "name": "Collection 4"
                        }
                      ]
                    },
                    "name": "Product 1"
                  },
                  {
                    "collections": {
                      "items": [
                        {
                          "name": "Collection 3"
                        }
                      ]
                    },
                    "name": "Product 2"
                  },
                  {
                    "collections": {
                      "items": [
                        {
                          "name": "Collection 2"
                        },
                        {
                          "name": "Collection 4"
                        }
                      ]
                    },
                    "name": "Product 3"
                  }
                ]
              }
              

REST

To retrieve our data, through calling only the regular REST APIs, use the following steps.

  1. Call the Query Products endpoint. The response will contain all information about all products.
  2. Create an array with all of the IDs contained in the collectionIds array for each product.
  3. Call the Query Collections endpoint, with a filter to only return collections with an ID contained in the array of collections IDs. This returns all information about all relevant collections.
  4. For every collectionId in each product, retrieve the collection’s name.
  5. For each product, add a collections property containing an array of the relevant collection names.
  6. For each product, delete all properties except for its name and its collections.

GraphQL

To retrieve our data, through calling the Wix GraphQL API, use the following steps.

1. Call the Wix GraphQL API with the following query in the body of the request:

                query getProductsAndCollections {
                storesProductsV1Products {
                  items {
                    collections {
                      items {
                        name
                      }
                    }
                    name
                  }
                }
              }
              

2. Step 2? There is no Step 2 - you’re done! The API’s response will be exactly what you are looking for.

Conclusion

Using exclusively REST API calls took 6 steps, including 2 API calls and a bunch of logic, compared to a single GraphQL API call.

Access and Permissions

The Wix GraphQL API is a REST API, so the access and permission settings and rules for Wix GraphQL requests are exactly the same as for Wix REST API requests.

Read the relevant articles on authentication, authorization strategies, and permissions.

Learn More

You can learn more about GraphQL, its capabilities, and how to use it through the official GraphQL docs.


Constructing a GraphQL Request

The most essential component of GraphQL is how you build the request. The relationships between entities, defined in the schema, allow you to personalize your request. This makes your API calls efficient, and their responses clean. You can use the Wix GraphQL Explorer to practice creating requests.

The following steps will help you create GraphQL requests that shorten your response time and limit the response to the data you want.

Note: The following examples are simplified to display basic GraphQL concepts. For each query or location in the Wix GraphQL API, see the corresponding example and objects to understand the unique structure required.

Our example: Your site is for a restaurant with a lunch menu and a dinner menu. You want to retrieve the menus and the items on the menus, and then filter and sort the menus.

Operation Type and Name

Because we are retrieving information, not editing it, the operation type is query.

An appropriate operation name for this example is getMenus.

So our query will begin: query getMenus { ...

Data

  • For each menu, we want to retrieve the name of the menu, the times at which the menu is available, and the items on the menu.
  • For each item, we want to retrieve the name of the item and its price.
  • To build the data we want to retrieve into the query, we need to display the fields in a graph, in a similar format to below, which is the query built for our example.

Query:

                query getMenus {
                menus {
                  name
                  availableTimes
                  items {
                    name
                    price
                  }
                }
              }
              

Response:

                {  "data": {
                  "menus": [
                    {
                      "name": "Breakfast Menu",
                      "availableTimes": ["8:00 AM - 11:00 AM"],
                      "items": [
                        {
                          "name": "Pancakes",
                          "price": 9.99
                        },
                        {
                          "name": "Eggs Benedict",
                          "price": 12.50
                        },
                        {
                          "name": "Fruit Bowl",
                          "price": 6.99
                        }
                      ]
                    },
                    {
                      "name": "Lunch Menu",
                      "availableTimes": ["11:30 AM - 2:30 PM"],
                      "items": [
                        {
                          "name": "Caesar Salad",
                          "price": 8.99
                        },
                        {
                          "name": "Club Sandwich",
                          "price": 11.75
                        },
                        {
                          "name": "Soup of the Day",
                          "price": 6.50
                        }
                      ]
                    }
                  ]
                }
              }
              

Query Options

Next, we’ll limit/order the response by adding pagination, a filter, or a sort to the response. In our example, we will filter the response by name to include only the Breakfast Menu.

Query:

                query getMenus {
                menus(queryInput: {query: {filter: {name: "Breakfast Menu"} } } ) {
                  name
                  availableTimes
                  items {
                    name
                    price
                  }
                }
              }
              

Response:

                {  "data": {
                  "menus": [
                    {
                      "name": "Breakfast Menu",
                      "availableTimes": ["8:00 AM - 11:00 AM"],
                      "items": [
                        {
                          "name": "Fruit Bowl",
                          "price": 6.99
                        },
                        {
                          "name": "Pancakes",
                          "price": 9.99
                        },
                        {
                          "name": "Eggs Benedict",
                          "price": 12.50
                        }
                      ]
                    }
                  ]
                }
              }
              

Variables

We add variables by defining the variables in the query, and writing the variables JSON object, which is added as a parameter in the body of the request.

Note: All Wix GraphQL APIs support variables, documented within the Arguments section of each API’s documentation. Typically, these variables are structured as objects, often including nested objects. Therefore, it is very important that you follow the documentation when using variables in your request.

For our example, to retrieve only the breakfast menu using variables:

Query:

                    query getMenus ($menuName: String!) {
                        menus (name: $menuName) {
                          name
                          availableTimes
                          items {
                            name
                            price
                          }
                        }
                      }
                  

Variables object:

                    {"menuName": "Breakfast Menu"}
                  

Response:

                    {
                        "data": {
                          "menus": [
                            {
                              "name": "Breakfast Menu",
                              "availableTimes": ["8:00 AM - 11:00 AM"],
                              "items": [
                                {
                                  "name": "Pancakes",
                                  "price": 9.99
                                },
                                {
                                  "name": "Eggs Benedict",
                                  "price": 12.50
                                },
                                {
                                  "name": "Fruit Bowl",
                                  "price": 6.99
                                }
                              ]
                            }
                          ]
                        }
                      }
                  

When sending the request, ensure to format the body in the correct way.


Try Out the Wix GraphQL APIs

You can use the Wix GraphQL Explorer to try out the Wix APIs using GraphQL.

You can use the checkboxes and inputs in the Explorer tab located in the left side-panel to construct your query. This tool is very helpful, especially for beginners in GraphQL. It allows you to easily add, remove, filter, sort, and paginate fields and subfields. You can see how your changes affect the query visually, making it a great way to learn.

Launch the GraphQL Explorer in its own tab.

Using the Explorer with Your Sites or Apps

You can install the Wix GraphQL Explorer onto your Wix sites as an app, which runs the Explorer in an additional page in your dashboard. This is a great way to test and build queries for your sites and apps.

Important: The GraphQL Explorer works with your site or app’s data; running mutations in the GraphQL Explorer will change the data.

To use the Wix GraphQL Explorer on a site or app:

  1. Log in to your Wix account in your browser.
  2. Click this link, which will invite you to install the Wix GraphQL Explorer app.
  3. Click Install App.
  4. Choose a site on which to install the Explorer.
  5. Understand the changes that the Wix GraphQL Explorer can make to your site. Click Agree and Add.
  6. That opens your site’s dashboard to the Wix GraphQL Explorer tab in the left side-bar.
  7. Choose your Wix Identity for GraphQL Queries in the App.
  8. Now use the Wix GraphQL Explorer in the App!

Tutorial

Introduction

In this tutorial, we'll walk through the process of constructing a GraphQL query to fetch contact information for a site's locations, sorted in alphabetical order. For reference, the List Locations and Query Locations would be appropriate REST endpoints for this exercise using the Wix REST APIs.

Overview

In this tutorial, we will:

  1. Find and use the correct schema.
  2. Formulate our request to retrieve the data we want.
  3. Sort our results.
  4. Implement a variable.
Tip: Follow along in the documentation to understand where all of the information is found.

Step 1 | Choose the Correct Schema

  1. First, we’ll navigate to the module in the documentation, which is Business Tools > LocationsV1.
  2. We are attempting to retrieve information, not edit it, so let’s look under Queries rather than Mutations.
  3. Since we are retrieving multiple locations, we’ll open the documentation for Locations rather than Location.
  4. After checking the example on the right, it is clear that the schema is businessToolsLocationsV1Locations.

At this point, we have found the schema we'll use in our query.

Step 2 | Define the Data

In this step, we will define what data we want our request to return.

As we are attempting to retrieve the contact information, we will look for each location’s name, email address, phone number, and address.

  1. To understand how to format this in the query, let’s navigating to the LocationsLocation object.

  2. name, email, and phone are all at the top level of the object, but address contains an object, so now we’ll navigate to the LocationsAddress object.
  3. Here, we don’t need every property. Let’s retrieve only postalCode, country, city, and streetAddress. They are all at the top level of the object, except for streetAddress, so next we’ll navigate to the LocationsStreetAddress object.
  4. number, name, and apt are all at the top level, so now we know how to define our information in the schema.
  5. Now we can build the query. Let’s name it getLocations:

                  					query getLocations {
                  							  businessToolsLocationsV1Locations {
                  							    items {
                  							      name
                  							      email
                  							      phone
                  							      address {
                  							        country
                  							        city
                  							        postalCode
                  							        streetAddress {
                  							          number
                  							          name
                  							          apt
                  							        }
                  							      }
                  							    }
                  							  }
                  							}
                  				

We have now built a query which retrieves the data we are looking for.

Step 3 | Sort into Alphabetical Order

To sort data, we’ll add in a CommonQueryInput . To understand how to format the queryInput, we’ll read the documentation at CommonSortingInput .

To sort by alphabetically by name, we’ll need to assign "name" to fieldName and "ASC" to order. So our queryInput looks like this:

              				{"queryInput": {
              						  "query": {
              						    "sort": [
              						      {
              						        "fieldName": "name",
              						        "order": "ASC"
              						      }
              						    ]
              						  }
              						}
              		  
Note: Adding lines and indentation doesn’t affect the queryInput. Sometimes it looks cleaner to have the entire queryInput on one line in the GraphQL query.

After adding the sort, this is what our query looks like:

              				query getLocations {
              						  businessToolsLocationsV1Locations(queryInput: 
                      {query: {sort: {fieldName: "name", order: "ASC"}}}) {
              						    items {
              						      name
              						      email
              						      phone
              						      address {
              						        country
              						        city
              						        postalCode
              						        streetAddress {
              						          number
              						          name
              						          apt
              						        }
              						      }
              						    }
              						  }
              						}
              					
              				
              			

We have added a sort into our query that will return our results in alphabetical order.

Step 4 | Add a Variable

Instead of writing the queryInput directly in the query, let’s add a query input variable. To do this, we'll define the variable within an object, and assign it as the value of the variables parameter in the request body.

Important: Variables must be defined in a JSON format in the body of the request.

Luckily, the way to define a query parameter variable is clearly shown in the Wix documentation. For this example, in the Location Query.

So, now our query looks like this:

                    query getLocations($queryInput: LocationsQueryLocationsRequestInput) {
                        businessToolsLocationsV1Locations(queryInput: $queryInput) {
                          items {
                            email
                            name
                            phone
                            address {
                              country
                              city
                              postalCode
                              streetAddress {
                                number
                                name
                                apt
                              }
                            }
                          }
                        }
                      }
                  

The value of the variable parameter in the body of the request looks like this:

                    {"queryInput": {
                        "query": {
                          "sort": [
                            {
                              "fieldName": "name",
                              "order": "ASC"
                            }
                          ]
                        }
                      }}
                  

Our request is complete, as we have introduced a variable to sort our response.

Other Examples

Note: These examples are both Javascript specific.


Calling the Wix GraphQL API

The Wix GraphQL is exposed over REST, so you make calls to a REST API, with all the details for the GraphQL query in the body of the request.

  • Endpoint: Execute Wix GraphQL API calls through HTTP POST request to the following endpoint: https://www.wixapis.com/graphql/alpha.
  • Request Structure A standard GraphQL request should use the application/JSON content type, and should include a JSON-encoded body including the following parameters:

Since calling the Wix GraphQL API is a REST API call, the access and permissions settings are the same as for other Wix REST API calls, and the response and error codes also the same. Read through the REST API documentation for reference.

Queries

OAuthApp

Description

Retrieves an OAuth app by ID.

Response

Returns a HeadlessV1OAuthApp

Arguments
Name Description
queryInput - AuthManagementOAuthAppsV1OAuthAppRequestInput

Example

Query
query AuthManagementOAuthAppsV1OAuthApp($queryInput: AuthManagementOAuthAppsV1OAuthAppRequestInput) {
  authManagementOAuthAppsV1OAuthApp(queryInput: $queryInput) {
    allowedRedirectDomains
    allowedRedirectUris
    allowSecretGeneration
    applicationType
    createdDate
    description
    id
    loginUrl
    logoutUrl
    name
    secret
    technology
  }
}
Variables
{
  "queryInput": AuthManagementOAuthAppsV1OAuthAppRequestInput
}
Response
{
  "data": {
    "authManagementOAuthAppsV1OAuthApp": {
      "allowedRedirectDomains": ["abc123"],
      "allowedRedirectUris": ["xyz789"],
      "allowSecretGeneration": false,
      "applicationType": "OAUTH_APP_TYPE_UNSPECIFIED",
      "createdDate": "abc123",
      "description": "abc123",
      "id": "62b7b87d-a24a-434d-8666-e270489eac09",
      "loginUrl": "xyz789",
      "logoutUrl": "abc123",
      "name": "xyz789",
      "secret": "xyz789",
      "technology": "OAUTH_TECHNOLOGY_UNSPECIFIED"
    }
  }
}

OAuthApps

Description

Retrieves a list of OAuth apps, given the provided paging, filtering, and sorting.

Query OAuth Apps runs with these defaults, which you can override:

  • Results are sorted by id in descending order.
  • paging.offset is 0.

For field support for filters and sorting, see OAuth Apps: Supported Filters and Sorting

To learn about working with Query endpoints in general, see API Query Language.

Arguments
Name Description
queryInput - HeadlessV1QueryOAuthAppsRequestInput

Example

Query
query AuthManagementOAuthAppsV1OAuthApps($queryInput: HeadlessV1QueryOAuthAppsRequestInput) {
  authManagementOAuthAppsV1OAuthApps(queryInput: $queryInput) {
    items {
      ...HeadlessV1OAuthAppFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{"queryInput": HeadlessV1QueryOAuthAppsRequestInput}
Response
{
  "data": {
    "authManagementOAuthAppsV1OAuthApps": {
      "items": [HeadlessV1OAuthApp],
      "pageInfo": PageInfo
    }
  }
}

Mutations

CreateOAuthApp

Description

Creates a new OAuth app for a Wix Headless client.

Arguments
Name Description
input - HeadlessV1CreateOAuthAppRequestInput

Example

Query
mutation AuthManagementOAuthAppsV1CreateOAuthApp($input: HeadlessV1CreateOAuthAppRequestInput) {
  authManagementOAuthAppsV1CreateOAuthApp(input: $input) {
    oAuthApp {
      ...HeadlessV1OAuthAppFragment
    }
  }
}
Variables
{"input": HeadlessV1CreateOAuthAppRequestInput}
Response
{
  "data": {
    "authManagementOAuthAppsV1CreateOAuthApp": {
      "oAuthApp": HeadlessV1OAuthApp
    }
  }
}

DeleteOAuthApp

Description

Deletes an OAuth app by ID.

Note: After you delete an OAuth app, an external client can no longer make API calls by authenticating with its client ID.

Response

Returns a Void

Arguments
Name Description
input - HeadlessV1DeleteOAuthAppRequestInput

Example

Query
mutation AuthManagementOAuthAppsV1DeleteOAuthApp($input: HeadlessV1DeleteOAuthAppRequestInput) {
  authManagementOAuthAppsV1DeleteOAuthApp(input: $input)
}
Variables
{"input": HeadlessV1DeleteOAuthAppRequestInput}
Response
{"data": {"authManagementOAuthAppsV1DeleteOAuthApp": null}}

GenerateOAuthAppSecret

Description

Generates a secret for an existing OAuth app.

Note: You can only generate a secret once for each OAuth app, and the secret can't be retrieved later. Store the secret securely.

Arguments
Name Description
input - HeadlessV1GenerateOAuthAppSecretRequestInput

Example

Query
mutation AuthManagementOAuthAppsV1GenerateOAuthAppSecret($input: HeadlessV1GenerateOAuthAppSecretRequestInput) {
  authManagementOAuthAppsV1GenerateOAuthAppSecret(input: $input) {
    oAuthAppSecret
  }
}
Variables
{"input": HeadlessV1GenerateOAuthAppSecretRequestInput}
Response
{
  "data": {
    "authManagementOAuthAppsV1GenerateOAuthAppSecret": {
      "oAuthAppSecret": "xyz789"
    }
  }
}

UpdateOAuthApp

Description

Updates an OAuth app.

Only fields provided in mask.paths are updated.

You can update the following fields:

  • name
  • description
  • allowedDomain
  • loginUrl
  • logoutUrl
  • technology
Arguments
Name Description
input - HeadlessV1UpdateOAuthAppRequestInput

Example

Query
mutation AuthManagementOAuthAppsV1UpdateOAuthApp($input: HeadlessV1UpdateOAuthAppRequestInput) {
  authManagementOAuthAppsV1UpdateOAuthApp(input: $input) {
    oAuthApp {
      ...HeadlessV1OAuthAppFragment
    }
  }
}
Variables
{"input": HeadlessV1UpdateOAuthAppRequestInput}
Response
{
  "data": {
    "authManagementOAuthAppsV1UpdateOAuthApp": {
      "oAuthApp": HeadlessV1OAuthApp
    }
  }
}

Queries

Categories

Description

Retrieves a list of up to 100 categories, given the provided paging, filtering, and sorting. Query Categories runs with these defaults, which you can override.

  • displayPosition is sorted in DESC order.
  • paging.limit is 50.
  • paging.offset is 0.

For field support for filters and sorting, see Field Support for Filtering and Sorting.

To learn about working with Query endpoints, see API Query Language, Sorting and Paging, and Field Projection.

Example

Query
query BlogCategoriesV3Categories($queryInput: NpmCommunitiesPlatformizedBlogV3QueryCategoriesRequestInput) {
  blogCategoriesV3Categories(queryInput: $queryInput) {
    items {
      ...NpmCommunitiesPlatformizedBlogV3CategoryFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{
  "queryInput": NpmCommunitiesPlatformizedBlogV3QueryCategoriesRequestInput
}
Response
{
  "data": {
    "blogCategoriesV3Categories": {
      "items": [NpmCommunitiesPlatformizedBlogV3Category],
      "pageInfo": PageInfo
    }
  }
}

Category

Description

Gets a category with the provided ID.

Arguments
Name Description
queryInput - BlogCategoriesV3CategoryRequestInput

Example

Query
query BlogCategoriesV3Category($queryInput: BlogCategoriesV3CategoryRequestInput) {
  blogCategoriesV3Category(queryInput: $queryInput) {
    coverImage {
      ...CommonImageFragment
    }
    description
    displayPosition
    id
    internalId
    label
    language
    postCount
    rank
    seoData {
      ...AdvancedSeoSeoSchemaFragment
    }
    slug
    title
    translationId
    updatedDate
    url {
      ...CommonPageUrlFragment
    }
  }
}
Variables
{"queryInput": BlogCategoriesV3CategoryRequestInput}
Response
{
  "data": {
    "blogCategoriesV3Category": {
      "coverImage": CommonImage,
      "description": "xyz789",
      "displayPosition": 987,
      "id": "62b7b87d-a24a-434d-8666-e270489eac09",
      "internalId": "abc123",
      "label": "abc123",
      "language": "abc123",
      "postCount": 987,
      "rank": 123,
      "seoData": AdvancedSeoSeoSchema,
      "slug": "xyz789",
      "title": "xyz789",
      "translationId": "62b7b87d-a24a-434d-8666-e270489eac09",
      "updatedDate": "abc123",
      "url": CommonPageUrl
    }
  }
}

Mutations

GetCategoryBySlug

Description

Gets a category with the provided slug.

Example

Query
mutation BlogCategoriesV3GetCategoryBySlug($input: NpmCommunitiesPlatformizedBlogV3GetCategoryBySlugRequestInput) {
  blogCategoriesV3GetCategoryBySlug(input: $input) {
    category {
      ...NpmCommunitiesPlatformizedBlogV3CategoryFragment
    }
  }
}
Variables
{
  "input": NpmCommunitiesPlatformizedBlogV3GetCategoryBySlugRequestInput
}
Response
{
  "data": {
    "blogCategoriesV3GetCategoryBySlug": {
      "category": NpmCommunitiesPlatformizedBlogV3Category
    }
  }
}

ListCategories

Description

Retrieves a list of up to 100 categories per request.

List Categories runs with these defaults, which you can override:

  • paging.limit is 50.
  • paging.offset is 0.

List Categories is sorted by displayPosition in descending order. This cannot be overridden.

Example

Query
mutation BlogCategoriesV3ListCategories($input: NpmCommunitiesPlatformizedBlogV3ListCategoriesRequestInput) {
  blogCategoriesV3ListCategories(input: $input) {
    categories {
      ...NpmCommunitiesPlatformizedBlogV3CategoryFragment
    }
    metaData {
      ...NpmCommunitiesPlatformizedBlogMetaDataFragment
    }
  }
}
Variables
{
  "input": NpmCommunitiesPlatformizedBlogV3ListCategoriesRequestInput
}
Response
{
  "data": {
    "blogCategoriesV3ListCategories": {
      "categories": [
        NpmCommunitiesPlatformizedBlogV3Category
      ],
      "metaData": NpmCommunitiesPlatformizedBlogMetaData
    }
  }
}

Queries

Post

Description

Gets a post by the specified ID.

Arguments
Name Description
queryInput - BlogPostsV3PostRequestInput

Example

Query
query BlogPostsV3Post($queryInput: BlogPostsV3PostRequestInput) {
  blogPostsV3Post(queryInput: $queryInput) {
    categoryIds
    commentingEnabled
    contactId
    content
    contentId
    contentText
    coverMedia {
      ...NpmCommunitiesPlatformizedBlogCoverMediaFragment
    }
    excerpt
    featured
    firstPublishedDate
    hashtags
    hasUnpublishedChanges
    heroImage {
      ...CommonImageFragment
    }
    id
    internalCategoryIds
    internalId
    internalRelatedPostIds
    language
    lastPublishedDate
    media {
      ...NpmCommunitiesPlatformizedBlogMediaFragment
    }
    memberId
    minutesToRead
    moderationDetails {
      ...NpmCommunitiesPlatformizedBlogV3ModerationDetailsFragment
    }
    mostRecentContributorId
    pinned
    preview
    pricingPlanIds
    relatedPostIds
    richContent {
      ...RichContentV1RichContentFragment
    }
    richContentString
    seoData {
      ...AdvancedSeoSeoSchemaFragment
    }
    slug
    tagIds
    title
    translationId
    url {
      ...CommonPageUrlFragment
    }
  }
}
Variables
{"queryInput": BlogPostsV3PostRequestInput}
Response
{
  "data": {
    "blogPostsV3Post": {
      "categoryIds": ["xyz789"],
      "commentingEnabled": false,
      "contactId": "62b7b87d-a24a-434d-8666-e270489eac09",
      "content": "abc123",
      "contentId": "xyz789",
      "contentText": "abc123",
      "coverMedia": NpmCommunitiesPlatformizedBlogCoverMedia,
      "excerpt": "abc123",
      "featured": true,
      "firstPublishedDate": "xyz789",
      "hashtags": ["xyz789"],
      "hasUnpublishedChanges": false,
      "heroImage": CommonImage,
      "id": "62b7b87d-a24a-434d-8666-e270489eac09",
      "internalCategoryIds": ["xyz789"],
      "internalId": "abc123",
      "internalRelatedPostIds": ["abc123"],
      "language": "abc123",
      "lastPublishedDate": "xyz789",
      "media": NpmCommunitiesPlatformizedBlogMedia,
      "memberId": "62b7b87d-a24a-434d-8666-e270489eac09",
      "minutesToRead": 123,
      "moderationDetails": NpmCommunitiesPlatformizedBlogV3ModerationDetails,
      "mostRecentContributorId": "62b7b87d-a24a-434d-8666-e270489eac09",
      "pinned": false,
      "preview": false,
      "pricingPlanIds": ["xyz789"],
      "relatedPostIds": ["abc123"],
      "richContent": RichContentV1RichContent,
      "richContentString": "xyz789",
      "seoData": AdvancedSeoSeoSchema,
      "slug": "abc123",
      "tagIds": ["abc123"],
      "title": "abc123",
      "translationId": "62b7b87d-a24a-434d-8666-e270489eac09",
      "url": CommonPageUrl
    }
  }
}

Posts

Description

Retrieves a list of up to 100 posts, given the provided paging, filtering, and sorting.

Query Posts runs with these defaults, which you can override:

  • firstPublishedDate is sorted in descending order, with pinned posts first.
  • paging.limit is 50.
  • paging.offset is 0.

For field support for filters and sorting, see Field Support for Filtering and Sorting.

To learn about working with Query endpoints, see API Query Language, Sorting and Paging, and Field Projection. For a detailed list of supported filters and sortable fields, see Field Support for Filtering and Sorting.

Example

Query
query BlogPostsV3Posts($queryInput: NpmCommunitiesPlatformizedBlogV3QueryPostsRequestInput) {
  blogPostsV3Posts(queryInput: $queryInput) {
    items {
      ...NpmCommunitiesPlatformizedBlogV3PostFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{
  "queryInput": NpmCommunitiesPlatformizedBlogV3QueryPostsRequestInput
}
Response
{
  "data": {
    "blogPostsV3Posts": {
      "items": [NpmCommunitiesPlatformizedBlogV3Post],
      "pageInfo": PageInfo
    }
  }
}

Mutations

GetPostBySlug

Description

Gets a post with the provided slug.

Example

Query
mutation BlogPostsV3GetPostBySlug($input: NpmCommunitiesPlatformizedBlogV3GetPostBySlugRequestInput) {
  blogPostsV3GetPostBySlug(input: $input) {
    post {
      ...NpmCommunitiesPlatformizedBlogV3PostFragment
    }
  }
}
Variables
{
  "input": NpmCommunitiesPlatformizedBlogV3GetPostBySlugRequestInput
}
Response
{
  "data": {
    "blogPostsV3GetPostBySlug": {
      "post": NpmCommunitiesPlatformizedBlogV3Post
    }
  }
}

GetPostMetrics

Description

Gets a specified post's metrics.

Example

Query
mutation BlogPostsV3GetPostMetrics($input: NpmCommunitiesPlatformizedBlogV3GetPostMetricsRequestInput) {
  blogPostsV3GetPostMetrics(input: $input) {
    metrics {
      ...NpmCommunitiesPlatformizedBlogV3MetricsFragment
    }
  }
}
Variables
{
  "input": NpmCommunitiesPlatformizedBlogV3GetPostMetricsRequestInput
}
Response
{
  "data": {
    "blogPostsV3GetPostMetrics": {
      "metrics": NpmCommunitiesPlatformizedBlogV3Metrics
    }
  }
}

GetTotalPosts

Description

Gets the total amount of published posts of the blog.

Example

Query
mutation BlogPostsV3GetTotalPosts($input: NpmCommunitiesPlatformizedBlogGetTotalPostsRequestInput) {
  blogPostsV3GetTotalPosts(input: $input) {
    total
  }
}
Variables
{
  "input": NpmCommunitiesPlatformizedBlogGetTotalPostsRequestInput
}
Response
{"data": {"blogPostsV3GetTotalPosts": {"total": 987}}}

ListPosts

Description

Retrieves a list of up to 100 published posts per request.

List Posts runs with these defaults, which you can override:

  • firstPublishedDate is sorted in descending order, with pinned posts first.
  • paging.limit is 50.
  • paging.offset is 0.

Example

Query
mutation BlogPostsV3ListPosts($input: NpmCommunitiesPlatformizedBlogV3ListPostsRequestInput) {
  blogPostsV3ListPosts(input: $input) {
    metaData {
      ...NpmCommunitiesPlatformizedBlogMetaDataFragment
    }
    posts {
      ...NpmCommunitiesPlatformizedBlogV3PostFragment
    }
  }
}
Variables
{
  "input": NpmCommunitiesPlatformizedBlogV3ListPostsRequestInput
}
Response
{
  "data": {
    "blogPostsV3ListPosts": {
      "metaData": NpmCommunitiesPlatformizedBlogMetaData,
      "posts": [NpmCommunitiesPlatformizedBlogV3Post]
    }
  }
}

QueryPostCountStats

Description

Retrieves the number of published posts per month within a specified time range.

The time range is set using the rangeStart and months properties. The time range always starts on the 1st day of the month set in rangeStart and includes the number of months following rangeStart. For example, if rangeStart is set to '2022-03-13' and months is set to 4, the time range will be from '2022-03-01' until '2022-06-30'. The time range always ends on the last day of the month.

Note: If there are no published posts in a month within the time range, that month is not included in the response. For example, let's say a blog has 0 posts dated in February 2022. If rangeStart is set to '2022-01-01' and months is set to 3, the response includes postCount values for January and March, but not February.

Example

Query
mutation BlogPostsV3QueryPostCountStats($input: NpmCommunitiesPlatformizedBlogQueryPostCountStatsRequestInput) {
  blogPostsV3QueryPostCountStats(input: $input) {
    stats {
      ...NpmCommunitiesPlatformizedBlogPeriodPostCountFragment
    }
  }
}
Variables
{
  "input": NpmCommunitiesPlatformizedBlogQueryPostCountStatsRequestInput
}
Response
{
  "data": {
    "blogPostsV3QueryPostCountStats": {
      "stats": [
        NpmCommunitiesPlatformizedBlogPeriodPostCount
      ]
    }
  }
}

Queries

Tag

Description

Gets a tag with the provided ID.

Arguments
Name Description
queryInput - BlogTagsV3TagRequestInput

Example

Query
query BlogTagsV3Tag($queryInput: BlogTagsV3TagRequestInput) {
  blogTagsV3Tag(queryInput: $queryInput) {
    createdDate
    id
    label
    language
    postCount
    publicationCount
    publishedPostCount
    slug
    translationId
    updatedDate
    url {
      ...CommonPageUrlFragment
    }
  }
}
Variables
{"queryInput": BlogTagsV3TagRequestInput}
Response
{
  "data": {
    "blogTagsV3Tag": {
      "createdDate": "abc123",
      "id": "62b7b87d-a24a-434d-8666-e270489eac09",
      "label": "xyz789",
      "language": "xyz789",
      "postCount": 123,
      "publicationCount": 123,
      "publishedPostCount": 123,
      "slug": "abc123",
      "translationId": "62b7b87d-a24a-434d-8666-e270489eac09",
      "updatedDate": "xyz789",
      "url": CommonPageUrl
    }
  }
}

Tags

Description

Retrieves a list of up to 500 tags, given the provided paging, filtering, and sorting.

Query Posts runs wuth these defaults, which you can override:

  • postCount is sorted in DESC order.
  • paging.limit is 50.
  • paging.offset is 0.

For field support for filters and sorting, see Field Support for Filtering and Sorting.

To learn about working with Query endpoints, see API Query Language, Sorting and Paging, and Field Projection. For a detailed list of supported filters and sortable fields, see Field Support for Filtering and Sorting.

Example

Query
query BlogTagsV3Tags($queryInput: NpmCommunitiesPlatformizedBlogQueryTagsRequestInput) {
  blogTagsV3Tags(queryInput: $queryInput) {
    items {
      ...NpmCommunitiesPlatformizedBlogTagFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{
  "queryInput": NpmCommunitiesPlatformizedBlogQueryTagsRequestInput
}
Response
{
  "data": {
    "blogTagsV3Tags": {
      "items": [NpmCommunitiesPlatformizedBlogTag],
      "pageInfo": PageInfo
    }
  }
}

Mutations

CreateTag

Description

Creates a new tag with the provided label if a tag with the same label doesn't already exist.

Example

Query
mutation BlogTagsV3CreateTag($input: NpmCommunitiesPlatformizedBlogCreateTagRequestInput) {
  blogTagsV3CreateTag(input: $input) {
    tag {
      ...NpmCommunitiesPlatformizedBlogTagFragment
    }
  }
}
Variables
{
  "input": NpmCommunitiesPlatformizedBlogCreateTagRequestInput
}
Response
{
  "data": {
    "blogTagsV3CreateTag": {
      "tag": NpmCommunitiesPlatformizedBlogTag
    }
  }
}

DeleteTag

Description

Deletes a tag. Deleting a tag removes that tag from all blog posts that contain it.

Response

Returns a Void

Arguments
Name Description
input - NpmCommunitiesPlatformizedBlogDeleteTagRequestInput

Example

Query
mutation BlogTagsV3DeleteTag($input: NpmCommunitiesPlatformizedBlogDeleteTagRequestInput) {
  blogTagsV3DeleteTag(input: $input)
}
Variables
{
  "input": NpmCommunitiesPlatformizedBlogDeleteTagRequestInput
}
Response
{"data": {"blogTagsV3DeleteTag": null}}

GetTagByLabel

Description

Gets a tag by the provided label.

Sub-labels can also be specified using a /. For example, you can have 'dessert/icecream' and 'dessert/pie' as two different tag labels.

Note: The full URL path following labels/ is counted as 1 label. Adding a / to a label does not create multiple labels. This means that 'dessert/icecream' is a sinlge label.

Example

Query
mutation BlogTagsV3GetTagByLabel($input: NpmCommunitiesPlatformizedBlogGetTagByLabelRequestInput) {
  blogTagsV3GetTagByLabel(input: $input) {
    tag {
      ...NpmCommunitiesPlatformizedBlogTagFragment
    }
  }
}
Variables
{
  "input": NpmCommunitiesPlatformizedBlogGetTagByLabelRequestInput
}
Response
{
  "data": {
    "blogTagsV3GetTagByLabel": {
      "tag": NpmCommunitiesPlatformizedBlogTag
    }
  }
}

GetTagBySlug

Description

Gets a tag with the provided slug.

Example

Query
mutation BlogTagsV3GetTagBySlug($input: NpmCommunitiesPlatformizedBlogGetTagBySlugRequestInput) {
  blogTagsV3GetTagBySlug(input: $input) {
    tag {
      ...NpmCommunitiesPlatformizedBlogTagFragment
    }
  }
}
Variables
{
  "input": NpmCommunitiesPlatformizedBlogGetTagBySlugRequestInput
}
Response
{
  "data": {
    "blogTagsV3GetTagBySlug": {
      "tag": NpmCommunitiesPlatformizedBlogTag
    }
  }
}

Mutations

Get

Arguments
Name Description
input - Void

Example

Query
mutation BookingsV1Get($input: Void) {
  bookingsV1Get(input: $input) {
    policy {
      ...BookingsServicesV1BusinessServicesPolicyFragment
    }
  }
}
Variables
{"input": null}
Response
{
  "data": {
    "bookingsV1Get": {
      "policy": BookingsServicesV1BusinessServicesPolicy
    }
  }
}

Update

Response

Returns a Void

Arguments
Name Description
input - BookingsServicesV1UpdatePolicyRequestInput

Example

Query
mutation BookingsV1Update($input: BookingsServicesV1UpdatePolicyRequestInput) {
  bookingsV1Update(input: $input)
}
Variables
{"input": BookingsServicesV1UpdatePolicyRequestInput}
Response
{"data": {"bookingsV1Update": null}}

Queries

Attendance

Description

Retrieves attendance information by ID.

Response

Returns a BookingsAttendanceV2Attendance

Arguments
Name Description
queryInput - BookingsAttendanceV2AttendanceRequestInput

Example

Query
query BookingsAttendanceV2Attendance($queryInput: BookingsAttendanceV2AttendanceRequestInput) {
  bookingsAttendanceV2Attendance(queryInput: $queryInput) {
    bookingId
    id
    numberOfAttendees
    sessionId
    status
  }
}
Variables
{"queryInput": BookingsAttendanceV2AttendanceRequestInput}
Response
{
  "data": {
    "bookingsAttendanceV2Attendance": {
      "bookingId": "62b7b87d-a24a-434d-8666-e270489eac09",
      "id": "62b7b87d-a24a-434d-8666-e270489eac09",
      "numberOfAttendees": 123,
      "sessionId": "xyz789",
      "status": "NOT_SET"
    }
  }
}

Queries

Attendances

Description

Retrieves attendance information for booked sessions, given the provided paging, filtering, and sorting.

When querying attendance information, you can query from the perspective of:

  • A booking. Specify a booking ID to retrieve attendance information for all sessions related to that booking.
  • A session. Specify a session ID to retrieve attendance information for all bookings related to that session.

For example, query by a course's bookingId and status = "NOT_ATTENDED" to retrieve the attendance of a given participant in a course. For example, this query helps you determine if a participant booked the course but did not attend most of its sessions, taking away spots for other potential participants.

Query Attendance runs with the following defaults, which you can override:

  • id sorted in ASC order
  • cursorPaging.limit is 50

For field support, see supported filters.

Notes:

  • Another way to retrieve attendance information is to call Bookings Reader V2's Query Extended Bookings with withBookingAttendanceDetails as true.
  • Up to 100 results can be returned per request.
  • Only 1 filter is supported per query. If you define multiple filters in the same query, only the first is processed.

To learn about working with query endpoints, see API Query Language.

Arguments
Name Description
queryInput - BookingsAttendanceV2QueryAttendanceRequestInput

Example

Query
query BookingsAttendanceV2Attendances($queryInput: BookingsAttendanceV2QueryAttendanceRequestInput) {
  bookingsAttendanceV2Attendances(queryInput: $queryInput) {
    items {
      ...BookingsAttendanceV2AttendanceFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{
  "queryInput": BookingsAttendanceV2QueryAttendanceRequestInput
}
Response
{
  "data": {
    "bookingsAttendanceV2Attendances": {
      "items": [BookingsAttendanceV2Attendance],
      "pageInfo": PageInfo
    }
  }
}

Mutations

BulkSetAttendance

Description

Sets information about whether a booking's session was attended for multiple bookings

See SetAttendance documentation for more information.

If any of the attendance list required fields were not passed on the request or if the caller doesn't have the required permissions to set the attendance, the call fails. If the request contains attendance info for unavailable sessions, the call completes successfully but the attendance info for the unavailable sessions are not created and are not considered as failures in the response.

Example

Query
mutation BookingsAttendanceV2BulkSetAttendance($input: BookingsAttendanceV2BulkSetAttendanceRequestInput) {
  bookingsAttendanceV2BulkSetAttendance(input: $input) {
    bulkActionMetadata {
      ...CommonBulkActionMetadataFragment
    }
    results {
      ...BookingsAttendanceV2BulkAttendanceResultFragment
    }
  }
}
Variables
{
  "input": BookingsAttendanceV2BulkSetAttendanceRequestInput
}
Response
{
  "data": {
    "bookingsAttendanceV2BulkSetAttendance": {
      "bulkActionMetadata": CommonBulkActionMetadata,
      "results": [
        BookingsAttendanceV2BulkAttendanceResult
      ]
    }
  }
}

SetAttendance

Description

Sets information about whether a booking's session was attended. This information is saved in an Attendance object.

If attendance was already set, meaning the Attendance object already exists, the existing attendance information is updated. Otherwise, a new Attendance object is created.

By default, the number of attendees is set to 1, but you can set a number to greater than 1 if multiple participants attended. Do not set to 0 to indicate that no one attended the session. Instead, set the status field to NOT_ATTENDED.

Note: Make sure your code validates that:

  • There is no mismatch between numberOfAttendees and attendanceStatus to make sure, for example, that attendanceStatus is not NOT_ATTENDED while numberOfAttendees is 5.
  • The attendance's numberOfAttendees and the booking's numberOfParticipants correspond. For example, the number of attendees usually should not exceed the booking's intended number of participants (unless perhaps you allow walk-ins that did not sign up in advance).

Example

Query
mutation BookingsAttendanceV2SetAttendance($input: BookingsAttendanceV2SetAttendanceRequestInput) {
  bookingsAttendanceV2SetAttendance(input: $input) {
    attendance {
      ...BookingsAttendanceV2AttendanceFragment
    }
  }
}
Variables
{"input": BookingsAttendanceV2SetAttendanceRequestInput}
Response
{
  "data": {
    "bookingsAttendanceV2SetAttendance": {
      "attendance": BookingsAttendanceV2Attendance
    }
  }
}

Queries

BookingPolicies

Description

Retrieves a list of booking policies, given the provided paging, filtering, and sorting.

Query Booking Policies runs with these defaults, which you can override:

  • createdDate is sorted in {{DESC,ASC}} order
  • paging.limit is 100
  • paging.offset is 100

For field support for filters and sorting, see Booking Policies: Supported Filters and Sorting](link/to/article).

To learn about working with Query endpoints, see API Query Language, Sorting and Paging, and Field Projection.

Arguments
Name Description
queryInput - BookingsV1QueryBookingPoliciesRequestInput

Example

Query
query BookingsBookingPoliciesV1BookingPolicies($queryInput: BookingsV1QueryBookingPoliciesRequestInput) {
  bookingsBookingPoliciesV1BookingPolicies(queryInput: $queryInput) {
    items {
      ...BookingsV1BookingPolicyFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{"queryInput": BookingsV1QueryBookingPoliciesRequestInput}
Response
{
  "data": {
    "bookingsBookingPoliciesV1BookingPolicies": {
      "items": [BookingsV1BookingPolicy],
      "pageInfo": PageInfo
    }
  }
}

BookingPolicy

Description

Retrieves booking policy by ID.

Response

Returns a BookingsV1BookingPolicy

Arguments
Name Description
queryInput - BookingsBookingPoliciesV1BookingPolicyRequestInput

Example

Query
query BookingsBookingPoliciesV1BookingPolicy($queryInput: BookingsBookingPoliciesV1BookingPolicyRequestInput) {
  bookingsBookingPoliciesV1BookingPolicy(queryInput: $queryInput) {
    bookAfterStartPolicy {
      ...BookingsV1BookAfterStartPolicyFragment
    }
    cancellationFeePolicy {
      ...BookingsV1CancellationFeePolicyFragment
    }
    cancellationPolicy {
      ...BookingsV1CancellationPolicyFragment
    }
    createdDate
    customPolicyDescription {
      ...BookingsV1PolicyDescriptionFragment
    }
    default
    id
    limitEarlyBookingPolicy {
      ...BookingsV1LimitEarlyBookingPolicyFragment
    }
    limitLateBookingPolicy {
      ...BookingsV1LimitLateBookingPolicyFragment
    }
    name
    participantsPolicy {
      ...BookingsV1ParticipantsPolicyFragment
    }
    reschedulePolicy {
      ...BookingsV1ReschedulePolicyFragment
    }
    resourcesPolicy {
      ...BookingsV1ResourcesPolicyFragment
    }
    revision
    saveCreditCardPolicy {
      ...BookingsV1SaveCreditCardPolicyFragment
    }
    updatedDate
    waitlistPolicy {
      ...BookingsV1WaitlistPolicyFragment
    }
  }
}
Variables
{
  "queryInput": BookingsBookingPoliciesV1BookingPolicyRequestInput
}
Response
{
  "data": {
    "bookingsBookingPoliciesV1BookingPolicy": {
      "bookAfterStartPolicy": BookingsV1BookAfterStartPolicy,
      "cancellationFeePolicy": BookingsV1CancellationFeePolicy,
      "cancellationPolicy": BookingsV1CancellationPolicy,
      "createdDate": "abc123",
      "customPolicyDescription": BookingsV1PolicyDescription,
      "default": true,
      "id": "62b7b87d-a24a-434d-8666-e270489eac09",
      "limitEarlyBookingPolicy": BookingsV1LimitEarlyBookingPolicy,
      "limitLateBookingPolicy": BookingsV1LimitLateBookingPolicy,
      "name": "xyz789",
      "participantsPolicy": BookingsV1ParticipantsPolicy,
      "reschedulePolicy": BookingsV1ReschedulePolicy,
      "resourcesPolicy": BookingsV1ResourcesPolicy,
      "revision": {},
      "saveCreditCardPolicy": BookingsV1SaveCreditCardPolicy,
      "updatedDate": "xyz789",
      "waitlistPolicy": BookingsV1WaitlistPolicy
    }
  }
}

Mutations

CountBookingPolicies

Description

Counts booking policies, given the provided filtering.

Arguments
Name Description
input - BookingsV1CountBookingPoliciesRequestInput

Example

Query
mutation BookingsBookingPoliciesV1CountBookingPolicies($input: BookingsV1CountBookingPoliciesRequestInput) {
  bookingsBookingPoliciesV1CountBookingPolicies(input: $input) {
    count
  }
}
Variables
{"input": BookingsV1CountBookingPoliciesRequestInput}
Response
{"data": {"bookingsBookingPoliciesV1CountBookingPolicies": {"count": 987}}}

CreateBookingPolicy

Description

Creates a new booking policy.

Arguments
Name Description
input - BookingsV1CreateBookingPolicyRequestInput

Example

Query
mutation BookingsBookingPoliciesV1CreateBookingPolicy($input: BookingsV1CreateBookingPolicyRequestInput) {
  bookingsBookingPoliciesV1CreateBookingPolicy(input: $input) {
    bookingPolicy {
      ...BookingsV1BookingPolicyFragment
    }
  }
}
Variables
{"input": BookingsV1CreateBookingPolicyRequestInput}
Response
{
  "data": {
    "bookingsBookingPoliciesV1CreateBookingPolicy": {
      "bookingPolicy": BookingsV1BookingPolicy
    }
  }
}

DeleteBookingPolicy

Description

Deletes a Booking Policy.

The default Booking policy cannot be deleted, to delete it, another Booking Policy must be (set as default)[https://dev.wix.com/docs/rest/api-reference/wix-bookings/services/booking-policy/set-default-booking-policy].

Response

Returns a Void

Arguments
Name Description
input - BookingsV1DeleteBookingPolicyRequestInput

Example

Query
mutation BookingsBookingPoliciesV1DeleteBookingPolicy($input: BookingsV1DeleteBookingPolicyRequestInput) {
  bookingsBookingPoliciesV1DeleteBookingPolicy(input: $input)
}
Variables
{"input": BookingsV1DeleteBookingPolicyRequestInput}
Response
{"data": {"bookingsBookingPoliciesV1DeleteBookingPolicy": null}}

GetStrictestBookingPolicy

Description

Retrieves the strictest rules between a set of Booking Policies.

This endpoint checks each rule of the given Booking Policies for the most strict option and and returns a booking policy consisting of the most strict option for each rule. The Booking Policy Object returned is not created, it does not have an id and their information is not stored. You can call (Create Booking Policy)[https://dev.wix.com/docs/rest/api-reference/wix-bookings/services/booking-policy/create-booking-policy] with that object information to create it.

Example

Query
mutation BookingsBookingPoliciesV1GetStrictestBookingPolicy($input: BookingsV1GetStrictestBookingPolicyRequestInput) {
  bookingsBookingPoliciesV1GetStrictestBookingPolicy(input: $input) {
    bookingPolicy {
      ...BookingsV1BookingPolicyFragment
    }
  }
}
Variables
{"input": BookingsV1GetStrictestBookingPolicyRequestInput}
Response
{
  "data": {
    "bookingsBookingPoliciesV1GetStrictestBookingPolicy": {
      "bookingPolicy": BookingsV1BookingPolicy
    }
  }
}

SetDefaultBookingPolicy

Description

Sets a Booking Policy as default.

Only one policy can be the default, calling this endpoint also sets the current default booking policy as non-default. If the Booking Policy is already the default, the call will succeed without any updates.

Example

Query
mutation BookingsBookingPoliciesV1SetDefaultBookingPolicy($input: BookingsV1SetDefaultBookingPolicyRequestInput) {
  bookingsBookingPoliciesV1SetDefaultBookingPolicy(input: $input) {
    currentDefaultBookingPolicy {
      ...BookingsV1BookingPolicyFragment
    }
    previousDefaultBookingPolicy {
      ...BookingsV1BookingPolicyFragment
    }
  }
}
Variables
{"input": BookingsV1SetDefaultBookingPolicyRequestInput}
Response
{
  "data": {
    "bookingsBookingPoliciesV1SetDefaultBookingPolicy": {
      "currentDefaultBookingPolicy": BookingsV1BookingPolicy,
      "previousDefaultBookingPolicy": BookingsV1BookingPolicy
    }
  }
}

UpdateBookingPolicy

Description

Update a booking policy, supports partial update. Each time the booking policy is updated, revision increments by 1. The current revision must be passed when updating the booking policy. This ensures you're working with the latest booking policy and prevents unintended overwrites.

Arguments
Name Description
input - BookingsV1UpdateBookingPolicyRequestInput

Example

Query
mutation BookingsBookingPoliciesV1UpdateBookingPolicy($input: BookingsV1UpdateBookingPolicyRequestInput) {
  bookingsBookingPoliciesV1UpdateBookingPolicy(input: $input) {
    bookingPolicy {
      ...BookingsV1BookingPolicyFragment
    }
  }
}
Variables
{"input": BookingsV1UpdateBookingPolicyRequestInput}
Response
{
  "data": {
    "bookingsBookingPoliciesV1UpdateBookingPolicy": {
      "bookingPolicy": BookingsV1BookingPolicy
    }
  }
}

Queries

Session

Description

Retrieves a session by ID.

By default, a session object is returned with the fields specified in the NO_PI fieldset. This means it doesn't contain personal information. To retrieve a full session object including all personal information, use the ALL_PI fieldset. This requires the CALENDAR.SESSION_READ_PI permission scope.

Response

Returns a BookingsSchedulesV1Session

Arguments
Name Description
queryInput - BookingsSchedulesV1SessionRequestInput

Example

Query
query BookingsSchedulesV1Session($queryInput: BookingsSchedulesV1SessionRequestInput) {
  bookingsSchedulesV1Session(queryInput: $queryInput) {
    affectedSchedules {
      ...BookingsSchedulesV1LinkedScheduleFragment
    }
    calendarConference {
      ...BookingsSchedulesV1CalendarConferenceFragment
    }
    capacity
    end {
      ...BookingsSchedulesV1CalendarDateTimeFragment
    }
    externalCalendarOverrides {
      ...BookingsSchedulesV1ExternalCalendarOverridesFragment
    }
    id
    inheritedFields
    instanceOfRecurrence
    location {
      ...BookingsCommonV1LocationFragment
    }
    notes
    originalStart
    participants {
      ...BookingsSchedulesV1ParticipantFragment
    }
    rate {
      ...BookingsCommonV1RateFragment
    }
    recurrence
    recurringIntervalId
    recurringSessionId
    scheduleId
    scheduleOwnerId
    start {
      ...BookingsSchedulesV1CalendarDateTimeFragment
    }
    status
    tags
    timeReservedAfter
    title
    totalNumberOfParticipants
    type
    version {
      ...BookingsSchedulesV1SessionVersionFragment
    }
  }
}
Variables
{"queryInput": BookingsSchedulesV1SessionRequestInput}
Response
{
  "data": {
    "bookingsSchedulesV1Session": {
      "affectedSchedules": [
        BookingsSchedulesV1LinkedSchedule
      ],
      "calendarConference": BookingsSchedulesV1CalendarConference,
      "capacity": 123,
      "end": BookingsSchedulesV1CalendarDateTime,
      "externalCalendarOverrides": BookingsSchedulesV1ExternalCalendarOverrides,
      "id": "xyz789",
      "inheritedFields": ["abc123"],
      "instanceOfRecurrence": "xyz789",
      "location": BookingsCommonV1Location,
      "notes": "xyz789",
      "originalStart": "xyz789",
      "participants": [BookingsSchedulesV1Participant],
      "rate": BookingsCommonV1Rate,
      "recurrence": "abc123",
      "recurringIntervalId": "abc123",
      "recurringSessionId": "xyz789",
      "scheduleId": "abc123",
      "scheduleOwnerId": "xyz789",
      "start": BookingsSchedulesV1CalendarDateTime,
      "status": "UNDEFINED",
      "tags": ["xyz789"],
      "timeReservedAfter": 987,
      "title": "xyz789",
      "totalNumberOfParticipants": 123,
      "type": "UNDEFINED",
      "version": BookingsSchedulesV1SessionVersion
    }
  }
}

Sessions

Description

Retrieves a list of sessions, given the provided time range, filtering, and paging.

To query for event instances within a specified time range of up to 1 year, provide a startDate and endDate.

Query Sessions runs with these defaults, which you can override:

  • Only sessions of type EVENT are returned. An event is a single or recurring session that appears in a calendar, for example an appointment or a class.
  • instances is true. This means only single session instances and instances of recurring sessions are returned.
  • includeExternal is false. This means that sessions imported from connected external calendars are not returned.
  • Session objects are returned with the fields specified in the NO_PI fieldset. This means they don't contain personal information.
  • query.cursorPaging.limit is 100.

Note the following limitations, which you can't override:

  • Sessions are always sorted by start.timestamp in ASC order.
  • The maximum time range you can query for session instances is 1 year. If you are querying for recurring session definitions, rather than session instances, this limit doesn't apply.
  • Pagination is not supported for recurring session definition queries.

To query only for working hours sessions, set type to WORKING_HOURS. A working hours session is a single or recurring session that defines availability in a schedule.

To query for all session types, including events and working hours sessions, set type to ALL.

To query for recurring session pattern definitions, set instances to false. In this case, fromDate and toDate may be more than 1 year apart.

To return session objects including personal information, use the ALL_PI fieldset. This requires the Read Bookings Calendar - Including Participants or the Manage Bookings Services and Settings or the Manage Business Calendar permission scope.

For details on fieldsets, see Sessions: Supported Fieldsets.

For field support for filters, see Sessions: Supported Filters.

To learn about working with Query endpoints in general, see API Query Language and Field Projection.

Arguments
Name Description
queryInput - BookingsCalendarV2QuerySessionsRequestInput

Example

Query
query BookingsSchedulesV1Sessions($queryInput: BookingsCalendarV2QuerySessionsRequestInput) {
  bookingsSchedulesV1Sessions(queryInput: $queryInput) {
    items {
      ...BookingsSchedulesV1SessionFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{
  "queryInput": BookingsCalendarV2QuerySessionsRequestInput
}
Response
{
  "data": {
    "bookingsSchedulesV1Sessions": {
      "items": [BookingsSchedulesV1Session],
      "pageInfo": PageInfo
    }
  }
}

Mutations

ListSessions

Description

Retrieves a list of sessions by their IDs.

By default, session objects are returned with the fields specified in the NO_PI fieldset. This means they don't contain personal information. To retrieve full session objects including all personal information, use the ALL_PI fieldset. This requires the CALENDAR.SESSION_READ_PI permission scope.

Arguments
Name Description
input - BookingsCalendarV2ListSessionsRequestInput

Example

Query
mutation BookingsSchedulesV1ListSessions($input: BookingsCalendarV2ListSessionsRequestInput) {
  bookingsSchedulesV1ListSessions(input: $input) {
    pagingMetadata {
      ...CommonPagingMetadataV2Fragment
    }
    sessions {
      ...BookingsSchedulesV1SessionFragment
    }
  }
}
Variables
{"input": BookingsCalendarV2ListSessionsRequestInput}
Response
{
  "data": {
    "bookingsSchedulesV1ListSessions": {
      "pagingMetadata": CommonPagingMetadataV2,
      "sessions": [BookingsSchedulesV1Session]
    }
  }
}

Queries

ServiceOptionsAndVariants

Description

Retrieves a serviceOptionsAndVariants object by service_options_and_variants_id.

Example

Query
query BookingsServiceOptionsAndVariantsV1ServiceOptionsAndVariants($queryInput: BookingsServiceOptionsAndVariantsV1ServiceOptionsAndVariantsRequestInput) {
  bookingsServiceOptionsAndVariantsV1ServiceOptionsAndVariants(queryInput: $queryInput) {
    id
    maxPrice {
      ...CommonMoneyFragment
    }
    minPrice {
      ...CommonMoneyFragment
    }
    options {
      ...BookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsFragment
    }
    revision
    serviceId
    variants {
      ...BookingsCatalogV1ServiceOptionsAndVariantsServiceVariantsFragment
    }
  }
}
Variables
{
  "queryInput": BookingsServiceOptionsAndVariantsV1ServiceOptionsAndVariantsRequestInput
}
Response
{
  "data": {
    "bookingsServiceOptionsAndVariantsV1ServiceOptionsAndVariants": {
      "id": "62b7b87d-a24a-434d-8666-e270489eac09",
      "maxPrice": CommonMoney,
      "minPrice": CommonMoney,
      "options": BookingsCatalogV1ServiceOptionsAndVariantsServiceOptions,
      "revision": {},
      "serviceId": "62b7b87d-a24a-434d-8666-e270489eac09",
      "variants": BookingsCatalogV1ServiceOptionsAndVariantsServiceVariants
    }
  }
}

ServiceOptionsAndVariantsList

Description

Retrieves a list of serviceOptionsAndVariants, given the provided paging, filtering, and sorting.

Query Service Options And Variants runs with these defaults, which you can override:

  • id is sorted in ASC order
  • cursorPaging.limit is 100

For a detailed list of supported filtering operations see supported filters.

To learn about working with Query endpoints, see API Query Language, Sorting and Paging, and Field Projection.

Example

Query
query BookingsServiceOptionsAndVariantsV1ServiceOptionsAndVariantsList($queryInput: BookingsCatalogV1QueryServiceOptionsAndVariantsRequestInput) {
  bookingsServiceOptionsAndVariantsV1ServiceOptionsAndVariantsList(queryInput: $queryInput) {
    items {
      ...BookingsCatalogV1ServiceOptionsAndVariantsFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{
  "queryInput": BookingsCatalogV1QueryServiceOptionsAndVariantsRequestInput
}
Response
{
  "data": {
    "bookingsServiceOptionsAndVariantsV1ServiceOptionsAndVariantsList": {
      "items": [
        BookingsCatalogV1ServiceOptionsAndVariants
      ],
      "pageInfo": PageInfo
    }
  }
}

Mutations

CloneServiceOptionsAndVariants

Description

Clones a serviceOptionsAndVariants object. This endpoint can be called, for example, to duplicate a service. The cloned service contains all the original service options and variants.

Each option in the cloned service has a newly-generated ID that is copied to all choices of the variants in the clone. The cloned service references the service provided in the request by target_service_id.

Example

Query
mutation BookingsServiceOptionsAndVariantsV1CloneServiceOptionsAndVariants($input: BookingsCatalogV1CloneServiceOptionsAndVariantsRequestInput) {
  bookingsServiceOptionsAndVariantsV1CloneServiceOptionsAndVariants(input: $input) {
    serviceOptionsAndVariants {
      ...BookingsCatalogV1ServiceOptionsAndVariantsFragment
    }
  }
}
Variables
{
  "input": BookingsCatalogV1CloneServiceOptionsAndVariantsRequestInput
}
Response
{
  "data": {
    "bookingsServiceOptionsAndVariantsV1CloneServiceOptionsAndVariants": {
      "serviceOptionsAndVariants": BookingsCatalogV1ServiceOptionsAndVariants
    }
  }
}

CreateServiceOptionsAndVariants

Description

Creates options and variants for a service.

Before creating the serviceOptionsAndVariants object you need to anticipate and manually define all variants based on the defined options and their choices. You then pass the options and variants arrays in the request. Variants aren't automatically calculated from the defined options and choices.

Current Limitations:

  • Only a single serviceOptionsAndVariants object is supported per service.

  • Only a single option is supported per serviceOptionsAndVariants object. This means that services are limited to a single option. Therefore, variantsprovides pricing details for either all choices of the single option (for CUSTOM options) or all staff members providing the service (for STAFF_MEMBER options).

For a list of error messages, see Create Service Options and Variants Errors.

Example

Query
mutation BookingsServiceOptionsAndVariantsV1CreateServiceOptionsAndVariants($input: BookingsCatalogV1CreateServiceOptionsAndVariantsRequestInput) {
  bookingsServiceOptionsAndVariantsV1CreateServiceOptionsAndVariants(input: $input) {
    serviceOptionsAndVariants {
      ...BookingsCatalogV1ServiceOptionsAndVariantsFragment
    }
  }
}
Variables
{
  "input": BookingsCatalogV1CreateServiceOptionsAndVariantsRequestInput
}
Response
{
  "data": {
    "bookingsServiceOptionsAndVariantsV1CreateServiceOptionsAndVariants": {
      "serviceOptionsAndVariants": BookingsCatalogV1ServiceOptionsAndVariants
    }
  }
}

DeleteServiceOptionsAndVariants

Description

Deletes a serviceOptionsAndVariants object.

Because each service has only a single serviceOptionsAndVariants object, the service won't have any supported options and variants any longer. Instead, the standard Wix Bookings service price calculation is used.

Response

Returns a Void

Example

Query
mutation BookingsServiceOptionsAndVariantsV1DeleteServiceOptionsAndVariants($input: BookingsCatalogV1DeleteServiceOptionsAndVariantsRequestInput) {
  bookingsServiceOptionsAndVariantsV1DeleteServiceOptionsAndVariants(input: $input)
}
Variables
{
  "input": BookingsCatalogV1DeleteServiceOptionsAndVariantsRequestInput
}
Response
{
  "data": {
    "bookingsServiceOptionsAndVariantsV1DeleteServiceOptionsAndVariants": null
  }
}

GetServiceOptionsAndVariantsByServiceId

Description

Retrieves a service's options and variants by service_id.

Example

Query
mutation BookingsServiceOptionsAndVariantsV1GetServiceOptionsAndVariantsByServiceId($input: BookingsCatalogV1GetServiceOptionsAndVariantsByServiceIdRequestInput) {
  bookingsServiceOptionsAndVariantsV1GetServiceOptionsAndVariantsByServiceId(input: $input) {
    serviceVariants {
      ...BookingsCatalogV1ServiceOptionsAndVariantsFragment
    }
  }
}
Variables
{
  "input": BookingsCatalogV1GetServiceOptionsAndVariantsByServiceIdRequestInput
}
Response
{
  "data": {
    "bookingsServiceOptionsAndVariantsV1GetServiceOptionsAndVariantsByServiceId": {
      "serviceVariants": BookingsCatalogV1ServiceOptionsAndVariants
    }
  }
}

UpdateServiceOptionsAndVariants

Description

Updates the specified fields of the serviceOptionsAndVariants object.

Currently, only a single option is supported per serviceOptionsAndVariants object.

If you want to update variants, you must pass the full list of supported variants.

If you want to update options, you must pass the full list of supported options.

For a list of error messages, see Update Service Options and Variants Errors.

Example

Query
mutation BookingsServiceOptionsAndVariantsV1UpdateServiceOptionsAndVariants($input: BookingsCatalogV1UpdateServiceOptionsAndVariantsRequestInput) {
  bookingsServiceOptionsAndVariantsV1UpdateServiceOptionsAndVariants(input: $input) {
    serviceOptionsAndVariants {
      ...BookingsCatalogV1ServiceOptionsAndVariantsFragment
    }
  }
}
Variables
{
  "input": BookingsCatalogV1UpdateServiceOptionsAndVariantsRequestInput
}
Response
{
  "data": {
    "bookingsServiceOptionsAndVariantsV1UpdateServiceOptionsAndVariants": {
      "serviceOptionsAndVariants": BookingsCatalogV1ServiceOptionsAndVariants
    }
  }
}

Queries

Service

Description

Retrieves a service.

Response

Returns a BookingsServicesV2Service

Arguments
Name Description
queryInput - BookingsServicesV2ServiceRequestInput

Example

Query
query BookingsServicesV2Service($queryInput: BookingsServicesV2ServiceRequestInput) {
  bookingsServicesV2Service(queryInput: $queryInput) {
    bookingPolicy {
      ...BookingsServicesV2UpstreamBookingsV1BookingPolicyFragment
    }
    category {
      ...BookingsServicesV2CategoryFragment
    }
    conferencing {
      ...BookingsServicesV2ConferencingFragment
    }
    createdDate
    defaultCapacity
    description
    extendedFields {
      ...CommonDataDataextensionsExtendedFieldsFragment
    }
    form {
      ...BookingsServicesV2FormFragment
    }
    hidden
    id
    locations {
      ...BookingsServicesV2LocationFragment
    }
    mainSlug {
      ...BookingsServicesV2SlugFragment
    }
    media {
      ...BookingsServicesV2MediaFragment
    }
    name
    onlineBooking {
      ...BookingsServicesV2OnlineBookingFragment
    }
    payment {
      ...BookingsServicesV2PaymentFragment
    }
    revision
    schedule {
      ...BookingsServicesV2ScheduleFragment
    }
    seoData {
      ...AdvancedSeoSeoSchemaFragment
    }
    sortOrder
    staffMemberIds
    supportedSlugs {
      ...BookingsServicesV2SlugFragment
    }
    tagLine
    type
    updatedDate
    urls {
      ...BookingsServicesV2URLsFragment
    }
  }
}
Variables
{"queryInput": BookingsServicesV2ServiceRequestInput}
Response
{
  "data": {
    "bookingsServicesV2Service": {
      "bookingPolicy": BookingsServicesV2UpstreamBookingsV1BookingPolicy,
      "category": BookingsServicesV2Category,
      "conferencing": BookingsServicesV2Conferencing,
      "createdDate": "abc123",
      "defaultCapacity": 987,
      "description": "abc123",
      "extendedFields": CommonDataDataextensionsExtendedFields,
      "form": BookingsServicesV2Form,
      "hidden": false,
      "id": "62b7b87d-a24a-434d-8666-e270489eac09",
      "locations": [BookingsServicesV2Location],
      "mainSlug": BookingsServicesV2Slug,
      "media": BookingsServicesV2Media,
      "name": "xyz789",
      "onlineBooking": BookingsServicesV2OnlineBooking,
      "payment": BookingsServicesV2Payment,
      "revision": {},
      "schedule": BookingsServicesV2Schedule,
      "seoData": AdvancedSeoSeoSchema,
      "sortOrder": 987,
      "staffMemberIds": ["abc123"],
      "supportedSlugs": [BookingsServicesV2Slug],
      "tagLine": "xyz789",
      "type": "UNKNOWN_SERVICE_TYPE",
      "updatedDate": "abc123",
      "urls": BookingsServicesV2URLs
    }
  }
}

Queries

Services

Description

Retrieves a list of up to 100 services, given the provided paging, filtering, and sorting.

Define queries using WQL - Wix Query Language. For field support for filters and sorting, see Supported Filters and Sorting.

To retrieve all services use an empty query:

{
"query": {}
}

Query Services runs with these defaults, which you can override:

  • paging.limit is 100.
  • paging.offset is 0.

Notes:

  • Use UTC format when filtering with dates.
  • Only 1 use of each filter in the same query is supported. If a filter is defined more than once in a query, only the first occurrence is processed.
Arguments
Name Description
queryInput - BookingsServicesV2QueryServicesRequestInput

Example

Query
query BookingsServicesV2Services($queryInput: BookingsServicesV2QueryServicesRequestInput) {
  bookingsServicesV2Services(queryInput: $queryInput) {
    items {
      ...BookingsServicesV2ServiceFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{
  "queryInput": BookingsServicesV2QueryServicesRequestInput
}
Response
{
  "data": {
    "bookingsServicesV2Services": {
      "items": [BookingsServicesV2Service],
      "pageInfo": PageInfo
    }
  }
}

Mutations

BulkDeleteServices

Description

Deletes multiple services.

Example

Query
mutation BookingsServicesV2BulkDeleteServices($input: BookingsServicesV2BulkDeleteServicesRequestInput) {
  bookingsServicesV2BulkDeleteServices(input: $input) {
    bulkActionMetadata {
      ...BookingsServicesV2UpstreamCommonBulkActionMetadataFragment
    }
    results {
      ...BookingsServicesV2BulkServiceResultFragment
    }
  }
}
Variables
{
  "input": BookingsServicesV2BulkDeleteServicesRequestInput
}
Response
{
  "data": {
    "bookingsServicesV2BulkDeleteServices": {
      "bulkActionMetadata": BookingsServicesV2UpstreamCommonBulkActionMetadata,
      "results": [BookingsServicesV2BulkServiceResult]
    }
  }
}

BulkUpdateServices

Description

Updates multiple services.

Partial updates are supported.

Each time a service is updated, revision increments by 1. You must include the number of the existing revision for each service to update. This ensures you're working with the latest service information and prevents unintended overwrites.

Example

Query
mutation BookingsServicesV2BulkUpdateServices($input: BookingsServicesV2BulkUpdateServicesRequestInput) {
  bookingsServicesV2BulkUpdateServices(input: $input) {
    bulkActionMetadata {
      ...BookingsServicesV2UpstreamCommonBulkActionMetadataFragment
    }
    results {
      ...BookingsServicesV2BulkServiceResultFragment
    }
  }
}
Variables
{
  "input": BookingsServicesV2BulkUpdateServicesRequestInput
}
Response
{
  "data": {
    "bookingsServicesV2BulkUpdateServices": {
      "bulkActionMetadata": BookingsServicesV2UpstreamCommonBulkActionMetadata,
      "results": [BookingsServicesV2BulkServiceResult]
    }
  }
}

CloneService

Description

Clones a service.

Arguments
Name Description
input - BookingsServicesV2CloneServiceRequestInput

Example

Query
mutation BookingsServicesV2CloneService($input: BookingsServicesV2CloneServiceRequestInput) {
  bookingsServicesV2CloneService(input: $input) {
    errors
    service {
      ...BookingsServicesV2ServiceFragment
    }
  }
}
Variables
{"input": BookingsServicesV2CloneServiceRequestInput}
Response
{
  "data": {
    "bookingsServicesV2CloneService": {
      "errors": ["UNKNOWN_CLONE_ERROR"],
      "service": BookingsServicesV2Service
    }
  }
}

CountServices

Description

Counts services according to given criteria. Use WQL filter to define the criteria.

Arguments
Name Description
input - BookingsServicesV2CountServicesRequestInput

Example

Query
mutation BookingsServicesV2CountServices($input: BookingsServicesV2CountServicesRequestInput) {
  bookingsServicesV2CountServices(input: $input) {
    count
  }
}
Variables
{"input": BookingsServicesV2CountServicesRequestInput}
Response
{"data": {"bookingsServicesV2CountServices": {"count": 123}}}

CreateService

Description

Creates a new service.

Arguments
Name Description
input - BookingsServicesV2CreateServiceRequestInput

Example

Query
mutation BookingsServicesV2CreateService($input: BookingsServicesV2CreateServiceRequestInput) {
  bookingsServicesV2CreateService(input: $input) {
    service {
      ...BookingsServicesV2ServiceFragment
    }
  }
}
Variables
{"input": BookingsServicesV2CreateServiceRequestInput}
Response
{
  "data": {
    "bookingsServicesV2CreateService": {
      "service": BookingsServicesV2Service
    }
  }
}

DeleteService

Description

Deletes a service.

Response

Returns a Void

Arguments
Name Description
input - BookingsServicesV2DeleteServiceRequestInput

Example

Query
mutation BookingsServicesV2DeleteService($input: BookingsServicesV2DeleteServiceRequestInput) {
  bookingsServicesV2DeleteService(input: $input)
}
Variables
{"input": BookingsServicesV2DeleteServiceRequestInput}
Response
{"data": {"bookingsServicesV2DeleteService": null}}

DisablePricingPlansForService

Description

Disables specific pricing plans as payment methods for a service. Customers can't pay for the service using a removed pricing plan. Existing payments with a removed plan aren't affected.

Example

Query
mutation BookingsServicesV2DisablePricingPlansForService($input: BookingsServicesV2DisablePricingPlansForServiceRequestInput) {
  bookingsServicesV2DisablePricingPlansForService(input: $input) {
    service {
      ...BookingsServicesV2ServiceFragment
    }
  }
}
Variables
{
  "input": BookingsServicesV2DisablePricingPlansForServiceRequestInput
}
Response
{
  "data": {
    "bookingsServicesV2DisablePricingPlansForService": {
      "service": BookingsServicesV2Service
    }
  }
}

EnablePricingPlansForService

Description

Enables specific pricing plans as payment methods for a service. This API enables customers to pay for the service using one of the specified pricing plans.

Example

Query
mutation BookingsServicesV2EnablePricingPlansForService($input: BookingsServicesV2EnablePricingPlansForServiceRequestInput) {
  bookingsServicesV2EnablePricingPlansForService(input: $input) {
    pricingPlanIds
    service {
      ...BookingsServicesV2ServiceFragment
    }
  }
}
Variables
{
  "input": BookingsServicesV2EnablePricingPlansForServiceRequestInput
}
Response
{
  "data": {
    "bookingsServicesV2EnablePricingPlansForService": {
      "pricingPlanIds": ["abc123"],
      "service": BookingsServicesV2Service
    }
  }
}

QueryLocations

Description

Query locations that exist on non hidden services.

Arguments
Name Description
input - BookingsServicesV2QueryLocationsRequestInput

Example

Query
mutation BookingsServicesV2QueryLocations($input: BookingsServicesV2QueryLocationsRequestInput) {
  bookingsServicesV2QueryLocations(input: $input) {
    businessLocations {
      ...BookingsServicesV2BusinessLocationsFragment
    }
    customerLocations {
      ...BookingsServicesV2CustomerLocationsFragment
    }
    customLocations {
      ...BookingsServicesV2CustomLocationsFragment
    }
  }
}
Variables
{"input": BookingsServicesV2QueryLocationsRequestInput}
Response
{
  "data": {
    "bookingsServicesV2QueryLocations": {
      "businessLocations": BookingsServicesV2BusinessLocations,
      "customerLocations": BookingsServicesV2CustomerLocations,
      "customLocations": BookingsServicesV2CustomLocations
    }
  }
}

QueryPolicies

Description

Retrieves a list of up to 100 policies, given the provided paging, filtering, and sorting.

Define queries using WQL - Wix Query Language. For field support for filters and sorting, see Supported Filters and Sorting.

To retrieve all policies use an empty query:

{
"query": {}
}

Query Policies runs with these defaults, which you can override:

  • paging.limit is 100.
  • paging.offset is 0.

Notes:

  • Use UTC format when filtering with dates.
  • Only 1 use of each filter in the same query is supported. If a filter is defined more than once in a query, only the first occurrence is processed.
Arguments
Name Description
input - BookingsServicesV2QueryPoliciesRequestInput

Example

Query
mutation BookingsServicesV2QueryPolicies($input: BookingsServicesV2QueryPoliciesRequestInput) {
  bookingsServicesV2QueryPolicies(input: $input) {
    bookingPolicies {
      ...BookingsServicesV2BookingPolicyWithServicesFragment
    }
    pagingMetadata {
      ...BookingsServicesV2UpstreamCommonCursorPagingMetadataFragment
    }
  }
}
Variables
{"input": BookingsServicesV2QueryPoliciesRequestInput}
Response
{
  "data": {
    "bookingsServicesV2QueryPolicies": {
      "bookingPolicies": [
        BookingsServicesV2BookingPolicyWithServices
      ],
      "pagingMetadata": BookingsServicesV2UpstreamCommonCursorPagingMetadata
    }
  }
}

SearchServices

Description

Retrieves a list of up to 100 services, given the provided query string, and paging.

Arguments
Name Description
input - BookingsServicesV2SearchServicesRequestInput

Example

Query
mutation BookingsServicesV2SearchServices($input: BookingsServicesV2SearchServicesRequestInput) {
  bookingsServicesV2SearchServices(input: $input) {
    aggregationData {
      ...BookingsServicesV2UpstreamCommonAggregationDataFragment
    }
    pagingMetadata {
      ...BookingsServicesV2UpstreamCommonCursorPagingMetadataFragment
    }
    services {
      ...BookingsServicesV2ServiceFragment
    }
  }
}
Variables
{"input": BookingsServicesV2SearchServicesRequestInput}
Response
{
  "data": {
    "bookingsServicesV2SearchServices": {
      "aggregationData": BookingsServicesV2UpstreamCommonAggregationData,
      "pagingMetadata": BookingsServicesV2UpstreamCommonCursorPagingMetadata,
      "services": [BookingsServicesV2Service]
    }
  }
}

SetCustomSlug

Description

Sets a custom (user-defined) slug for the various service pages. The call may fail if there's another service with the same slug, either by past name or by a custom slug.

Arguments
Name Description
input - BookingsServicesV2SetCustomSlugRequestInput

Example

Query
mutation BookingsServicesV2SetCustomSlug($input: BookingsServicesV2SetCustomSlugRequestInput) {
  bookingsServicesV2SetCustomSlug(input: $input) {
    service {
      ...BookingsServicesV2ServiceFragment
    }
    slug {
      ...BookingsServicesV2SlugFragment
    }
  }
}
Variables
{"input": BookingsServicesV2SetCustomSlugRequestInput}
Response
{
  "data": {
    "bookingsServicesV2SetCustomSlug": {
      "service": BookingsServicesV2Service,
      "slug": BookingsServicesV2Slug
    }
  }
}

SetServiceLocations

Description

Change the locations this service is offered at. Changing locations may have impact on existing sessions and their participants. When removing locations from a service, this endpoint requires stating what to do with existing sessions occurring at the removed locations.

Example

Query
mutation BookingsServicesV2SetServiceLocations($input: BookingsServicesV2SetServiceLocationsRequestInput) {
  bookingsServicesV2SetServiceLocations(input: $input) {
    service {
      ...BookingsServicesV2ServiceFragment
    }
  }
}
Variables
{
  "input": BookingsServicesV2SetServiceLocationsRequestInput
}
Response
{
  "data": {
    "bookingsServicesV2SetServiceLocations": {
      "service": BookingsServicesV2Service
    }
  }
}

UpdateService

Description

Updates a service.

Partial updates are supported.

Each time the service is updated, revision increments by 1. You must include the number of the existing revision when updating the service. This ensures you're working with the latest service information and prevents unintended overwrites.

Arguments
Name Description
input - BookingsServicesV2UpdateServiceRequestInput

Example

Query
mutation BookingsServicesV2UpdateService($input: BookingsServicesV2UpdateServiceRequestInput) {
  bookingsServicesV2UpdateService(input: $input) {
    service {
      ...BookingsServicesV2ServiceFragment
    }
  }
}
Variables
{"input": BookingsServicesV2UpdateServiceRequestInput}
Response
{
  "data": {
    "bookingsServicesV2UpdateService": {
      "service": BookingsServicesV2Service
    }
  }
}

ValidateSlug

Description

Validate a custom (user-defined) slug, making sure no other service uses the same slug. The call may fail if there's another service with the same slug, either by past name or by a custom set slug.

Arguments
Name Description
input - BookingsServicesV2ValidateSlugRequestInput

Example

Query
mutation BookingsServicesV2ValidateSlug($input: BookingsServicesV2ValidateSlugRequestInput) {
  bookingsServicesV2ValidateSlug(input: $input) {
    errors
    slugName
    valid
  }
}
Variables
{"input": BookingsServicesV2ValidateSlugRequestInput}
Response
{
  "data": {
    "bookingsServicesV2ValidateSlug": {
      "errors": ["UNKNOWN_SLUG_ERROR"],
      "slugName": "xyz789",
      "valid": false
    }
  }
}

Queries

Session

Description

Retrieves a session by ID.

By default, a session object is returned with the fields specified in the NO_PI fieldset. This means it doesn't contain personal information. To retrieve a full session object including all personal information, use the ALL_PI fieldset. This requires the CALENDAR.SESSION_READ_PI permission scope.

Response

Returns a BookingsSchedulesV1Session

Arguments
Name Description
queryInput - BookingsSessionsV1SessionRequestInput

Example

Query
query BookingsSessionsV1Session($queryInput: BookingsSessionsV1SessionRequestInput) {
  bookingsSessionsV1Session(queryInput: $queryInput) {
    affectedSchedules {
      ...BookingsSchedulesV1LinkedScheduleFragment
    }
    calendarConference {
      ...BookingsSchedulesV1CalendarConferenceFragment
    }
    capacity
    end {
      ...BookingsSchedulesV1CalendarDateTimeFragment
    }
    externalCalendarOverrides {
      ...BookingsSchedulesV1ExternalCalendarOverridesFragment
    }
    id
    inheritedFields
    instanceOfRecurrence
    location {
      ...BookingsCommonV1LocationFragment
    }
    notes
    originalStart
    participants {
      ...BookingsSchedulesV1ParticipantFragment
    }
    rate {
      ...BookingsCommonV1RateFragment
    }
    recurrence
    recurringIntervalId
    recurringSessionId
    scheduleId
    scheduleOwnerId
    start {
      ...BookingsSchedulesV1CalendarDateTimeFragment
    }
    status
    tags
    timeReservedAfter
    title
    totalNumberOfParticipants
    type
    version {
      ...BookingsSchedulesV1SessionVersionFragment
    }
  }
}
Variables
{"queryInput": BookingsSessionsV1SessionRequestInput}
Response
{
  "data": {
    "bookingsSessionsV1Session": {
      "affectedSchedules": [
        BookingsSchedulesV1LinkedSchedule
      ],
      "calendarConference": BookingsSchedulesV1CalendarConference,
      "capacity": 123,
      "end": BookingsSchedulesV1CalendarDateTime,
      "externalCalendarOverrides": BookingsSchedulesV1ExternalCalendarOverrides,
      "id": "xyz789",
      "inheritedFields": ["abc123"],
      "instanceOfRecurrence": "abc123",
      "location": BookingsCommonV1Location,
      "notes": "abc123",
      "originalStart": "xyz789",
      "participants": [BookingsSchedulesV1Participant],
      "rate": BookingsCommonV1Rate,
      "recurrence": "xyz789",
      "recurringIntervalId": "xyz789",
      "recurringSessionId": "abc123",
      "scheduleId": "xyz789",
      "scheduleOwnerId": "xyz789",
      "start": BookingsSchedulesV1CalendarDateTime,
      "status": "UNDEFINED",
      "tags": ["xyz789"],
      "timeReservedAfter": 987,
      "title": "xyz789",
      "totalNumberOfParticipants": 123,
      "type": "UNDEFINED",
      "version": BookingsSchedulesV1SessionVersion
    }
  }
}

Sessions

Description

Retrieves a list of sessions, given the provided time range, filtering, and paging.

To query for event instances within a specified time range of up to 1 year, provide a startDate and endDate.

Query Sessions runs with these defaults, which you can override:

  • Only sessions of type EVENT are returned. An event is a single or recurring session that appears in a calendar, for example an appointment or a class.
  • instances is true. This means only single session instances and instances of recurring sessions are returned.
  • includeExternal is false. This means that sessions imported from connected external calendars are not returned.
  • Session objects are returned with the fields specified in the NO_PI fieldset. This means they don't contain personal information.
  • query.cursorPaging.limit is 100.

Note the following limitations, which you can't override:

  • Sessions are always sorted by start.timestamp in ASC order.
  • The maximum time range you can query for session instances is 1 year. If you are querying for recurring session definitions, rather than session instances, this limit doesn't apply.
  • Pagination is not supported for recurring session definition queries.

To query only for working hours sessions, set type to WORKING_HOURS. A working hours session is a single or recurring session that defines availability in a schedule.

To query for all session types, including events and working hours sessions, set type to ALL.

To query for recurring session pattern definitions, set instances to false. In this case, fromDate and toDate may be more than 1 year apart.

To return session objects including personal information, use the ALL_PI fieldset. This requires the Read Bookings Calendar - Including Participants or the Manage Bookings Services and Settings or the Manage Business Calendar permission scope.

For details on fieldsets, see Sessions: Supported Fieldsets.

For field support for filters, see Sessions: Supported Filters.

To learn about working with Query endpoints in general, see API Query Language and Field Projection.

Arguments
Name Description
queryInput - BookingsCalendarV2QuerySessionsRequestInput

Example

Query
query BookingsSessionsV1Sessions($queryInput: BookingsCalendarV2QuerySessionsRequestInput) {
  bookingsSessionsV1Sessions(queryInput: $queryInput) {
    items {
      ...BookingsSchedulesV1SessionFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{
  "queryInput": BookingsCalendarV2QuerySessionsRequestInput
}
Response
{
  "data": {
    "bookingsSessionsV1Sessions": {
      "items": [BookingsSchedulesV1Session],
      "pageInfo": PageInfo
    }
  }
}

Mutations

ListSessions

Description

Retrieves a list of sessions by their IDs.

By default, session objects are returned with the fields specified in the NO_PI fieldset. This means they don't contain personal information. To retrieve full session objects including all personal information, use the ALL_PI fieldset. This requires the CALENDAR.SESSION_READ_PI permission scope.

Arguments
Name Description
input - BookingsCalendarV2ListSessionsRequestInput

Example

Query
mutation BookingsSessionsV1ListSessions($input: BookingsCalendarV2ListSessionsRequestInput) {
  bookingsSessionsV1ListSessions(input: $input) {
    pagingMetadata {
      ...CommonPagingMetadataV2Fragment
    }
    sessions {
      ...BookingsSchedulesV1SessionFragment
    }
  }
}
Variables
{"input": BookingsCalendarV2ListSessionsRequestInput}
Response
{
  "data": {
    "bookingsSessionsV1ListSessions": {
      "pagingMetadata": CommonPagingMetadataV2,
      "sessions": [BookingsSchedulesV1Session]
    }
  }
}

Queries

Location

Description

Retrieves a location.

Response

Returns a LocationsLocation

Arguments
Name Description
queryInput - BusinessToolsLocationsV1LocationRequestInput

Example

Query
query BusinessToolsLocationsV1Location($queryInput: BusinessToolsLocationsV1LocationRequestInput) {
  businessToolsLocationsV1Location(queryInput: $queryInput) {
    address {
      ...LocationsAddressFragment
    }
    archived
    businessSchedule {
      ...SitepropertiesV4BusinessScheduleFragment
    }
    default
    description
    email
    fax
    id
    locationType
    locationTypes
    name
    phone
    revision
    status
    timeZone
  }
}
Variables
{
  "queryInput": BusinessToolsLocationsV1LocationRequestInput
}
Response
{
  "data": {
    "businessToolsLocationsV1Location": {
      "address": LocationsAddress,
      "archived": false,
      "businessSchedule": SitepropertiesV4BusinessSchedule,
      "default": false,
      "description": "xyz789",
      "email": "xyz789",
      "fax": "xyz789",
      "id": "62b7b87d-a24a-434d-8666-e270489eac09",
      "locationType": "UNKNOWN",
      "locationTypes": ["UNKNOWN"],
      "name": "xyz789",
      "phone": "xyz789",
      "revision": {},
      "status": "ACTIVE",
      "timeZone": "abc123"
    }
  }
}

Locations

Description

Retrieves locations, given the provided filters, sorting, and paging.

Response

Returns a LocationsQueryLocationsResponse

Arguments
Name Description
queryInput - LocationsQueryLocationsRequestInput

Example

Query
query BusinessToolsLocationsV1Locations($queryInput: LocationsQueryLocationsRequestInput) {
  businessToolsLocationsV1Locations(queryInput: $queryInput) {
    items {
      ...LocationsLocationFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{"queryInput": LocationsQueryLocationsRequestInput}
Response
{
  "data": {
    "businessToolsLocationsV1Locations": {
      "items": [LocationsLocation],
      "pageInfo": PageInfo
    }
  }
}

Mutations

ArchiveLocation

Description

Archives a location.

Notes:

  • Changes the archived boolean of a location to true.
  • You can't change a location's status using this endpoint.
  • Archived locations can't be updated.
  • Currently, it isn't possible to unarchive locations.
  • The default location can't be archived.
Arguments
Name Description
input - LocationsArchiveLocationRequestInput

Example

Query
mutation BusinessToolsLocationsV1ArchiveLocation($input: LocationsArchiveLocationRequestInput) {
  businessToolsLocationsV1ArchiveLocation(input: $input) {
    location {
      ...LocationsLocationFragment
    }
  }
}
Variables
{"input": LocationsArchiveLocationRequestInput}
Response
{
  "data": {
    "businessToolsLocationsV1ArchiveLocation": {
      "location": LocationsLocation
    }
  }
}

BulkCreateLocation

Description

Creates locations in bulk.

Arguments
Name Description
input - LocationsBulkCreateLocationRequestInput

Example

Query
mutation BusinessToolsLocationsV1BulkCreateLocation($input: LocationsBulkCreateLocationRequestInput) {
  businessToolsLocationsV1BulkCreateLocation(input: $input) {
    failedLocations {
      ...LocationsFailedCreateLocationFragment
    }
    successfulLocations {
      ...LocationsLocationFragment
    }
  }
}
Variables
{"input": LocationsBulkCreateLocationRequestInput}
Response
{
  "data": {
    "businessToolsLocationsV1BulkCreateLocation": {
      "failedLocations": [LocationsFailedCreateLocation],
      "successfulLocations": [LocationsLocation]
    }
  }
}

CreateLocation

Description

Creates a location.

Response

Returns a LocationsCreateLocationResponse

Arguments
Name Description
input - LocationsCreateLocationRequestInput

Example

Query
mutation BusinessToolsLocationsV1CreateLocation($input: LocationsCreateLocationRequestInput) {
  businessToolsLocationsV1CreateLocation(input: $input) {
    location {
      ...LocationsLocationFragment
    }
  }
}
Variables
{"input": LocationsCreateLocationRequestInput}
Response
{
  "data": {
    "businessToolsLocationsV1CreateLocation": {
      "location": LocationsLocation
    }
  }
}

ListLocations

Description

Retrieves locations, given the provided filters, sorting, and paging.

Response

Returns a LocationsListLocationsResponse

Arguments
Name Description
input - LocationsListLocationsRequestInput

Example

Query
mutation BusinessToolsLocationsV1ListLocations($input: LocationsListLocationsRequestInput) {
  businessToolsLocationsV1ListLocations(input: $input) {
    locations {
      ...LocationsLocationFragment
    }
    pagingMetadata {
      ...LocationsPagingMetadataFragment
    }
  }
}
Variables
{"input": LocationsListLocationsRequestInput}
Response
{
  "data": {
    "businessToolsLocationsV1ListLocations": {
      "locations": [LocationsLocation],
      "pagingMetadata": LocationsPagingMetadata
    }
  }
}

SetDefaultLocation

Description

Sets a new default location.

Notes:

  • There can only be one default location per site.
  • The default location can't be archived.
Arguments
Name Description
input - LocationsSetDefaultLocationRequestInput

Example

Query
mutation BusinessToolsLocationsV1SetDefaultLocation($input: LocationsSetDefaultLocationRequestInput) {
  businessToolsLocationsV1SetDefaultLocation(input: $input) {
    location {
      ...LocationsLocationFragment
    }
  }
}
Variables
{"input": LocationsSetDefaultLocationRequestInput}
Response
{
  "data": {
    "businessToolsLocationsV1SetDefaultLocation": {
      "location": LocationsLocation
    }
  }
}

UpdateLocation

Description

Replaces a location.

Note: Currently, it isn't possible to partially update a location. Therefore, you'll need to pass the full location object in the body of the call.

Response

Returns a LocationsUpdateLocationResponse

Arguments
Name Description
input - LocationsUpdateLocationRequestInput

Example

Query
mutation BusinessToolsLocationsV1UpdateLocation($input: LocationsUpdateLocationRequestInput) {
  businessToolsLocationsV1UpdateLocation(input: $input) {
    location {
      ...LocationsLocationFragment
    }
  }
}
Variables
{"input": LocationsUpdateLocationRequestInput}
Response
{
  "data": {
    "businessToolsLocationsV1UpdateLocation": {
      "location": LocationsLocation
    }
  }
}

Queries

Contact

Description

Retrieves a contact.

Getting Merged Contacts

When a source contact is merged with a target contact, the source contact is deleted. When calling Get Contact for a merged contact, you can use the source or target contact ID. In both bases, the target contact is returned.

This is supported only when calling Get Contact, and only for merged contacts. Deleted source contact IDs are not supported on any other endpoint.

Response

Returns a ContactsCoreV4Contact

Arguments
Name Description
queryInput - CrmContactsV4ContactRequestInput

Example

Query
query CrmContactsV4Contact($queryInput: CrmContactsV4ContactRequestInput) {
  crmContactsV4Contact(queryInput: $queryInput) {
    createdDate
    id
    info {
      ...ContactsCoreV4ContactInfoFragment
    }
    lastActivity {
      ...ContactsCoreV4ContactActivityFragment
    }
    picture {
      ...ContactsCoreV4UpstreamCommonImageFragment
    }
    primaryEmail {
      ...ContactsCoreV4PrimaryEmailFragment
    }
    primaryInfo {
      ...ContactsCoreV4PrimaryContactInfoFragment
    }
    primaryPhone {
      ...ContactsCoreV4PrimaryPhoneFragment
    }
    revision
    source {
      ...ContactsCoreV4ContactSourceFragment
    }
    updatedDate
  }
}
Variables
{"queryInput": CrmContactsV4ContactRequestInput}
Response
{
  "data": {
    "crmContactsV4Contact": {
      "createdDate": "abc123",
      "id": "62b7b87d-a24a-434d-8666-e270489eac09",
      "info": ContactsCoreV4ContactInfo,
      "lastActivity": ContactsCoreV4ContactActivity,
      "picture": ContactsCoreV4UpstreamCommonImage,
      "primaryEmail": ContactsCoreV4PrimaryEmail,
      "primaryInfo": ContactsCoreV4PrimaryContactInfo,
      "primaryPhone": ContactsCoreV4PrimaryPhone,
      "revision": 987,
      "source": ContactsCoreV4ContactSource,
      "updatedDate": "xyz789"
    }
  }
}

Mutations

CreateContact

Description

Creates a new contact.

The request body must include a name, a phone number, or an email address. If all 3 of these parameters are missing, the contact won't be created.

By default, if the creation request contains an email already in use by another contact, the new contact won't be created. To override this behavior, set allowDuplicates to true.

Arguments
Name Description
input - ContactsCoreV4CreateContactRequestInput

Example

Query
mutation CrmContactsV4CreateContact($input: ContactsCoreV4CreateContactRequestInput) {
  crmContactsV4CreateContact(input: $input) {
    contact {
      ...ContactsCoreV4ContactFragment
    }
  }
}
Variables
{"input": ContactsCoreV4CreateContactRequestInput}
Response
{
  "data": {
    "crmContactsV4CreateContact": {
      "contact": ContactsCoreV4Contact
    }
  }
}

DeleteContact

Description

Deletes a contact.

Deleting a contact permanently removes them from the Contact List.

If a contact is also a site member or site contributor, or has a valid billing subscriptions, the contact cannot be deleted. The related site member or site contributor must first be deleted and any valid billing subscriptions must be canceled, before the contact can also be deleted.

Response

Returns a Void

Arguments
Name Description
input - ContactsCoreV4DeleteContactRequestInput

Example

Query
mutation CrmContactsV4DeleteContact($input: ContactsCoreV4DeleteContactRequestInput) {
  crmContactsV4DeleteContact(input: $input)
}
Variables
{"input": ContactsCoreV4DeleteContactRequestInput}
Response
{"data": {"crmContactsV4DeleteContact": null}}

LabelContact

Description

Adds labels to a contact.

Arguments
Name Description
input - ContactsCoreV4LabelContactRequestInput

Example

Query
mutation CrmContactsV4LabelContact($input: ContactsCoreV4LabelContactRequestInput) {
  crmContactsV4LabelContact(input: $input) {
    contact {
      ...ContactsCoreV4ContactFragment
    }
  }
}
Variables
{"input": ContactsCoreV4LabelContactRequestInput}
Response
{
  "data": {
    "crmContactsV4LabelContact": {
      "contact": ContactsCoreV4Contact
    }
  }
}

MergeContacts

Description

Merges source contacts into a target contact.

Merging contacts has these effects on the target contact:

  • No target contact data is overwritten or deleted.
  • Arrays (emails, phones, addresses, and labels) are merged from the source contacts.
  • If merging more than one source contact, the 1st source is given precedence, then the 2nd, and so on.

Important: Merges cannot be undone. Use Preview Merge Contacts to test before merging.

Source contacts are deleted when merging. However, if a source contact is a site member or contributor, the merge fails because site contributors and members can't be deleted. Site members and contributors can be target contacts only.

After merging, if you call Get Contact with a deleted source contact ID, the target contact ID is returned. This is supported when calling Get Contact only. Deleted source contact IDs are not supported on any other endpoint.

Merging contacts triggers these webhooks:

Arguments
Name Description
input - ContactsCoreV4MergeContactsRequestInput

Example

Query
mutation CrmContactsV4MergeContacts($input: ContactsCoreV4MergeContactsRequestInput) {
  crmContactsV4MergeContacts(input: $input) {
    contact {
      ...ContactsCoreV4ContactFragment
    }
  }
}
Variables
{"input": ContactsCoreV4MergeContactsRequestInput}
Response
{
  "data": {
    "crmContactsV4MergeContacts": {
      "contact": ContactsCoreV4Contact
    }
  }
}

UnlabelContact

Description

Removes labels from a contact.

If a label is no longer needed and you want to remove it from all contacts, you can delete it with Delete Label (in the Labels API).

Arguments
Name Description
input - ContactsCoreV4UnlabelContactRequestInput

Example

Query
mutation CrmContactsV4UnlabelContact($input: ContactsCoreV4UnlabelContactRequestInput) {
  crmContactsV4UnlabelContact(input: $input) {
    contact {
      ...ContactsCoreV4ContactFragment
    }
  }
}
Variables
{"input": ContactsCoreV4UnlabelContactRequestInput}
Response
{
  "data": {
    "crmContactsV4UnlabelContact": {
      "contact": ContactsCoreV4Contact
    }
  }
}

UpdateContact

Description

Updates a contact.

Each time the contact is updated, revision increments by 1. The existing revision must be included when updating the contact. This ensures you're working with the latest contact information, and it prevents unintended overwrites.

Arguments
Name Description
input - ContactsCoreV4UpdateContactRequestInput

Example

Query
mutation CrmContactsV4UpdateContact($input: ContactsCoreV4UpdateContactRequestInput) {
  crmContactsV4UpdateContact(input: $input) {
    contact {
      ...ContactsCoreV4ContactFragment
    }
  }
}
Variables
{"input": ContactsCoreV4UpdateContactRequestInput}
Response
{
  "data": {
    "crmContactsV4UpdateContact": {
      "contact": ContactsCoreV4Contact
    }
  }
}

Queries

ExtendedField

Description

Retrieves an extended field.

Response

Returns a ContactsFieldsV4ExtendedField

Arguments
Name Description
queryInput - CrmExtendedFieldsV4ExtendedFieldRequestInput

Example

Query
query CrmExtendedFieldsV4ExtendedField($queryInput: CrmExtendedFieldsV4ExtendedFieldRequestInput) {
  crmExtendedFieldsV4ExtendedField(queryInput: $queryInput) {
    createdDate
    dataType
    description
    displayName
    fieldType
    key
    namespace
    updatedDate
  }
}
Variables
{
  "queryInput": CrmExtendedFieldsV4ExtendedFieldRequestInput
}
Response
{
  "data": {
    "crmExtendedFieldsV4ExtendedField": {
      "createdDate": "xyz789",
      "dataType": "UNKNOWN_DATA_TYPE",
      "description": "xyz789",
      "displayName": "xyz789",
      "fieldType": "UNKNOWN",
      "key": "xyz789",
      "namespace": "abc123",
      "updatedDate": "abc123"
    }
  }
}

Fields

Description

Retrieves a list of extended fields.

For a detailed list of supported operations, see sorting and filtering for extended fields. To learn more about query language, see API Query Language.

Arguments
Name Description
queryInput - ContactsFieldsV4QueryExtendedFieldsRequestInput

Example

Query
query CrmExtendedFieldsV4Fields($queryInput: ContactsFieldsV4QueryExtendedFieldsRequestInput) {
  crmExtendedFieldsV4Fields(queryInput: $queryInput) {
    items {
      ...ContactsFieldsV4ExtendedFieldFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{
  "queryInput": ContactsFieldsV4QueryExtendedFieldsRequestInput
}
Response
{
  "data": {
    "crmExtendedFieldsV4Fields": {
      "items": [ContactsFieldsV4ExtendedField],
      "pageInfo": PageInfo
    }
  }
}

Mutations

DeleteExtendedField

Description

Deletes an extended field.

When an extended field is deleted, any contact data stored in the field is permanently deleted as well.

Response

Returns a Void

Arguments
Name Description
input - ContactsFieldsV4DeleteExtendedFieldRequestInput

Example

Query
mutation CrmExtendedFieldsV4DeleteExtendedField($input: ContactsFieldsV4DeleteExtendedFieldRequestInput) {
  crmExtendedFieldsV4DeleteExtendedField(input: $input)
}
Variables
{"input": ContactsFieldsV4DeleteExtendedFieldRequestInput}
Response
{"data": {"crmExtendedFieldsV4DeleteExtendedField": null}}

FindOrCreateExtendedField

Description

Retrieves a custom field with a given name, or creates one if it doesn't exist. The number of custom fields is limited to 100.

Successful calls to this endpoint always return a field, which can be passed to subsequent requests.

To find an existing custom field without potentially creating a new one, use Get Extended Field or List Extended Fields.

Example

Query
mutation CrmExtendedFieldsV4FindOrCreateExtendedField($input: ContactsFieldsV4FindOrCreateExtendedFieldRequestInput) {
  crmExtendedFieldsV4FindOrCreateExtendedField(input: $input) {
    field {
      ...ContactsFieldsV4ExtendedFieldFragment
    }
    newField
  }
}
Variables
{
  "input": ContactsFieldsV4FindOrCreateExtendedFieldRequestInput
}
Response
{
  "data": {
    "crmExtendedFieldsV4FindOrCreateExtendedField": {
      "field": ContactsFieldsV4ExtendedField,
      "newField": true
    }
  }
}

UpdateExtendedField

Description

Updates an extended field's specified properties.

Example

Query
mutation CrmExtendedFieldsV4UpdateExtendedField($input: ContactsFieldsV4UpdateExtendedFieldRequestInput) {
  crmExtendedFieldsV4UpdateExtendedField(input: $input) {
    field {
      ...ContactsFieldsV4ExtendedFieldFragment
    }
  }
}
Variables
{"input": ContactsFieldsV4UpdateExtendedFieldRequestInput}
Response
{
  "data": {
    "crmExtendedFieldsV4UpdateExtendedField": {
      "field": ContactsFieldsV4ExtendedField
    }
  }
}

Queries

ContactLabel

Description

Retrieves a label.

Response

Returns a ContactsLabelsV4ContactLabel

Arguments
Name Description
queryInput - CrmLabelsV4ContactLabelRequestInput

Example

Query
query CrmLabelsV4ContactLabel($queryInput: CrmLabelsV4ContactLabelRequestInput) {
  crmLabelsV4ContactLabel(queryInput: $queryInput) {
    createdDate
    displayName
    key
    labelType
    namespace
    namespaceDisplayName
    updatedDate
  }
}
Variables
{"queryInput": CrmLabelsV4ContactLabelRequestInput}
Response
{
  "data": {
    "crmLabelsV4ContactLabel": {
      "createdDate": "xyz789",
      "displayName": "abc123",
      "key": "abc123",
      "labelType": "UNKNOWN",
      "namespace": "abc123",
      "namespaceDisplayName": "abc123",
      "updatedDate": "abc123"
    }
  }
}

Labels

Description

Retrieves a list of contact labels. Up to 1000 labels can be returned per request.

For a detailed list of supported operations, see sorting and filtering for labels. To learn how to query labels, see API Query Language.

Arguments
Name Description
queryInput - ContactsLabelsV4QueryLabelsRequestInput

Example

Query
query CrmLabelsV4Labels($queryInput: ContactsLabelsV4QueryLabelsRequestInput) {
  crmLabelsV4Labels(queryInput: $queryInput) {
    items {
      ...ContactsLabelsV4ContactLabelFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{"queryInput": ContactsLabelsV4QueryLabelsRequestInput}
Response
{
  "data": {
    "crmLabelsV4Labels": {
      "items": [ContactsLabelsV4ContactLabel],
      "pageInfo": PageInfo
    }
  }
}

Mutations

DeleteLabel

Description

Deletes a label from the site and removes it from contacts it applies to.

Response

Returns a Void

Arguments
Name Description
input - ContactsLabelsV4DeleteLabelRequestInput

Example

Query
mutation CrmLabelsV4DeleteLabel($input: ContactsLabelsV4DeleteLabelRequestInput) {
  crmLabelsV4DeleteLabel(input: $input)
}
Variables
{"input": ContactsLabelsV4DeleteLabelRequestInput}
Response
{"data": {"crmLabelsV4DeleteLabel": null}}

FindOrCreateLabel

Description

Retrieves a label with a given name, or creates one if it doesn't exist.

Successful calls to this endpoint always return a label, which can be passed to subsequent requests.

For example, in the Contacts API, Label Contact and Unlabel Contact requests will fail if you include a nonexistant label. To ensure successful calls, you can call this endpoint first, and then use the response in the label and unlabel requests.

To find an existing label without potentially creating a new one, use Get Label or List Labels.

Example

Query
mutation CrmLabelsV4FindOrCreateLabel($input: ContactsLabelsV4FindOrCreateLabelRequestInput) {
  crmLabelsV4FindOrCreateLabel(input: $input) {
    label {
      ...ContactsLabelsV4ContactLabelFragment
    }
    newLabel
  }
}
Variables
{"input": ContactsLabelsV4FindOrCreateLabelRequestInput}
Response
{
  "data": {
    "crmLabelsV4FindOrCreateLabel": {
      "label": ContactsLabelsV4ContactLabel,
      "newLabel": false
    }
  }
}

UpdateLabel

Description

Updates a label's specified properties.

Arguments
Name Description
input - ContactsLabelsV4UpdateLabelRequestInput

Example

Query
mutation CrmLabelsV4UpdateLabel($input: ContactsLabelsV4UpdateLabelRequestInput) {
  crmLabelsV4UpdateLabel(input: $input) {
    label {
      ...ContactsLabelsV4ContactLabelFragment
    }
  }
}
Variables
{"input": ContactsLabelsV4UpdateLabelRequestInput}
Response
{
  "data": {
    "crmLabelsV4UpdateLabel": {
      "label": ContactsLabelsV4ContactLabel
    }
  }
}

Queries

DataItem

Description

Retrieves an item from a collection.

Response

Returns a CloudDataDataDataItem

Arguments
Name Description
queryInput - DataItemsV2DataItemRequestInput

Example

Query
query DataItemsV2DataItem($queryInput: DataItemsV2DataItemRequestInput) {
  dataItemsV2DataItem(queryInput: $queryInput) {
    data
    dataCollectionId
    id
  }
}
Variables
{"queryInput": DataItemsV2DataItemRequestInput}
Response
{
  "data": {
    "dataItemsV2DataItem": {
      "data": {},
      "dataCollectionId": "xyz789",
      "id": "abc123"
    }
  }
}

DataItems

Description

Retrieves a list of items, on the basis of the filtering, sorting, and paging preferences you provide.

For more details on using queries, see API Query Language.

Arguments
Name Description
queryInput - CloudDataDataQueryDataItemsRequestInput

Example

Query
query DataItemsV2DataItems($queryInput: CloudDataDataQueryDataItemsRequestInput) {
  dataItemsV2DataItems(queryInput: $queryInput) {
    items {
      ...CloudDataDataDataItemFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{"queryInput": CloudDataDataQueryDataItemsRequestInput}
Response
{
  "data": {
    "dataItemsV2DataItems": {
      "items": [CloudDataDataDataItem],
      "pageInfo": PageInfo
    }
  }
}

Mutations

AggregateDataItems

Description

Runs an aggregation on a data collection and returns the resulting list of items.

An aggregation enables you to perform certain calculations on your collection data, or on groups of items that you define, to retrieve meaningful summaries. You can also add paging, filtering, and sorting preferences to your aggregation to retrieve exactly what you need.

Arguments
Name Description
input - CloudDataDataAggregateDataItemsRequestInput

Example

Query
mutation DataItemsV2AggregateDataItems($input: CloudDataDataAggregateDataItemsRequestInput) {
  dataItemsV2AggregateDataItems(input: $input) {
    pagingMetadata {
      ...CloudDataDataUpstreamCommonPagingMetadataV2Fragment
    }
    results
  }
}
Variables
{"input": CloudDataDataAggregateDataItemsRequestInput}
Response
{
  "data": {
    "dataItemsV2AggregateDataItems": {
      "pagingMetadata": CloudDataDataUpstreamCommonPagingMetadataV2,
      "results": [{}]
    }
  }
}

BulkInsertDataItemReferences

Description

Inserts one or more references in the specified fields of items in a collection.

This endpoint adds one or more references to a collection. Each new reference in the dataItemReferences field specifies a referring item's ID, the field in which to insert the reference, and the ID of the referenced item.

Example

Query
mutation DataItemsV2BulkInsertDataItemReferences($input: CloudDataDataBulkInsertDataItemReferencesRequestInput) {
  dataItemsV2BulkInsertDataItemReferences(input: $input) {
    bulkActionMetadata {
      ...CloudDataDataUpstreamCommonBulkActionMetadataFragment
    }
    results {
      ...CloudDataDataBulkDataItemReferenceResultFragment
    }
  }
}
Variables
{
  "input": CloudDataDataBulkInsertDataItemReferencesRequestInput
}
Response
{
  "data": {
    "dataItemsV2BulkInsertDataItemReferences": {
      "bulkActionMetadata": CloudDataDataUpstreamCommonBulkActionMetadata,
      "results": [
        CloudDataDataBulkDataItemReferenceResult
      ]
    }
  }
}

BulkInsertDataItems

Description

Adds multiple items to a collection.

When each item is inserted into a collection, its ID is automatically assigned a random value. You can optionally provide your own ID when inserting the item. If you specify an ID that already exists in the collection, the insertion will fail.

Arguments
Name Description
input - CloudDataDataBulkInsertDataItemsRequestInput

Example

Query
mutation DataItemsV2BulkInsertDataItems($input: CloudDataDataBulkInsertDataItemsRequestInput) {
  dataItemsV2BulkInsertDataItems(input: $input) {
    bulkActionMetadata {
      ...CloudDataDataUpstreamCommonBulkActionMetadataFragment
    }
    results {
      ...CloudDataDataBulkDataItemResultFragment
    }
  }
}
Variables
{"input": CloudDataDataBulkInsertDataItemsRequestInput}
Response
{
  "data": {
    "dataItemsV2BulkInsertDataItems": {
      "bulkActionMetadata": CloudDataDataUpstreamCommonBulkActionMetadata,
      "results": [CloudDataDataBulkDataItemResult]
    }
  }
}

BulkRemoveDataItemReferences

Description

Removes one or more references.

Example

Query
mutation DataItemsV2BulkRemoveDataItemReferences($input: CloudDataDataBulkRemoveDataItemReferencesRequestInput) {
  dataItemsV2BulkRemoveDataItemReferences(input: $input) {
    bulkActionMetadata {
      ...CloudDataDataUpstreamCommonBulkActionMetadataFragment
    }
    results {
      ...CloudDataDataBulkDataItemReferenceResultFragment
    }
  }
}
Variables
{
  "input": CloudDataDataBulkRemoveDataItemReferencesRequestInput
}
Response
{
  "data": {
    "dataItemsV2BulkRemoveDataItemReferences": {
      "bulkActionMetadata": CloudDataDataUpstreamCommonBulkActionMetadata,
      "results": [
        CloudDataDataBulkDataItemReferenceResult
      ]
    }
  }
}

BulkRemoveDataItems

Description

Removes multiple items from a collection.

If any items in other collections reference the removed items in reference or multi-reference fields, those fields are cleared.

Note: Once an item has been removed from a collection, it can't be restored.

Arguments
Name Description
input - CloudDataDataBulkRemoveDataItemsRequestInput

Example

Query
mutation DataItemsV2BulkRemoveDataItems($input: CloudDataDataBulkRemoveDataItemsRequestInput) {
  dataItemsV2BulkRemoveDataItems(input: $input) {
    bulkActionMetadata {
      ...CloudDataDataUpstreamCommonBulkActionMetadataFragment
    }
    results {
      ...CloudDataDataBulkDataItemResultFragment
    }
  }
}
Variables
{"input": CloudDataDataBulkRemoveDataItemsRequestInput}
Response
{
  "data": {
    "dataItemsV2BulkRemoveDataItems": {
      "bulkActionMetadata": CloudDataDataUpstreamCommonBulkActionMetadata,
      "results": [CloudDataDataBulkDataItemResult]
    }
  }
}

BulkSaveDataItems

Description

Inserts or updates multiple items in a collection.

The Bulk Save Data Items endpoint inserts or updates each item provided, depending on whether it already exists in the collection. For each item:

  • If you don't provide an ID, a new item is created.

  • If you provide an ID that doesn't exist in the collection, a new item is created with that ID.

  • If an item with the ID you provide already exists in the collection, that item is updated. When an item is updated, its data._updatedDate field is changed to the current date and time.

Note: When you provide an item with an ID that already exists in the collection, the item you provide completely replaces the existing item with that ID. This means that all of the item's previous fields and values are lost.

Arguments
Name Description
input - CloudDataDataBulkSaveDataItemsRequestInput

Example

Query
mutation DataItemsV2BulkSaveDataItems($input: CloudDataDataBulkSaveDataItemsRequestInput) {
  dataItemsV2BulkSaveDataItems(input: $input) {
    bulkActionMetadata {
      ...CloudDataDataUpstreamCommonBulkActionMetadataFragment
    }
    results {
      ...CloudDataDataBulkDataItemResultFragment
    }
  }
}
Variables
{"input": CloudDataDataBulkSaveDataItemsRequestInput}
Response
{
  "data": {
    "dataItemsV2BulkSaveDataItems": {
      "bulkActionMetadata": CloudDataDataUpstreamCommonBulkActionMetadata,
      "results": [CloudDataDataBulkDataItemResult]
    }
  }
}

BulkUpdateDataItems

Description

Updates multiple items in a collection.

This endpoint replaces each specified data item's existing data with the payload provided in the request.

Each item in the request must include an ID. If an item is found in the specified collection with the same ID, that item is updated. If the collection doesn't contain an item with that ID, the update fails.

When an item is updated, its data._updatedDate field is changed to the current date and time.

Note: After each item is updated, it only contains the fields included in the request. If the existing item has fields with values and those fields aren't included in the updated item, their values are lost.

Arguments
Name Description
input - CloudDataDataBulkUpdateDataItemsRequestInput

Example

Query
mutation DataItemsV2BulkUpdateDataItems($input: CloudDataDataBulkUpdateDataItemsRequestInput) {
  dataItemsV2BulkUpdateDataItems(input: $input) {
    bulkActionMetadata {
      ...CloudDataDataUpstreamCommonBulkActionMetadataFragment
    }
    results {
      ...CloudDataDataBulkDataItemResultFragment
    }
  }
}
Variables
{"input": CloudDataDataBulkUpdateDataItemsRequestInput}
Response
{
  "data": {
    "dataItemsV2BulkUpdateDataItems": {
      "bulkActionMetadata": CloudDataDataUpstreamCommonBulkActionMetadata,
      "results": [CloudDataDataBulkDataItemResult]
    }
  }
}

CountDataItems

Description

Counts the number of items in a data collection that match the provided filtering preferences.

Arguments
Name Description
input - CloudDataDataCountDataItemsRequestInput

Example

Query
mutation DataItemsV2CountDataItems($input: CloudDataDataCountDataItemsRequestInput) {
  dataItemsV2CountDataItems(input: $input) {
    totalCount
  }
}
Variables
{"input": CloudDataDataCountDataItemsRequestInput}
Response
{"data": {"dataItemsV2CountDataItems": {"totalCount": 987}}}

InsertDataItem

Description

Adds an item to a collection.

An item can only be inserted into an existing connection. You can create a new collection using the Data Collections API.

When an item is inserted into a collection, the item's ID is automatically assigned a random value. You can optionally provide a custom ID in dataItem.id when inserting the item. If you specify an ID that already exists in the collection, the insertion will fail.

If dataItem.data is empty, a new item is created with no data fields.

Arguments
Name Description
input - CloudDataDataInsertDataItemRequestInput

Example

Query
mutation DataItemsV2InsertDataItem($input: CloudDataDataInsertDataItemRequestInput) {
  dataItemsV2InsertDataItem(input: $input) {
    dataItem {
      ...CloudDataDataDataItemFragment
    }
  }
}
Variables
{"input": CloudDataDataInsertDataItemRequestInput}
Response
{
  "data": {
    "dataItemsV2InsertDataItem": {
      "dataItem": CloudDataDataDataItem
    }
  }
}

InsertDataItemReference

Description

Inserts a reference in the specified field in an item in a collection.

A reference in the dataItemReference field specifies a referring item's ID, the field in which to insert the reference, and the ID of the referenced item.

Example

Query
mutation DataItemsV2InsertDataItemReference($input: CloudDataDataInsertDataItemReferenceRequestInput) {
  dataItemsV2InsertDataItemReference(input: $input) {
    dataItemReference {
      ...CloudDataDataDataItemReferenceFragment
    }
  }
}
Variables
{
  "input": CloudDataDataInsertDataItemReferenceRequestInput
}
Response
{
  "data": {
    "dataItemsV2InsertDataItemReference": {
      "dataItemReference": CloudDataDataDataItemReference
    }
  }
}

IsReferencedDataItem

Description

Checks whether a field in a referring item contains a reference to a specified item.

Example

Query
mutation DataItemsV2IsReferencedDataItem($input: CloudDataDataIsReferencedDataItemRequestInput) {
  dataItemsV2IsReferencedDataItem(input: $input) {
    isReferenced
  }
}
Variables
{"input": CloudDataDataIsReferencedDataItemRequestInput}
Response
{"data": {"dataItemsV2IsReferencedDataItem": {"isReferenced": false}}}

QueryDistinctValues

Description

Retrieves a list of distinct values for a given field in all items that match a query, without duplicates.

As with the Query Data Items endpoint, this endpoint retrieves items based on the filtering, sorting, and paging preferences you provide. However, the Query Distinct Values endpoint doesn't return all of the full items that match the query. Rather, it returns all unique values of the field you specify in fieldName for items that match the query. If more than one item has the same value for that field, that value appears only once.

For more details on using queries, see API Query Language.

Arguments
Name Description
input - CloudDataDataQueryDistinctValuesRequestInput

Example

Query
mutation DataItemsV2QueryDistinctValues($input: CloudDataDataQueryDistinctValuesRequestInput) {
  dataItemsV2QueryDistinctValues(input: $input) {
    distinctValues
    pagingMetadata {
      ...CloudDataDataUpstreamCommonPagingMetadataV2Fragment
    }
  }
}
Variables
{"input": CloudDataDataQueryDistinctValuesRequestInput}
Response
{
  "data": {
    "dataItemsV2QueryDistinctValues": {
      "distinctValues": [{}],
      "pagingMetadata": CloudDataDataUpstreamCommonPagingMetadataV2
    }
  }
}

QueryReferencedDataItems

Description

Retrieves the full items referenced in the specified field of an item.

Reference and multi-reference fields refer to items in different collections. Use this endpoint to retrieve the full details of the referenced items themselves.

For example, suppose you have a Movies collection with an Actors field that contains references to items in a People collection. Querying the Movies collection using the Query Referenced Data Items endpoint returns the relevant People items referenced in the Actors field of the specified Movie item. This gives you information from the People collection about each of the actors in the specified movie.

Example

Query
mutation DataItemsV2QueryReferencedDataItems($input: CloudDataDataQueryReferencedDataItemsRequestInput) {
  dataItemsV2QueryReferencedDataItems(input: $input) {
    pagingMetadata {
      ...CloudDataDataUpstreamCommonPagingMetadataV2Fragment
    }
    results {
      ...CloudDataDataQueryReferencedDataItemsResponseReferencedResultFragment
    }
  }
}
Variables
{
  "input": CloudDataDataQueryReferencedDataItemsRequestInput
}
Response
{
  "data": {
    "dataItemsV2QueryReferencedDataItems": {
      "pagingMetadata": CloudDataDataUpstreamCommonPagingMetadataV2,
      "results": [
        CloudDataDataQueryReferencedDataItemsResponseReferencedResult
      ]
    }
  }
}

RemoveDataItem

Description

Removes an item from a collection.

If any items in other collections reference the removed item in reference or multi-reference fields, those fields are cleared.

Note: Once an item has been removed from a collection, it can't be restored.

Arguments
Name Description
input - CloudDataDataRemoveDataItemRequestInput

Example

Query
mutation DataItemsV2RemoveDataItem($input: CloudDataDataRemoveDataItemRequestInput) {
  dataItemsV2RemoveDataItem(input: $input) {
    dataItem {
      ...CloudDataDataDataItemFragment
    }
  }
}
Variables
{"input": CloudDataDataRemoveDataItemRequestInput}
Response
{
  "data": {
    "dataItemsV2RemoveDataItem": {
      "dataItem": CloudDataDataDataItem
    }
  }
}

RemoveDataItemReference

Description

Removes the specified reference from the specified field.

Example

Query
mutation DataItemsV2RemoveDataItemReference($input: CloudDataDataRemoveDataItemReferenceRequestInput) {
  dataItemsV2RemoveDataItemReference(input: $input) {
    dataItemReference {
      ...CloudDataDataDataItemReferenceFragment
    }
  }
}
Variables
{
  "input": CloudDataDataRemoveDataItemReferenceRequestInput
}
Response
{
  "data": {
    "dataItemsV2RemoveDataItemReference": {
      "dataItemReference": CloudDataDataDataItemReference
    }
  }
}

ReplaceDataItemReferences

Description

Replaces references in a specified field of a specified data item.

This endpoint replaces the existing reference or references contained in the field specified in referringItemFieldName within the data item specified in referringItemId. The endpoint removes existing references and in their place it adds references to the items specified in newReferencedItemIds.

Note: If you pass an empty array in newReferencedItemIds, all existing references are removed.

Example

Query
mutation DataItemsV2ReplaceDataItemReferences($input: CloudDataDataReplaceDataItemReferencesRequestInput) {
  dataItemsV2ReplaceDataItemReferences(input: $input) {
    dataItemReferences {
      ...CloudDataDataDataItemReferenceFragment
    }
  }
}
Variables
{
  "input": CloudDataDataReplaceDataItemReferencesRequestInput
}
Response
{
  "data": {
    "dataItemsV2ReplaceDataItemReferences": {
      "dataItemReferences": [
        CloudDataDataDataItemReference
      ]
    }
  }
}

SaveDataItem

Description

Inserts or updates an item in a collection.

The Save Data Item endpoint inserts or updates the specified item, depending on whether it already exists in the collection.

  • If you don't provide an ID, a new item is created.

  • If you provide an ID that does not exist in the collection, a new item is created with that ID.

  • If an item with the ID you provide already exists in the collection, that item is updated. When an item is updated, its data._updatedDate field is changed to the current date and time.

Note: When you provide an item with an ID that already exists in the collection, the payload you provide in dataItem.data replaces the existing item with that ID. This means that the item's previous fields and values are lost.

Arguments
Name Description
input - CloudDataDataSaveDataItemRequestInput

Example

Query
mutation DataItemsV2SaveDataItem($input: CloudDataDataSaveDataItemRequestInput) {
  dataItemsV2SaveDataItem(input: $input) {
    action
    dataItem {
      ...CloudDataDataDataItemFragment
    }
  }
}
Variables
{"input": CloudDataDataSaveDataItemRequestInput}
Response
{
  "data": {
    "dataItemsV2SaveDataItem": {
      "action": "UNKNOWN_ACTION",
      "dataItem": CloudDataDataDataItem
    }
  }
}

TruncateDataItems

Description

Removes all items from a collection.

If any items in other collections reference the removed items in reference or multi-reference fields, those fields are cleared.

Note: Once items have been removed from a collection, they can't be restored.

Response

Returns a Void

Arguments
Name Description
input - CloudDataDataTruncateDataItemsRequestInput

Example

Query
mutation DataItemsV2TruncateDataItems($input: CloudDataDataTruncateDataItemsRequestInput) {
  dataItemsV2TruncateDataItems(input: $input)
}
Variables
{"input": CloudDataDataTruncateDataItemsRequestInput}
Response
{"data": {"dataItemsV2TruncateDataItems": null}}

UpdateDataItem

Description

Updates an item in a collection.

This endpoint replaces the data item's existing data with the payload provided in dataItem.data in the request.

To update an item, you need to specify an item ID and a collection ID. If an item is found in the specified collection with the specified ID, that item is updated. If the collection doesn't contain an item with that ID, the request fails.

When an item is updated, its data._updatedDate field is changed to the current date and time.

Note: After an item is updated, it only contains the fields included in the dataItem.data payload in Update Data Item request. If the existing item has fields with values and those fields aren't included in the updated item, their values are lost.

Arguments
Name Description
input - CloudDataDataUpdateDataItemRequestInput

Example

Query
mutation DataItemsV2UpdateDataItem($input: CloudDataDataUpdateDataItemRequestInput) {
  dataItemsV2UpdateDataItem(input: $input) {
    dataItem {
      ...CloudDataDataDataItemFragment
    }
  }
}
Variables
{"input": CloudDataDataUpdateDataItemRequestInput}
Response
{
  "data": {
    "dataItemsV2UpdateDataItem": {
      "dataItem": CloudDataDataDataItem
    }
  }
}

Queries

Cart

Description

Retrieves a cart.

Response

Returns an EcomCartV1Cart

Arguments
Name Description
queryInput - EcomCartV1CartRequestInput

Example

Query
query EcomCartV1Cart($queryInput: EcomCartV1CartRequestInput) {
  ecomCartV1Cart(queryInput: $queryInput) {
    appliedDiscounts {
      ...EcomCartV1CartDiscountFragment
    }
    buyerInfo {
      ...EcomCartV1BuyerInfoFragment
    }
    buyerLanguage
    buyerNote
    checkoutId
    contactInfo {
      ...EcommercePlatformCommonAddressWithContactFragment
    }
    conversionCurrency
    createdDate
    currency
    id
    lineItems {
      ...EcomCartV1LineItemFragment
    }
    overrideCheckoutUrl
    purchaseFlowId
    selectedShippingOption {
      ...EcomTotalsCalculatorV1SelectedShippingOptionFragment
    }
    siteLanguage
    taxIncludedInPrices
    updatedDate
    weightUnit
  }
}
Variables
{"queryInput": EcomCartV1CartRequestInput}
Response
{
  "data": {
    "ecomCartV1Cart": {
      "appliedDiscounts": [EcomCartV1CartDiscount],
      "buyerInfo": EcomCartV1BuyerInfo,
      "buyerLanguage": "abc123",
      "buyerNote": "abc123",
      "checkoutId": "62b7b87d-a24a-434d-8666-e270489eac09",
      "contactInfo": EcommercePlatformCommonAddressWithContact,
      "conversionCurrency": "xyz789",
      "createdDate": "abc123",
      "currency": "xyz789",
      "id": "62b7b87d-a24a-434d-8666-e270489eac09",
      "lineItems": [EcomCartV1LineItem],
      "overrideCheckoutUrl": "abc123",
      "purchaseFlowId": "62b7b87d-a24a-434d-8666-e270489eac09",
      "selectedShippingOption": EcomTotalsCalculatorV1SelectedShippingOption,
      "siteLanguage": "abc123",
      "taxIncludedInPrices": true,
      "updatedDate": "abc123",
      "weightUnit": "UNSPECIFIED_WEIGHT_UNIT"
    }
  }
}

Mutations

AddToCart

Description

Adds catalog line items to a cart.

Note: When adding catalog line items to your cart, the lineItems.catalogReference.appId and lineItems.catalogReference.catalogItemId fields are required.

Response

Returns an EcomCartV1AddToCartResponse

Arguments
Name Description
input - EcomCartV1AddToCartRequestInput

Example

Query
mutation EcomCartV1AddToCart($input: EcomCartV1AddToCartRequestInput) {
  ecomCartV1AddToCart(input: $input) {
    cart {
      ...EcomCartV1CartFragment
    }
  }
}
Variables
{"input": EcomCartV1AddToCartRequestInput}
Response
{
  "data": {
    "ecomCartV1AddToCart": {"cart": EcomCartV1Cart}
  }
}

AddToCurrentCart

Description

Adds catalog and/or custom line items to the current site visitor's cart.

Response

Returns an EcomCartV1AddToCartResponse

Arguments
Name Description
input - EcomCartV1AddToCurrentCartRequestInput

Example

Query
mutation EcomCartV1AddToCurrentCart($input: EcomCartV1AddToCurrentCartRequestInput) {
  ecomCartV1AddToCurrentCart(input: $input) {
    cart {
      ...EcomCartV1CartFragment
    }
  }
}
Variables
{"input": EcomCartV1AddToCurrentCartRequestInput}
Response
{
  "data": {
    "ecomCartV1AddToCurrentCart": {"cart": EcomCartV1Cart}
  }
}

CreateCart

Description

Creates a cart.

Note: When adding catalog line items, the lineItems.catalogReference.appId and lineItems.catalogReference.catalogItemId fields are required.

Response

Returns an EcomCartV1CreateCartResponse

Arguments
Name Description
input - EcomCartV1CreateCartRequestInput

Example

Query
mutation EcomCartV1CreateCart($input: EcomCartV1CreateCartRequestInput) {
  ecomCartV1CreateCart(input: $input) {
    cart {
      ...EcomCartV1CartFragment
    }
  }
}
Variables
{"input": EcomCartV1CreateCartRequestInput}
Response
{
  "data": {
    "ecomCartV1CreateCart": {"cart": EcomCartV1Cart}
  }
}

CreateCheckout

Description

Creates a checkout from a cart.

If a checkout for the specified cart already exists, that checkout is updated with any new information from the cart.

Response

Returns an EcomCartV1CreateCheckoutResponse

Arguments
Name Description
input - EcomCartV1CreateCheckoutRequestInput

Example

Query
mutation EcomCartV1CreateCheckout($input: EcomCartV1CreateCheckoutRequestInput) {
  ecomCartV1CreateCheckout(input: $input) {
    checkoutId
  }
}
Variables
{"input": EcomCartV1CreateCheckoutRequestInput}
Response
{
  "data": {
    "ecomCartV1CreateCheckout": {
      "checkoutId": "abc123"
    }
  }
}

CreateCheckoutFromCurrentCart

Description

Creates a checkout from the current site visitor's cart.

If a checkout was already created from the specified cart, that checkout will be updated (synced) with any new information from the cart.

Response

Returns an EcomCartV1CreateCheckoutResponse

Arguments
Name Description
input - EcomCartV1CreateCheckoutFromCurrentCartRequestInput

Example

Query
mutation EcomCartV1CreateCheckoutFromCurrentCart($input: EcomCartV1CreateCheckoutFromCurrentCartRequestInput) {
  ecomCartV1CreateCheckoutFromCurrentCart(input: $input) {
    checkoutId
  }
}
Variables
{
  "input": EcomCartV1CreateCheckoutFromCurrentCartRequestInput
}
Response
{
  "data": {
    "ecomCartV1CreateCheckoutFromCurrentCart": {
      "checkoutId": "abc123"
    }
  }
}

CurrentCartGetCurrentCart

Description

Retrieves the current session's active cart.

Response

Returns an EcomCartV1GetCurrentCartResponse

Arguments
Name Description
input - Void

Example

Query
mutation EcomCartV1CurrentCartGetCurrentCart($input: Void) {
  ecomCartV1CurrentCartGetCurrentCart(input: $input) {
    cart {
      ...EcomCartV1CartFragment
    }
  }
}
Variables
{"input": null}
Response
{
  "data": {
    "ecomCartV1CurrentCartGetCurrentCart": {
      "cart": EcomCartV1Cart
    }
  }
}

DeleteCart

Description

Deletes a cart.

Response

Returns a Void

Arguments
Name Description
input - EcomCartV1DeleteCartRequestInput

Example

Query
mutation EcomCartV1DeleteCart($input: EcomCartV1DeleteCartRequestInput) {
  ecomCartV1DeleteCart(input: $input)
}
Variables
{"input": EcomCartV1DeleteCartRequestInput}
Response
{"data": {"ecomCartV1DeleteCart": null}}

DeleteCurrentCart

Description

Deletes the current site visitor's cart.

Response

Returns a Void

Arguments
Name Description
input - Void

Example

Query
mutation EcomCartV1DeleteCurrentCart($input: Void) {
  ecomCartV1DeleteCurrentCart(input: $input)
}
Variables
{"input": null}
Response
{"data": {"ecomCartV1DeleteCurrentCart": null}}

EstimateCurrentCartTotals

Description

Estimates the price totals (including tax) of the current site visitor's cart, based on a selected carrier service, shipping address, and billing information.

Response

Returns an EcomCartV1EstimateTotalsResponse

Arguments
Name Description
input - EcomCartV1EstimateCurrentCartTotalsRequestInput

Example

Query
mutation EcomCartV1EstimateCurrentCartTotals($input: EcomCartV1EstimateCurrentCartTotalsRequestInput) {
  ecomCartV1EstimateCurrentCartTotals(input: $input) {
    additionalFees {
      ...EcomTotalsCalculatorV1AdditionalFeeFragment
    }
    appliedDiscounts {
      ...EcomTotalsCalculatorV1AppliedDiscountFragment
    }
    calculatedLineItems {
      ...EcomTotalsCalculatorV1CalculatedLineItemFragment
    }
    calculationErrors {
      ...EcomTotalsCalculatorV1CalculationErrorsFragment
    }
    cart {
      ...EcomCartV1CartFragment
    }
    currency
    giftCard {
      ...EcomTotalsCalculatorV1GiftCardFragment
    }
    membershipOptions {
      ...EcomTotalsCalculatorV1MembershipOptionsFragment
    }
    payLater {
      ...EcomTotalsCalculatorV1PriceSummaryFragment
    }
    payNow {
      ...EcomTotalsCalculatorV1PriceSummaryFragment
    }
    priceSummary {
      ...EcomTotalsCalculatorV1PriceSummaryFragment
    }
    shippingInfo {
      ...EcomTotalsCalculatorV1ShippingInformationFragment
    }
    taxSummary {
      ...EcomTotalsCalculatorV1TaxSummaryFragment
    }
    violations {
      ...EcommerceValidationsSpiV1ViolationFragment
    }
    weightUnit
  }
}
Variables
{"input": EcomCartV1EstimateCurrentCartTotalsRequestInput}
Response
{
  "data": {
    "ecomCartV1EstimateCurrentCartTotals": {
      "additionalFees": [
        EcomTotalsCalculatorV1AdditionalFee
      ],
      "appliedDiscounts": [
        EcomTotalsCalculatorV1AppliedDiscount
      ],
      "calculatedLineItems": [
        EcomTotalsCalculatorV1CalculatedLineItem
      ],
      "calculationErrors": EcomTotalsCalculatorV1CalculationErrors,
      "cart": EcomCartV1Cart,
      "currency": "abc123",
      "giftCard": EcomTotalsCalculatorV1GiftCard,
      "membershipOptions": EcomTotalsCalculatorV1MembershipOptions,
      "payLater": EcomTotalsCalculatorV1PriceSummary,
      "payNow": EcomTotalsCalculatorV1PriceSummary,
      "priceSummary": EcomTotalsCalculatorV1PriceSummary,
      "shippingInfo": EcomTotalsCalculatorV1ShippingInformation,
      "taxSummary": EcomTotalsCalculatorV1TaxSummary,
      "violations": [EcommerceValidationsSpiV1Violation],
      "weightUnit": "UNSPECIFIED_WEIGHT_UNIT"
    }
  }
}

EstimateTotals

Description

Estimates a cart's price totals (including tax), based on a selected carrier service, shipping address, and billing information.

Response

Returns an EcomCartV1EstimateTotalsResponse

Arguments
Name Description
input - EcomCartV1EstimateTotalsRequestInput

Example

Query
mutation EcomCartV1EstimateTotals($input: EcomCartV1EstimateTotalsRequestInput) {
  ecomCartV1EstimateTotals(input: $input) {
    additionalFees {
      ...EcomTotalsCalculatorV1AdditionalFeeFragment
    }
    appliedDiscounts {
      ...EcomTotalsCalculatorV1AppliedDiscountFragment
    }
    calculatedLineItems {
      ...EcomTotalsCalculatorV1CalculatedLineItemFragment
    }
    calculationErrors {
      ...EcomTotalsCalculatorV1CalculationErrorsFragment
    }
    cart {
      ...EcomCartV1CartFragment
    }
    currency
    giftCard {
      ...EcomTotalsCalculatorV1GiftCardFragment
    }
    membershipOptions {
      ...EcomTotalsCalculatorV1MembershipOptionsFragment
    }
    payLater {
      ...EcomTotalsCalculatorV1PriceSummaryFragment
    }
    payNow {
      ...EcomTotalsCalculatorV1PriceSummaryFragment
    }
    priceSummary {
      ...EcomTotalsCalculatorV1PriceSummaryFragment
    }
    shippingInfo {
      ...EcomTotalsCalculatorV1ShippingInformationFragment
    }
    taxSummary {
      ...EcomTotalsCalculatorV1TaxSummaryFragment
    }
    violations {
      ...EcommerceValidationsSpiV1ViolationFragment
    }
    weightUnit
  }
}
Variables
{"input": EcomCartV1EstimateTotalsRequestInput}
Response
{
  "data": {
    "ecomCartV1EstimateTotals": {
      "additionalFees": [
        EcomTotalsCalculatorV1AdditionalFee
      ],
      "appliedDiscounts": [
        EcomTotalsCalculatorV1AppliedDiscount
      ],
      "calculatedLineItems": [
        EcomTotalsCalculatorV1CalculatedLineItem
      ],
      "calculationErrors": EcomTotalsCalculatorV1CalculationErrors,
      "cart": EcomCartV1Cart,
      "currency": "abc123",
      "giftCard": EcomTotalsCalculatorV1GiftCard,
      "membershipOptions": EcomTotalsCalculatorV1MembershipOptions,
      "payLater": EcomTotalsCalculatorV1PriceSummary,
      "payNow": EcomTotalsCalculatorV1PriceSummary,
      "priceSummary": EcomTotalsCalculatorV1PriceSummary,
      "shippingInfo": EcomTotalsCalculatorV1ShippingInformation,
      "taxSummary": EcomTotalsCalculatorV1TaxSummary,
      "violations": [EcommerceValidationsSpiV1Violation],
      "weightUnit": "UNSPECIFIED_WEIGHT_UNIT"
    }
  }
}

RemoveCoupon

Description

Removes the coupon from a cart.

Response

Returns an EcomCartV1RemoveCouponResponse

Arguments
Name Description
input - EcomCartV1RemoveCouponRequestInput

Example

Query
mutation EcomCartV1RemoveCoupon($input: EcomCartV1RemoveCouponRequestInput) {
  ecomCartV1RemoveCoupon(input: $input) {
    cart {
      ...EcomCartV1CartFragment
    }
  }
}
Variables
{"input": EcomCartV1RemoveCouponRequestInput}
Response
{
  "data": {
    "ecomCartV1RemoveCoupon": {"cart": EcomCartV1Cart}
  }
}

RemoveCouponFromCurrentCart

Description

Removes the coupon from the current site visitor's cart.

Response

Returns an EcomCartV1RemoveCouponResponse

Arguments
Name Description
input - Void

Example

Query
mutation EcomCartV1RemoveCouponFromCurrentCart($input: Void) {
  ecomCartV1RemoveCouponFromCurrentCart(input: $input) {
    cart {
      ...EcomCartV1CartFragment
    }
  }
}
Variables
{"input": null}
Response
{
  "data": {
    "ecomCartV1RemoveCouponFromCurrentCart": {
      "cart": EcomCartV1Cart
    }
  }
}

RemoveLineItems

Description

Removes line items from a cart.

Response

Returns an EcomCartV1RemoveLineItemsResponse

Arguments
Name Description
input - EcomCartV1RemoveLineItemsRequestInput

Example

Query
mutation EcomCartV1RemoveLineItems($input: EcomCartV1RemoveLineItemsRequestInput) {
  ecomCartV1RemoveLineItems(input: $input) {
    cart {
      ...EcomCartV1CartFragment
    }
  }
}
Variables
{"input": EcomCartV1RemoveLineItemsRequestInput}
Response
{
  "data": {
    "ecomCartV1RemoveLineItems": {"cart": EcomCartV1Cart}
  }
}

RemoveLineItemsFromCurrentCart

Description

Removes line items from the current site visitor's cart.

Response

Returns an EcomCartV1RemoveLineItemsResponse

Arguments
Name Description
input - EcomCartV1RemoveLineItemsFromCurrentCartRequestInput

Example

Query
mutation EcomCartV1RemoveLineItemsFromCurrentCart($input: EcomCartV1RemoveLineItemsFromCurrentCartRequestInput) {
  ecomCartV1RemoveLineItemsFromCurrentCart(input: $input) {
    cart {
      ...EcomCartV1CartFragment
    }
  }
}
Variables
{
  "input": EcomCartV1RemoveLineItemsFromCurrentCartRequestInput
}
Response
{
  "data": {
    "ecomCartV1RemoveLineItemsFromCurrentCart": {
      "cart": EcomCartV1Cart
    }
  }
}

UpdateCart

Description

Updates a cart's properties.

Response

Returns an EcomCartV1UpdateCartResponse

Arguments
Name Description
input - EcomCartV1UpdateCartRequestInput

Example

Query
mutation EcomCartV1UpdateCart($input: EcomCartV1UpdateCartRequestInput) {
  ecomCartV1UpdateCart(input: $input) {
    cart {
      ...EcomCartV1CartFragment
    }
  }
}
Variables
{"input": EcomCartV1UpdateCartRequestInput}
Response
{
  "data": {
    "ecomCartV1UpdateCart": {"cart": EcomCartV1Cart}
  }
}

UpdateCurrentCart

Description

Updates the current site visitor's cart properties.

Response

Returns an EcomCartV1UpdateCartResponse

Arguments
Name Description
input - EcomCartV1UpdateCartRequestInput

Example

Query
mutation EcomCartV1UpdateCurrentCart($input: EcomCartV1UpdateCartRequestInput) {
  ecomCartV1UpdateCurrentCart(input: $input) {
    cart {
      ...EcomCartV1CartFragment
    }
  }
}
Variables
{"input": EcomCartV1UpdateCartRequestInput}
Response
{
  "data": {
    "ecomCartV1UpdateCurrentCart": {
      "cart": EcomCartV1Cart
    }
  }
}

UpdateCurrentCartLineItemQuantity

Description

Updates the quantity of one or more line items on the current site visitor's cart.

Example

Query
mutation EcomCartV1UpdateCurrentCartLineItemQuantity($input: EcomCartV1UpdateCurrentCartLineItemQuantityRequestInput) {
  ecomCartV1UpdateCurrentCartLineItemQuantity(input: $input) {
    cart {
      ...EcomCartV1CartFragment
    }
  }
}
Variables
{
  "input": EcomCartV1UpdateCurrentCartLineItemQuantityRequestInput
}
Response
{
  "data": {
    "ecomCartV1UpdateCurrentCartLineItemQuantity": {
      "cart": EcomCartV1Cart
    }
  }
}

UpdateLineItemsQuantity

Description

Updates the quantity of one or more line items in a cart.

Arguments
Name Description
input - EcomCartV1UpdateLineItemsQuantityRequestInput

Example

Query
mutation EcomCartV1UpdateLineItemsQuantity($input: EcomCartV1UpdateLineItemsQuantityRequestInput) {
  ecomCartV1UpdateLineItemsQuantity(input: $input) {
    cart {
      ...EcomCartV1CartFragment
    }
  }
}
Variables
{"input": EcomCartV1UpdateLineItemsQuantityRequestInput}
Response
{
  "data": {
    "ecomCartV1UpdateLineItemsQuantity": {
      "cart": EcomCartV1Cart
    }
  }
}

Mutations

AddToCheckout

Description

Adds line items to a checkout.

Note: For more information on what to pass to lineItems.catalogReference, see eCommerce Integration in the Wix Stores Catalog API.

Arguments
Name Description
input - EcomCheckoutV1AddToCheckoutRequestInput

Example

Query
mutation EcomCheckoutV1AddToCheckout($input: EcomCheckoutV1AddToCheckoutRequestInput) {
  ecomCheckoutV1AddToCheckout(input: $input) {
    checkout {
      ...EcomCheckoutV1CheckoutFragment
    }
  }
}
Variables
{"input": EcomCheckoutV1AddToCheckoutRequestInput}
Response
{
  "data": {
    "ecomCheckoutV1AddToCheckout": {
      "checkout": EcomCheckoutV1Checkout
    }
  }
}

CreateCheckout

Description

Creates a checkout.

Note: For more information on what to pass to lineItems.catalogReference, see eCommerce Integration in the Wix Stores Catalog API.

Arguments
Name Description
input - EcomCheckoutV1CreateCheckoutRequestInput

Example

Query
mutation EcomCheckoutV1CreateCheckout($input: EcomCheckoutV1CreateCheckoutRequestInput) {
  ecomCheckoutV1CreateCheckout(input: $input) {
    checkout {
      ...EcomCheckoutV1CheckoutFragment
    }
  }
}
Variables
{"input": EcomCheckoutV1CreateCheckoutRequestInput}
Response
{
  "data": {
    "ecomCheckoutV1CreateCheckout": {
      "checkout": EcomCheckoutV1Checkout
    }
  }
}

CreateOrder

Description

Creates an order from a specified checkout.

Note: The following requirements must be met for an order to be created from a checkout.

  • A checkout cannot have calculation errors. Pass the checkout._id to Get Checkout and take a look at the calculationErrors field.
  • A checkout must have at least 1 line item.
  • All of the line Items have an availability.status of "AVAILABLE" or "PARTIALLY_AVAILABLE".
  • If there is a payment to be made, meaning that priceSummary.total is greater than 0, the billingInfo.address field must be provided.
  • When a checkout has line items to be shipped, the shippingInfo.shippingDestination.address and shippingInfo.selectedCarrierServiceOption fields must be provided.
  • When a checkout has line items for pickup, the shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails field must be provided.
Response

Returns an EcomCheckoutV1CreateOrderResponse

Arguments
Name Description
input - EcomCheckoutV1CreateOrderRequestInput

Example

Query
mutation EcomCheckoutV1CreateOrder($input: EcomCheckoutV1CreateOrderRequestInput) {
  ecomCheckoutV1CreateOrder(input: $input) {
    orderId
    paymentGatewayOrderId
    subscriptionId
  }
}
Variables
{"input": EcomCheckoutV1CreateOrderRequestInput}
Response
{
  "data": {
    "ecomCheckoutV1CreateOrder": {
      "orderId": "62b7b87d-a24a-434d-8666-e270489eac09",
      "paymentGatewayOrderId": "abc123",
      "subscriptionId": "62b7b87d-a24a-434d-8666-e270489eac09"
    }
  }
}

GetCheckoutUrl

Description

Retrieves the checkout page URL of a specified checkout.

By default, a checkoutUrl generates for a checkout and directs to a standard Wix checkout page. However, if overrideCheckoutUrl has a value, it will replace and set the value of checkoutUrl.

Arguments
Name Description
input - EcomCheckoutV1GetCheckoutURLRequestInput

Example

Query
mutation EcomCheckoutV1GetCheckoutUrl($input: EcomCheckoutV1GetCheckoutURLRequestInput) {
  ecomCheckoutV1GetCheckoutUrl(input: $input) {
    checkoutUrl
  }
}
Variables
{"input": EcomCheckoutV1GetCheckoutURLRequestInput}
Response
{
  "data": {
    "ecomCheckoutV1GetCheckoutUrl": {
      "checkoutUrl": "abc123"
    }
  }
}

MarkCheckoutAsCompleted

Description

Sets completed to true to mark a checkout as completed.

When an order is completed through Wix, the completed field in the associated checkout object will automatically be updated to true. If an order is completed through a separate system, use this endpoint to manually mark the checkout as completed.

Response

Returns a Void

Arguments
Name Description
input - EcomCheckoutV1MarkCheckoutAsCompletedRequestInput

Example

Query
mutation EcomCheckoutV1MarkCheckoutAsCompleted($input: EcomCheckoutV1MarkCheckoutAsCompletedRequestInput) {
  ecomCheckoutV1MarkCheckoutAsCompleted(input: $input)
}
Variables
{
  "input": EcomCheckoutV1MarkCheckoutAsCompletedRequestInput
}
Response
{"data": {"ecomCheckoutV1MarkCheckoutAsCompleted": null}}

RemoveCoupon

Description

Removes the coupon from a specified checkout.

Arguments
Name Description
input - EcomCheckoutV1RemoveCouponRequestInput

Example

Query
mutation EcomCheckoutV1RemoveCoupon($input: EcomCheckoutV1RemoveCouponRequestInput) {
  ecomCheckoutV1RemoveCoupon(input: $input) {
    checkout {
      ...EcomCheckoutV1CheckoutFragment
    }
  }
}
Variables
{"input": EcomCheckoutV1RemoveCouponRequestInput}
Response
{
  "data": {
    "ecomCheckoutV1RemoveCoupon": {
      "checkout": EcomCheckoutV1Checkout
    }
  }
}

RemoveGiftCard

Description

Removes the gift card from a specified checkout.

Arguments
Name Description
input - EcomCheckoutV1RemoveGiftCardRequestInput

Example

Query
mutation EcomCheckoutV1RemoveGiftCard($input: EcomCheckoutV1RemoveGiftCardRequestInput) {
  ecomCheckoutV1RemoveGiftCard(input: $input) {
    checkout {
      ...EcomCheckoutV1CheckoutFragment
    }
  }
}
Variables
{"input": EcomCheckoutV1RemoveGiftCardRequestInput}
Response
{
  "data": {
    "ecomCheckoutV1RemoveGiftCard": {
      "checkout": EcomCheckoutV1Checkout
    }
  }
}

RemoveLineItems

Description

Removes specified line items from a checkout.

Arguments
Name Description
input - EcomCheckoutV1RemoveLineItemsRequestInput

Example

Query
mutation EcomCheckoutV1RemoveLineItems($input: EcomCheckoutV1RemoveLineItemsRequestInput) {
  ecomCheckoutV1RemoveLineItems(input: $input) {
    checkout {
      ...EcomCheckoutV1CheckoutFragment
    }
  }
}
Variables
{"input": EcomCheckoutV1RemoveLineItemsRequestInput}
Response
{
  "data": {
    "ecomCheckoutV1RemoveLineItems": {
      "checkout": EcomCheckoutV1Checkout
    }
  }
}

RemoveOverrideCheckoutUrl

Description

Removes the overrideCheckoutUrl from a specified checkout.

When overrideCheckoutUrl is removed, the checkoutUrl will be set to the default, standard Wix checkout page URL.

Example

Query
mutation EcomCheckoutV1RemoveOverrideCheckoutUrl($input: EcomCheckoutV1RemoveOverrideCheckoutUrlRequestInput) {
  ecomCheckoutV1RemoveOverrideCheckoutUrl(input: $input) {
    checkout {
      ...EcomCheckoutV1CheckoutFragment
    }
  }
}
Variables
{
  "input": EcomCheckoutV1RemoveOverrideCheckoutUrlRequestInput
}
Response
{
  "data": {
    "ecomCheckoutV1RemoveOverrideCheckoutUrl": {
      "checkout": EcomCheckoutV1Checkout
    }
  }
}

UpdateCheckout

Description

Updates a checkout.

Use this endpoint to update checkout fields such as billing and shipping info, or to add a coupon code or gift card.

To update a checkout's lineItems, completed status, or to remove coupons and gift cards, see these endpoints:

Notes:

  • If nothing is passed in the request, the call will fail.
  • The checkout.buyerInfo.email may not be removed once it is set.
Arguments
Name Description
input - EcomCheckoutV1UpdateCheckoutRequestInput

Example

Query
mutation EcomCheckoutV1UpdateCheckout($input: EcomCheckoutV1UpdateCheckoutRequestInput) {
  ecomCheckoutV1UpdateCheckout(input: $input) {
    checkout {
      ...EcomCheckoutV1CheckoutFragment
    }
  }
}
Variables
{"input": EcomCheckoutV1UpdateCheckoutRequestInput}
Response
{
  "data": {
    "ecomCheckoutV1UpdateCheckout": {
      "checkout": EcomCheckoutV1Checkout
    }
  }
}

UpdateLineItemsQuantity

Description

Updates the quantity of one or more line items in a checkout.

This endpoint is only for updating the quantity of line items. To entirely remove a line item from the checkout, use Remove Line Items. To add a new line item to the checkout, use Add to Checkout.

This endpoint checks the amount of stock remaining for this line item. If the specified quantity is greater than the remaining stock, then the quantity returned in the response is the total amount of remaining stock.

Example

Query
mutation EcomCheckoutV1UpdateLineItemsQuantity($input: EcomCheckoutV1UpdateLineItemsQuantityRequestInput) {
  ecomCheckoutV1UpdateLineItemsQuantity(input: $input) {
    checkout {
      ...EcomCheckoutV1CheckoutFragment
    }
  }
}
Variables
{
  "input": EcomCheckoutV1UpdateLineItemsQuantityRequestInput
}
Response
{
  "data": {
    "ecomCheckoutV1UpdateLineItemsQuantity": {
      "checkout": EcomCheckoutV1Checkout
    }
  }
}

Queries

Cart

Description

Retrieves a cart.

Response

Returns an EcomCartV1Cart

Arguments
Name Description
queryInput - EcomCurrentCartV1CartRequestInput

Example

Query
query EcomCurrentCartV1Cart($queryInput: EcomCurrentCartV1CartRequestInput) {
  ecomCurrentCartV1Cart(queryInput: $queryInput) {
    appliedDiscounts {
      ...EcomCartV1CartDiscountFragment
    }
    buyerInfo {
      ...EcomCartV1BuyerInfoFragment
    }
    buyerLanguage
    buyerNote
    checkoutId
    contactInfo {
      ...EcommercePlatformCommonAddressWithContactFragment
    }
    conversionCurrency
    createdDate
    currency
    id
    lineItems {
      ...EcomCartV1LineItemFragment
    }
    overrideCheckoutUrl
    purchaseFlowId
    selectedShippingOption {
      ...EcomTotalsCalculatorV1SelectedShippingOptionFragment
    }
    siteLanguage
    taxIncludedInPrices
    updatedDate
    weightUnit
  }
}
Variables
{"queryInput": EcomCurrentCartV1CartRequestInput}
Response
{
  "data": {
    "ecomCurrentCartV1Cart": {
      "appliedDiscounts": [EcomCartV1CartDiscount],
      "buyerInfo": EcomCartV1BuyerInfo,
      "buyerLanguage": "abc123",
      "buyerNote": "abc123",
      "checkoutId": "62b7b87d-a24a-434d-8666-e270489eac09",
      "contactInfo": EcommercePlatformCommonAddressWithContact,
      "conversionCurrency": "abc123",
      "createdDate": "xyz789",
      "currency": "abc123",
      "id": "62b7b87d-a24a-434d-8666-e270489eac09",
      "lineItems": [EcomCartV1LineItem],
      "overrideCheckoutUrl": "xyz789",
      "purchaseFlowId": "62b7b87d-a24a-434d-8666-e270489eac09",
      "selectedShippingOption": EcomTotalsCalculatorV1SelectedShippingOption,
      "siteLanguage": "abc123",
      "taxIncludedInPrices": false,
      "updatedDate": "abc123",
      "weightUnit": "UNSPECIFIED_WEIGHT_UNIT"
    }
  }
}

Mutations

AddToCart

Description

Adds catalog line items to a cart.

Note: When adding catalog line items to your cart, the lineItems.catalogReference.appId and lineItems.catalogReference.catalogItemId fields are required.

Response

Returns an EcomCartV1AddToCartResponse

Arguments
Name Description
input - EcomCartV1AddToCartRequestInput

Example

Query
mutation EcomCurrentCartV1AddToCart($input: EcomCartV1AddToCartRequestInput) {
  ecomCurrentCartV1AddToCart(input: $input) {
    cart {
      ...EcomCartV1CartFragment
    }
  }
}
Variables
{"input": EcomCartV1AddToCartRequestInput}
Response
{
  "data": {
    "ecomCurrentCartV1AddToCart": {"cart": EcomCartV1Cart}
  }
}

AddToCurrentCart

Description

Adds catalog and/or custom line items to the current site visitor's cart.

Response

Returns an EcomCartV1AddToCartResponse

Arguments
Name Description
input - EcomCartV1AddToCurrentCartRequestInput

Example

Query
mutation EcomCurrentCartV1AddToCurrentCart($input: EcomCartV1AddToCurrentCartRequestInput) {
  ecomCurrentCartV1AddToCurrentCart(input: $input) {
    cart {
      ...EcomCartV1CartFragment
    }
  }
}
Variables
{"input": EcomCartV1AddToCurrentCartRequestInput}
Response
{
  "data": {
    "ecomCurrentCartV1AddToCurrentCart": {
      "cart": EcomCartV1Cart
    }
  }
}

CreateCart

Description

Creates a cart.

Note: When adding catalog line items, the lineItems.catalogReference.appId and lineItems.catalogReference.catalogItemId fields are required.

Response

Returns an EcomCartV1CreateCartResponse

Arguments
Name Description
input - EcomCartV1CreateCartRequestInput

Example

Query
mutation EcomCurrentCartV1CreateCart($input: EcomCartV1CreateCartRequestInput) {
  ecomCurrentCartV1CreateCart(input: $input) {
    cart {
      ...EcomCartV1CartFragment
    }
  }
}
Variables
{"input": EcomCartV1CreateCartRequestInput}
Response
{
  "data": {
    "ecomCurrentCartV1CreateCart": {
      "cart": EcomCartV1Cart
    }
  }
}

CreateCheckout

Description

Creates a checkout from a cart.

If a checkout for the specified cart already exists, that checkout is updated with any new information from the cart.

Response

Returns an EcomCartV1CreateCheckoutResponse

Arguments
Name Description
input - EcomCartV1CreateCheckoutRequestInput

Example

Query
mutation EcomCurrentCartV1CreateCheckout($input: EcomCartV1CreateCheckoutRequestInput) {
  ecomCurrentCartV1CreateCheckout(input: $input) {
    checkoutId
  }
}
Variables
{"input": EcomCartV1CreateCheckoutRequestInput}
Response
{
  "data": {
    "ecomCurrentCartV1CreateCheckout": {
      "checkoutId": "abc123"
    }
  }
}

CreateCheckoutFromCurrentCart

Description

Creates a checkout from the current site visitor's cart.

If a checkout was already created from the specified cart, that checkout will be updated (synced) with any new information from the cart.

Response

Returns an EcomCartV1CreateCheckoutResponse

Arguments
Name Description
input - EcomCartV1CreateCheckoutFromCurrentCartRequestInput

Example

Query
mutation EcomCurrentCartV1CreateCheckoutFromCurrentCart($input: EcomCartV1CreateCheckoutFromCurrentCartRequestInput) {
  ecomCurrentCartV1CreateCheckoutFromCurrentCart(input: $input) {
    checkoutId
  }
}
Variables
{
  "input": EcomCartV1CreateCheckoutFromCurrentCartRequestInput
}
Response
{
  "data": {
    "ecomCurrentCartV1CreateCheckoutFromCurrentCart": {
      "checkoutId": "abc123"
    }
  }
}

CurrentCartGetCurrentCart

Description

Retrieves the current session's active cart.

Response

Returns an EcomCartV1GetCurrentCartResponse

Arguments
Name Description
input - Void

Example

Query
mutation EcomCurrentCartV1CurrentCartGetCurrentCart($input: Void) {
  ecomCurrentCartV1CurrentCartGetCurrentCart(input: $input) {
    cart {
      ...EcomCartV1CartFragment
    }
  }
}
Variables
{"input": null}
Response
{
  "data": {
    "ecomCurrentCartV1CurrentCartGetCurrentCart": {
      "cart": EcomCartV1Cart
    }
  }
}

DeleteCart

Description

Deletes a cart.

Response

Returns a Void

Arguments
Name Description
input - EcomCartV1DeleteCartRequestInput

Example

Query
mutation EcomCurrentCartV1DeleteCart($input: EcomCartV1DeleteCartRequestInput) {
  ecomCurrentCartV1DeleteCart(input: $input)
}
Variables
{"input": EcomCartV1DeleteCartRequestInput}
Response
{"data": {"ecomCurrentCartV1DeleteCart": null}}

DeleteCurrentCart

Description

Deletes the current site visitor's cart.

Response

Returns a Void

Arguments
Name Description
input - Void

Example

Query
mutation EcomCurrentCartV1DeleteCurrentCart($input: Void) {
  ecomCurrentCartV1DeleteCurrentCart(input: $input)
}
Variables
{"input": null}
Response
{"data": {"ecomCurrentCartV1DeleteCurrentCart": null}}

EstimateCurrentCartTotals

Description

Estimates the price totals (including tax) of the current site visitor's cart, based on a selected carrier service, shipping address, and billing information.

Response

Returns an EcomCartV1EstimateTotalsResponse

Arguments
Name Description
input - EcomCartV1EstimateCurrentCartTotalsRequestInput

Example

Query
mutation EcomCurrentCartV1EstimateCurrentCartTotals($input: EcomCartV1EstimateCurrentCartTotalsRequestInput) {
  ecomCurrentCartV1EstimateCurrentCartTotals(input: $input) {
    additionalFees {
      ...EcomTotalsCalculatorV1AdditionalFeeFragment
    }
    appliedDiscounts {
      ...EcomTotalsCalculatorV1AppliedDiscountFragment
    }
    calculatedLineItems {
      ...EcomTotalsCalculatorV1CalculatedLineItemFragment
    }
    calculationErrors {
      ...EcomTotalsCalculatorV1CalculationErrorsFragment
    }
    cart {
      ...EcomCartV1CartFragment
    }
    currency
    giftCard {
      ...EcomTotalsCalculatorV1GiftCardFragment
    }
    membershipOptions {
      ...EcomTotalsCalculatorV1MembershipOptionsFragment
    }
    payLater {
      ...EcomTotalsCalculatorV1PriceSummaryFragment
    }
    payNow {
      ...EcomTotalsCalculatorV1PriceSummaryFragment
    }
    priceSummary {
      ...EcomTotalsCalculatorV1PriceSummaryFragment
    }
    shippingInfo {
      ...EcomTotalsCalculatorV1ShippingInformationFragment
    }
    taxSummary {
      ...EcomTotalsCalculatorV1TaxSummaryFragment
    }
    violations {
      ...EcommerceValidationsSpiV1ViolationFragment
    }
    weightUnit
  }
}
Variables
{"input": EcomCartV1EstimateCurrentCartTotalsRequestInput}
Response
{
  "data": {
    "ecomCurrentCartV1EstimateCurrentCartTotals": {
      "additionalFees": [
        EcomTotalsCalculatorV1AdditionalFee
      ],
      "appliedDiscounts": [
        EcomTotalsCalculatorV1AppliedDiscount
      ],
      "calculatedLineItems": [
        EcomTotalsCalculatorV1CalculatedLineItem
      ],
      "calculationErrors": EcomTotalsCalculatorV1CalculationErrors,
      "cart": EcomCartV1Cart,
      "currency": "xyz789",
      "giftCard": EcomTotalsCalculatorV1GiftCard,
      "membershipOptions": EcomTotalsCalculatorV1MembershipOptions,
      "payLater": EcomTotalsCalculatorV1PriceSummary,
      "payNow": EcomTotalsCalculatorV1PriceSummary,
      "priceSummary": EcomTotalsCalculatorV1PriceSummary,
      "shippingInfo": EcomTotalsCalculatorV1ShippingInformation,
      "taxSummary": EcomTotalsCalculatorV1TaxSummary,
      "violations": [EcommerceValidationsSpiV1Violation],
      "weightUnit": "UNSPECIFIED_WEIGHT_UNIT"
    }
  }
}

EstimateTotals

Description

Estimates a cart's price totals (including tax), based on a selected carrier service, shipping address, and billing information.

Response

Returns an EcomCartV1EstimateTotalsResponse

Arguments
Name Description
input - EcomCartV1EstimateTotalsRequestInput

Example

Query
mutation EcomCurrentCartV1EstimateTotals($input: EcomCartV1EstimateTotalsRequestInput) {
  ecomCurrentCartV1EstimateTotals(input: $input) {
    additionalFees {
      ...EcomTotalsCalculatorV1AdditionalFeeFragment
    }
    appliedDiscounts {
      ...EcomTotalsCalculatorV1AppliedDiscountFragment
    }
    calculatedLineItems {
      ...EcomTotalsCalculatorV1CalculatedLineItemFragment
    }
    calculationErrors {
      ...EcomTotalsCalculatorV1CalculationErrorsFragment
    }
    cart {
      ...EcomCartV1CartFragment
    }
    currency
    giftCard {
      ...EcomTotalsCalculatorV1GiftCardFragment
    }
    membershipOptions {
      ...EcomTotalsCalculatorV1MembershipOptionsFragment
    }
    payLater {
      ...EcomTotalsCalculatorV1PriceSummaryFragment
    }
    payNow {
      ...EcomTotalsCalculatorV1PriceSummaryFragment
    }
    priceSummary {
      ...EcomTotalsCalculatorV1PriceSummaryFragment
    }
    shippingInfo {
      ...EcomTotalsCalculatorV1ShippingInformationFragment
    }
    taxSummary {
      ...EcomTotalsCalculatorV1TaxSummaryFragment
    }
    violations {
      ...EcommerceValidationsSpiV1ViolationFragment
    }
    weightUnit
  }
}
Variables
{"input": EcomCartV1EstimateTotalsRequestInput}
Response
{
  "data": {
    "ecomCurrentCartV1EstimateTotals": {
      "additionalFees": [
        EcomTotalsCalculatorV1AdditionalFee
      ],
      "appliedDiscounts": [
        EcomTotalsCalculatorV1AppliedDiscount
      ],
      "calculatedLineItems": [
        EcomTotalsCalculatorV1CalculatedLineItem
      ],
      "calculationErrors": EcomTotalsCalculatorV1CalculationErrors,
      "cart": EcomCartV1Cart,
      "currency": "xyz789",
      "giftCard": EcomTotalsCalculatorV1GiftCard,
      "membershipOptions": EcomTotalsCalculatorV1MembershipOptions,
      "payLater": EcomTotalsCalculatorV1PriceSummary,
      "payNow": EcomTotalsCalculatorV1PriceSummary,
      "priceSummary": EcomTotalsCalculatorV1PriceSummary,
      "shippingInfo": EcomTotalsCalculatorV1ShippingInformation,
      "taxSummary": EcomTotalsCalculatorV1TaxSummary,
      "violations": [EcommerceValidationsSpiV1Violation],
      "weightUnit": "UNSPECIFIED_WEIGHT_UNIT"
    }
  }
}

RemoveCoupon

Description

Removes the coupon from a cart.

Response

Returns an EcomCartV1RemoveCouponResponse

Arguments
Name Description
input - EcomCartV1RemoveCouponRequestInput

Example

Query
mutation EcomCurrentCartV1RemoveCoupon($input: EcomCartV1RemoveCouponRequestInput) {
  ecomCurrentCartV1RemoveCoupon(input: $input) {
    cart {
      ...EcomCartV1CartFragment
    }
  }
}
Variables
{"input": EcomCartV1RemoveCouponRequestInput}
Response
{
  "data": {
    "ecomCurrentCartV1RemoveCoupon": {
      "cart": EcomCartV1Cart
    }
  }
}

RemoveCouponFromCurrentCart

Description

Removes the coupon from the current site visitor's cart.

Response

Returns an EcomCartV1RemoveCouponResponse

Arguments
Name Description
input - Void

Example

Query
mutation EcomCurrentCartV1RemoveCouponFromCurrentCart($input: Void) {
  ecomCurrentCartV1RemoveCouponFromCurrentCart(input: $input) {
    cart {
      ...EcomCartV1CartFragment
    }
  }
}
Variables
{"input": null}
Response
{
  "data": {
    "ecomCurrentCartV1RemoveCouponFromCurrentCart": {
      "cart": EcomCartV1Cart
    }
  }
}

RemoveLineItems

Description

Removes line items from a cart.

Response

Returns an EcomCartV1RemoveLineItemsResponse

Arguments
Name Description
input - EcomCartV1RemoveLineItemsRequestInput

Example

Query
mutation EcomCurrentCartV1RemoveLineItems($input: EcomCartV1RemoveLineItemsRequestInput) {
  ecomCurrentCartV1RemoveLineItems(input: $input) {
    cart {
      ...EcomCartV1CartFragment
    }
  }
}
Variables
{"input": EcomCartV1RemoveLineItemsRequestInput}
Response
{
  "data": {
    "ecomCurrentCartV1RemoveLineItems": {
      "cart": EcomCartV1Cart
    }
  }
}

RemoveLineItemsFromCurrentCart

Description

Removes line items from the current site visitor's cart.

Response

Returns an EcomCartV1RemoveLineItemsResponse

Arguments
Name Description
input - EcomCartV1RemoveLineItemsFromCurrentCartRequestInput

Example

Query
mutation EcomCurrentCartV1RemoveLineItemsFromCurrentCart($input: EcomCartV1RemoveLineItemsFromCurrentCartRequestInput) {
  ecomCurrentCartV1RemoveLineItemsFromCurrentCart(input: $input) {
    cart {
      ...EcomCartV1CartFragment
    }
  }
}
Variables
{
  "input": EcomCartV1RemoveLineItemsFromCurrentCartRequestInput
}
Response
{
  "data": {
    "ecomCurrentCartV1RemoveLineItemsFromCurrentCart": {
      "cart": EcomCartV1Cart
    }
  }
}

UpdateCart

Description

Updates a cart's properties.

Response

Returns an EcomCartV1UpdateCartResponse

Arguments
Name Description
input - EcomCartV1UpdateCartRequestInput

Example

Query
mutation EcomCurrentCartV1UpdateCart($input: EcomCartV1UpdateCartRequestInput) {
  ecomCurrentCartV1UpdateCart(input: $input) {
    cart {
      ...EcomCartV1CartFragment
    }
  }
}
Variables
{"input": EcomCartV1UpdateCartRequestInput}
Response
{
  "data": {
    "ecomCurrentCartV1UpdateCart": {
      "cart": EcomCartV1Cart
    }
  }
}

UpdateCurrentCart

Description

Updates the current site visitor's cart properties.

Response

Returns an EcomCartV1UpdateCartResponse

Arguments
Name Description
input - EcomCartV1UpdateCartRequestInput

Example

Query
mutation EcomCurrentCartV1UpdateCurrentCart($input: EcomCartV1UpdateCartRequestInput) {
  ecomCurrentCartV1UpdateCurrentCart(input: $input) {
    cart {
      ...EcomCartV1CartFragment
    }
  }
}
Variables
{"input": EcomCartV1UpdateCartRequestInput}
Response
{
  "data": {
    "ecomCurrentCartV1UpdateCurrentCart": {
      "cart": EcomCartV1Cart
    }
  }
}

UpdateCurrentCartLineItemQuantity

Description

Updates the quantity of one or more line items on the current site visitor's cart.

Example

Query
mutation EcomCurrentCartV1UpdateCurrentCartLineItemQuantity($input: EcomCartV1UpdateCurrentCartLineItemQuantityRequestInput) {
  ecomCurrentCartV1UpdateCurrentCartLineItemQuantity(input: $input) {
    cart {
      ...EcomCartV1CartFragment
    }
  }
}
Variables
{
  "input": EcomCartV1UpdateCurrentCartLineItemQuantityRequestInput
}
Response
{
  "data": {
    "ecomCurrentCartV1UpdateCurrentCartLineItemQuantity": {
      "cart": EcomCartV1Cart
    }
  }
}

UpdateLineItemsQuantity

Description

Updates the quantity of one or more line items in a cart.

Arguments
Name Description
input - EcomCartV1UpdateLineItemsQuantityRequestInput

Example

Query
mutation EcomCurrentCartV1UpdateLineItemsQuantity($input: EcomCartV1UpdateLineItemsQuantityRequestInput) {
  ecomCurrentCartV1UpdateLineItemsQuantity(input: $input) {
    cart {
      ...EcomCartV1CartFragment
    }
  }
}
Variables
{"input": EcomCartV1UpdateLineItemsQuantityRequestInput}
Response
{
  "data": {
    "ecomCurrentCartV1UpdateLineItemsQuantity": {
      "cart": EcomCartV1Cart
    }
  }
}

Queries

DiscountRule

Description

Retrieves a discount rule.

Response

Returns an EcomDiscountsDiscountRule

Arguments
Name Description
queryInput - EcomDiscountRulesV1DiscountRuleRequestInput

Example

Query
query EcomDiscountRulesV1DiscountRule($queryInput: EcomDiscountRulesV1DiscountRuleRequestInput) {
  ecomDiscountRulesV1DiscountRule(queryInput: $queryInput) {
    active
    activeTimeInfo {
      ...EcomDiscountsActiveTimeInfoFragment
    }
    createdDate
    discounts {
      ...EcomDiscountsDiscountsFragment
    }
    id
    name
    revision
    status
    trigger {
      ...EcomDiscountsDiscountTriggerFragment
    }
    updatedDate
    usageCount
  }
}
Variables
{
  "queryInput": EcomDiscountRulesV1DiscountRuleRequestInput
}
Response
{
  "data": {
    "ecomDiscountRulesV1DiscountRule": {
      "active": false,
      "activeTimeInfo": EcomDiscountsActiveTimeInfo,
      "createdDate": "abc123",
      "discounts": EcomDiscountsDiscounts,
      "id": "62b7b87d-a24a-434d-8666-e270489eac09",
      "name": "xyz789",
      "revision": {},
      "status": "UNDEFINED",
      "trigger": EcomDiscountsDiscountTrigger,
      "updatedDate": "abc123",
      "usageCount": 987
    }
  }
}

DiscountRules

Description

Query discount rules using WQL (Wix Query Language). Total entries (pagingMetadata.total) will be returned only for the first page.

Note: discountRule.status can't be used for querying.

Arguments
Name Description
queryInput - EcomDiscountsQueryDiscountRulesRequestInput

Example

Query
query EcomDiscountRulesV1DiscountRules($queryInput: EcomDiscountsQueryDiscountRulesRequestInput) {
  ecomDiscountRulesV1DiscountRules(queryInput: $queryInput) {
    items {
      ...EcomDiscountsDiscountRuleFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{
  "queryInput": EcomDiscountsQueryDiscountRulesRequestInput
}
Response
{
  "data": {
    "ecomDiscountRulesV1DiscountRules": {
      "items": [EcomDiscountsDiscountRule],
      "pageInfo": PageInfo
    }
  }
}

Mutations

CreateDiscountRule

Description

Creates a new discount rule.

Arguments
Name Description
input - EcomDiscountsCreateDiscountRuleRequestInput

Example

Query
mutation EcomDiscountRulesV1CreateDiscountRule($input: EcomDiscountsCreateDiscountRuleRequestInput) {
  ecomDiscountRulesV1CreateDiscountRule(input: $input) {
    discountRule {
      ...EcomDiscountsDiscountRuleFragment
    }
  }
}
Variables
{"input": EcomDiscountsCreateDiscountRuleRequestInput}
Response
{
  "data": {
    "ecomDiscountRulesV1CreateDiscountRule": {
      "discountRule": EcomDiscountsDiscountRule
    }
  }
}

DeleteDiscountRule

Description

Deletes a discount rule.

Response

Returns a Void

Arguments
Name Description
input - EcomDiscountsDeleteDiscountRuleRequestInput

Example

Query
mutation EcomDiscountRulesV1DeleteDiscountRule($input: EcomDiscountsDeleteDiscountRuleRequestInput) {
  ecomDiscountRulesV1DeleteDiscountRule(input: $input)
}
Variables
{"input": EcomDiscountsDeleteDiscountRuleRequestInput}
Response
{"data": {"ecomDiscountRulesV1DeleteDiscountRule": null}}

UpdateDiscountRule

Description

Updates a discount rule.

Each time the discount rule is updated, revision increments by 1. The existing revision must be included when updating the discount rule. This ensures you're working with the latest discount rule information, and it prevents unintended overwrites.

Arguments
Name Description
input - EcomDiscountsUpdateDiscountRuleRequestInput

Example

Query
mutation EcomDiscountRulesV1UpdateDiscountRule($input: EcomDiscountsUpdateDiscountRuleRequestInput) {
  ecomDiscountRulesV1UpdateDiscountRule(input: $input) {
    discountRule {
      ...EcomDiscountsDiscountRuleFragment
    }
  }
}
Variables
{"input": EcomDiscountsUpdateDiscountRuleRequestInput}
Response
{
  "data": {
    "ecomDiscountRulesV1UpdateDiscountRule": {
      "discountRule": EcomDiscountsDiscountRule
    }
  }
}

Mutations

AddPayments

Description

Adds up to 50 payment records to an order.

Note: This does NOT perform the actual charging - the order is only updated with records of the payments.

Arguments
Name Description
input - EcomOrdersPaymentsV1AddPaymentsRequestInput

Example

Query
mutation EcomOrderTransactionsV1AddPayments($input: EcomOrdersPaymentsV1AddPaymentsRequestInput) {
  ecomOrderTransactionsV1AddPayments(input: $input) {
    orderTransactions {
      ...EcomOrdersPaymentsV1OrderTransactionsFragment
    }
    paymentsIds
  }
}
Variables
{"input": EcomOrdersPaymentsV1AddPaymentsRequestInput}
Response
{
  "data": {
    "ecomOrderTransactionsV1AddPayments": {
      "orderTransactions": EcomOrdersPaymentsV1OrderTransactions,
      "paymentsIds": ["xyz789"]
    }
  }
}

AddRefund

Description

Add refunds for payments for an order and changes payments statuses accordingly

Arguments
Name Description
input - EcomOrdersPaymentsV1AddRefundRequestInput

Example

Query
mutation EcomOrderTransactionsV1AddRefund($input: EcomOrdersPaymentsV1AddRefundRequestInput) {
  ecomOrderTransactionsV1AddRefund(input: $input) {
    orderTransactions {
      ...EcomOrdersPaymentsV1OrderTransactionsFragment
    }
    refundId
  }
}
Variables
{"input": EcomOrdersPaymentsV1AddRefundRequestInput}
Response
{
  "data": {
    "ecomOrderTransactionsV1AddRefund": {
      "orderTransactions": EcomOrdersPaymentsV1OrderTransactions,
      "refundId": "abc123"
    }
  }
}

BulkUpdatePaymentStatuses

Description

Updates multiple order payments with a specified status.

Example

Query
mutation EcomOrderTransactionsV1BulkUpdatePaymentStatuses($input: EcomOrdersPaymentsV1BulkUpdatePaymentStatusesRequestInput) {
  ecomOrderTransactionsV1BulkUpdatePaymentStatuses(input: $input) {
    bulkActionMetadata {
      ...CommonBulkActionMetadataFragment
    }
    results {
      ...EcomOrdersPaymentsV1BulkPaymentResultFragment
    }
  }
}
Variables
{
  "input": EcomOrdersPaymentsV1BulkUpdatePaymentStatusesRequestInput
}
Response
{
  "data": {
    "ecomOrderTransactionsV1BulkUpdatePaymentStatuses": {
      "bulkActionMetadata": CommonBulkActionMetadata,
      "results": [EcomOrdersPaymentsV1BulkPaymentResult]
    }
  }
}

ListTransactionsForMultipleOrders

Description

Retrieves information about payments and refunds associated with all specified orders.

Example

Query
mutation EcomOrderTransactionsV1ListTransactionsForMultipleOrders($input: EcomOrdersPaymentsV1ListTransactionsForMultipleOrdersRequestInput) {
  ecomOrderTransactionsV1ListTransactionsForMultipleOrders(input: $input) {
    orderTransactions {
      ...EcomOrdersPaymentsV1OrderTransactionsFragment
    }
  }
}
Variables
{
  "input": EcomOrdersPaymentsV1ListTransactionsForMultipleOrdersRequestInput
}
Response
{
  "data": {
    "ecomOrderTransactionsV1ListTransactionsForMultipleOrders": {
      "orderTransactions": [
        EcomOrdersPaymentsV1OrderTransactions
      ]
    }
  }
}

ListTransactionsForSingleOrder

Description

Retrieves information about payments and refunds associated with a specified order.

Example

Query
mutation EcomOrderTransactionsV1ListTransactionsForSingleOrder($input: EcomOrdersPaymentsV1ListTransactionsForSingleOrderRequestInput) {
  ecomOrderTransactionsV1ListTransactionsForSingleOrder(input: $input) {
    orderTransactions {
      ...EcomOrdersPaymentsV1OrderTransactionsFragment
    }
  }
}
Variables
{
  "input": EcomOrdersPaymentsV1ListTransactionsForSingleOrderRequestInput
}
Response
{
  "data": {
    "ecomOrderTransactionsV1ListTransactionsForSingleOrder": {
      "orderTransactions": EcomOrdersPaymentsV1OrderTransactions
    }
  }
}

UpdatePaymentStatus

Description

Updates the status of an order's payment.

Example

Query
mutation EcomOrderTransactionsV1UpdatePaymentStatus($input: EcomOrdersPaymentsV1UpdatePaymentStatusRequestInput) {
  ecomOrderTransactionsV1UpdatePaymentStatus(input: $input) {
    orderTransactions {
      ...EcomOrdersPaymentsV1OrderTransactionsFragment
    }
  }
}
Variables
{
  "input": EcomOrdersPaymentsV1UpdatePaymentStatusRequestInput
}
Response
{
  "data": {
    "ecomOrderTransactionsV1UpdatePaymentStatus": {
      "orderTransactions": EcomOrdersPaymentsV1OrderTransactions
    }
  }
}

Queries

Order

Description

Retrieves an order with the provided ID.

Response

Returns an EcomOrdersV1Order

Arguments
Name Description
queryInput - EcomOrdersV1OrderRequestInput

Example

Query
query EcomOrdersV1Order($queryInput: EcomOrdersV1OrderRequestInput) {
  ecomOrdersV1Order(queryInput: $queryInput) {
    activities {
      ...EcomOrdersV1ActivityFragment
    }
    additionalFees {
      ...EcomOrdersV1AdditionalFeeFragment
    }
    appliedDiscounts {
      ...EcomOrdersV1AppliedDiscountFragment
    }
    archived
    attributionSource
    billingInfo {
      ...EcommercePlatformCommonAddressWithContactFragment
    }
    buyerInfo {
      ...EcomOrdersV1BuyerInfoFragment
    }
    buyerLanguage
    buyerNote
    channelInfo {
      ...EcomOrdersV1ChannelInfoFragment
    }
    checkoutId
    createdBy {
      ...EcomOrdersV1CreatedByFragment
    }
    createdDate
    currency
    customFields {
      ...EcomOrdersV1CustomFieldFragment
    }
    externalEnrichedLineItemsForTYP {
      ...EcomLineItemsEnricherSpiHostV1EnrichLineItemsForThankYouPageResponseFragment
    }
    externalFulfillments {
      ...EcomOrdersFulfillmentsV1FulfillmentFragment
    }
    externalTransactions {
      ...EcomOrdersPaymentsV1ListTransactionsForSingleOrderResponseFragment
    }
    fulfillmentStatus
    id
    lineItems {
      ...EcomOrdersV1OrderLineItemFragment
    }
    number
    paymentStatus
    priceSummary {
      ...EcomOrdersV1PriceSummaryFragment
    }
    purchaseFlowId
    seenByAHuman
    shippingInfo {
      ...EcomOrdersV1ShippingInformationFragment
    }
    siteLanguage
    status
    taxIncludedInPrices
    taxSummary {
      ...EcomTaxTaxSummaryFragment
    }
    updatedDate
    weightUnit
  }
}
Variables
{"queryInput": EcomOrdersV1OrderRequestInput}
Response
{
  "data": {
    "ecomOrdersV1Order": {
      "activities": [EcomOrdersV1Activity],
      "additionalFees": [EcomOrdersV1AdditionalFee],
      "appliedDiscounts": [EcomOrdersV1AppliedDiscount],
      "archived": true,
      "attributionSource": "UNSPECIFIED",
      "billingInfo": EcommercePlatformCommonAddressWithContact,
      "buyerInfo": EcomOrdersV1BuyerInfo,
      "buyerLanguage": "xyz789",
      "buyerNote": "abc123",
      "channelInfo": EcomOrdersV1ChannelInfo,
      "checkoutId": "62b7b87d-a24a-434d-8666-e270489eac09",
      "createdBy": EcomOrdersV1CreatedBy,
      "createdDate": "xyz789",
      "currency": "xyz789",
      "customFields": [EcomOrdersV1CustomField],
      "externalEnrichedLineItemsForTYP": EcomLineItemsEnricherSpiHostV1EnrichLineItemsForThankYouPageResponse,
      "externalFulfillments": [
        EcomOrdersFulfillmentsV1Fulfillment
      ],
      "externalTransactions": EcomOrdersPaymentsV1ListTransactionsForSingleOrderResponse,
      "fulfillmentStatus": "NOT_FULFILLED",
      "id": "62b7b87d-a24a-434d-8666-e270489eac09",
      "lineItems": [EcomOrdersV1OrderLineItem],
      "number": 123,
      "paymentStatus": "UNSPECIFIED",
      "priceSummary": EcomOrdersV1PriceSummary,
      "purchaseFlowId": "62b7b87d-a24a-434d-8666-e270489eac09",
      "seenByAHuman": false,
      "shippingInfo": EcomOrdersV1ShippingInformation,
      "siteLanguage": "xyz789",
      "status": "INITIALIZED",
      "taxIncludedInPrices": true,
      "taxSummary": EcomTaxTaxSummary,
      "updatedDate": "abc123",
      "weightUnit": "UNSPECIFIED_WEIGHT_UNIT"
    }
  }
}

Mutations

AddActivity

Description

Add's a custom activity or a merchant comment to an order.

Examples of custom activities:

  • Platform - notifications, payments
  • Stores - digital link sent, pickup read, tracking link updated
  • Bookings - checked-in, no-show, rescheduled, cancellation mail sent, reminders sent
  • Events - attendee check-in, reminder mail sent, Zoom link set
Response

Returns an EcomOrdersV1AddActivityResponse

Arguments
Name Description
input - EcomOrdersV1AddActivityRequestInput

Example

Query
mutation EcomOrdersV1AddActivity($input: EcomOrdersV1AddActivityRequestInput) {
  ecomOrdersV1AddActivity(input: $input) {
    activityId
    order {
      ...EcomOrdersV1OrderFragment
    }
  }
}
Variables
{"input": EcomOrdersV1AddActivityRequestInput}
Response
{
  "data": {
    "ecomOrdersV1AddActivity": {
      "activityId": "62b7b87d-a24a-434d-8666-e270489eac09",
      "order": EcomOrdersV1Order
    }
  }
}

AggregateOrders

Arguments
Name Description
input - EcomOrdersV1AggregateOrdersRequestInput

Example

Query
mutation EcomOrdersV1AggregateOrders($input: EcomOrdersV1AggregateOrdersRequestInput) {
  ecomOrdersV1AggregateOrders(input: $input) {
    aggregates
  }
}
Variables
{"input": EcomOrdersV1AggregateOrdersRequestInput}
Response
{"data": {"ecomOrdersV1AggregateOrders": {"aggregates": {}}}}

CancelOrder

Description

Cancels an order. The order.status field changes to CANCELED.

Response

Returns an EcomOrdersV1CancelOrderResponse

Arguments
Name Description
input - EcomOrdersV1CancelOrderRequestInput

Example

Query
mutation EcomOrdersV1CancelOrder($input: EcomOrdersV1CancelOrderRequestInput) {
  ecomOrdersV1CancelOrder(input: $input) {
    order {
      ...EcomOrdersV1OrderFragment
    }
  }
}
Variables
{"input": EcomOrdersV1CancelOrderRequestInput}
Response
{
  "data": {
    "ecomOrdersV1CancelOrder": {
      "order": EcomOrdersV1Order
    }
  }
}

ChargeMemberships

Response

Returns a Void

Example

Query
mutation EcomOrdersV1ChargeMemberships($input: EcomOrdersPaymentsCollectorV1ChargeMembershipsRequestInput) {
  ecomOrdersV1ChargeMemberships(input: $input)
}
Variables
{
  "input": EcomOrdersPaymentsCollectorV1ChargeMembershipsRequestInput
}
Response
{"data": {"ecomOrdersV1ChargeMemberships": null}}

CommitDeltas

Response

Returns an EcomOrdersV1CommitDeltasResponse

Arguments
Name Description
input - EcomOrdersV1CommitDeltasRequestInput

Example

Query
mutation EcomOrdersV1CommitDeltas($input: EcomOrdersV1CommitDeltasRequestInput) {
  ecomOrdersV1CommitDeltas(input: $input) {
    order {
      ...EcomOrdersV1OrderFragment
    }
  }
}
Variables
{"input": EcomOrdersV1CommitDeltasRequestInput}
Response
{
  "data": {
    "ecomOrdersV1CommitDeltas": {
      "order": EcomOrdersV1Order
    }
  }
}

CreateOrder

Description

Creates an order.

Notes:

  • If an item is digital - lineItems[i].itemType.preset: DIGITAL - then lineItems[i].digitalFile must be provided.
  • If lineItems[i].id is passed, it must be either a valid GUID, or empty.
Response

Returns an EcomOrdersV1CreateOrderResponse

Arguments
Name Description
input - EcomOrdersV1CreateOrderRequestInput

Example

Query
mutation EcomOrdersV1CreateOrder($input: EcomOrdersV1CreateOrderRequestInput) {
  ecomOrdersV1CreateOrder(input: $input) {
    order {
      ...EcomOrdersV1OrderFragment
    }
  }
}
Variables
{"input": EcomOrdersV1CreateOrderRequestInput}
Response
{
  "data": {
    "ecomOrdersV1CreateOrder": {
      "order": EcomOrdersV1Order
    }
  }
}

DeleteActivity

Description

Delete's an order's activity.

Only custom activities and merchant comments can be deleted.

Arguments
Name Description
input - EcomOrdersV1DeleteActivityRequestInput

Example

Query
mutation EcomOrdersV1DeleteActivity($input: EcomOrdersV1DeleteActivityRequestInput) {
  ecomOrdersV1DeleteActivity(input: $input) {
    order {
      ...EcomOrdersV1OrderFragment
    }
  }
}
Variables
{"input": EcomOrdersV1DeleteActivityRequestInput}
Response
{
  "data": {
    "ecomOrdersV1DeleteActivity": {
      "order": EcomOrdersV1Order
    }
  }
}

GetPaymentCollectabilityStatus

Description

Provides payment collectability status for given order. If payment collection is possible response will contain collectable amount for given ecom order. If not - response will contain reason why payment collection is not possible.

Example

Query
mutation EcomOrdersV1GetPaymentCollectabilityStatus($input: EcomOrdersPaymentsCollectorV1GetPaymentCollectabilityStatusRequestInput) {
  ecomOrdersV1GetPaymentCollectabilityStatus(input: $input) {
    amount {
      ...EcommercePlatformCommonPriceFragment
    }
    status
  }
}
Variables
{
  "input": EcomOrdersPaymentsCollectorV1GetPaymentCollectabilityStatusRequestInput
}
Response
{
  "data": {
    "ecomOrdersV1GetPaymentCollectabilityStatus": {
      "amount": EcommercePlatformCommonPrice,
      "status": "UNKNOWN"
    }
  }
}

GetRefundabilityStatus

Description

Checks whether this order can be refunded.

Example

Query
mutation EcomOrdersV1GetRefundabilityStatus($input: EcomOrdersPaymentsCollectorV1GetRefundabilityStatusRequestInput) {
  ecomOrdersV1GetRefundabilityStatus(input: $input) {
    refundabilities {
      ...EcomOrdersPaymentsCollectorV1RefundabilityFragment
    }
    refundablePerItem
  }
}
Variables
{
  "input": EcomOrdersPaymentsCollectorV1GetRefundabilityStatusRequestInput
}
Response
{
  "data": {
    "ecomOrdersV1GetRefundabilityStatus": {
      "refundabilities": [
        EcomOrdersPaymentsCollectorV1Refundability
      ],
      "refundablePerItem": true
    }
  }
}

InternalQueryOrders

Description

Internal query orders endpoint without additional logic to hide INIT orders. Returns a list of up to 100 orders, given the provided paging, filtering and sorting.

To learn how to query orders, see API Query Language.

Arguments
Name Description
input - EcomOrdersV1InternalQueryOrdersRequestInput

Example

Query
mutation EcomOrdersV1InternalQueryOrders($input: EcomOrdersV1InternalQueryOrdersRequestInput) {
  ecomOrdersV1InternalQueryOrders(input: $input) {
    metadata {
      ...EcommerceCommonsPlatformPagingMetadataFragment
    }
    orders {
      ...EcomOrdersV1OrderFragment
    }
  }
}
Variables
{"input": EcomOrdersV1InternalQueryOrdersRequestInput}
Response
{
  "data": {
    "ecomOrdersV1InternalQueryOrders": {
      "metadata": EcommerceCommonsPlatformPagingMetadata,
      "orders": [EcomOrdersV1Order]
    }
  }
}

PaymentCollectionBulkMarkOrdersAsPaid

Description

Marks multiple orders as paid. order.paymentStatus field eventually changes to PAID.

Example

Query
mutation EcomOrdersV1PaymentCollectionBulkMarkOrdersAsPaid($input: EcomOrdersPaymentsCollectorV1BulkMarkOrdersAsPaidRequestInput) {
  ecomOrdersV1PaymentCollectionBulkMarkOrdersAsPaid(input: $input) {
    bulkActionMetadata {
      ...CommonBulkActionMetadataFragment
    }
    results {
      ...EcomOrdersV1BulkOrderResultFragment
    }
  }
}
Variables
{
  "input": EcomOrdersPaymentsCollectorV1BulkMarkOrdersAsPaidRequestInput
}
Response
{
  "data": {
    "ecomOrdersV1PaymentCollectionBulkMarkOrdersAsPaid": {
      "bulkActionMetadata": CommonBulkActionMetadata,
      "results": [EcomOrdersV1BulkOrderResult]
    }
  }
}

PaymentCollectionCreatePaymentGatewayOrder

Description

Call this endpoint to create an order in the payment gateway system. The amount of the order would be either:

  1. An explicit amount provided in the request, or;
  2. If an explicit amount is not provided - the remaining amount to complete the payment of that eCom order. As a result, an ID of the created payment gateway order would be returned. You can then use Wix Payments APIs to approve that order or collect payment, which will eventually change the eCom order state (e.g mark it as paid).

Example

Query
mutation EcomOrdersV1PaymentCollectionCreatePaymentGatewayOrder($input: EcomOrdersPaymentsCollectorV1CreatePaymentGatewayOrderRequestInput) {
  ecomOrdersV1PaymentCollectionCreatePaymentGatewayOrder(input: $input) {
    paymentGatewayOrderId
  }
}
Variables
{
  "input": EcomOrdersPaymentsCollectorV1CreatePaymentGatewayOrderRequestInput
}
Response
{
  "data": {
    "ecomOrdersV1PaymentCollectionCreatePaymentGatewayOrder": {
      "paymentGatewayOrderId": "abc123"
    }
  }
}

PaymentCollectionMarkOrderAsPaid

Description

Marks the order as paid. order.paymentStatus field eventually changes to PAID. In case the order already has an offline payment transaction associated with it (usually when manual payment method is chosen at checkout) - This transaction will become approved. In case the order has no payment transactions associated with it (usually when the item is set to be paid offline after checkout or when an order is created from the backoffice) - A payment transaction will be created and approved.

Example

Query
mutation EcomOrdersV1PaymentCollectionMarkOrderAsPaid($input: EcomOrdersPaymentsCollectorV1MarkOrderAsPaidRequestInput) {
  ecomOrdersV1PaymentCollectionMarkOrderAsPaid(input: $input) {
    order {
      ...EcomOrdersV1OrderFragment
    }
  }
}
Variables
{
  "input": EcomOrdersPaymentsCollectorV1MarkOrderAsPaidRequestInput
}
Response
{
  "data": {
    "ecomOrdersV1PaymentCollectionMarkOrderAsPaid": {
      "order": EcomOrdersV1Order
    }
  }
}

PreparePaymentCollection

Description

Prepares payment collection for given ecom order. This is the first of 2-step process of payment collection. Here we ensure that payment collection is possible for given order and store and prepare payment gateway order for future charge. 2nd step is an actual charge of prepared payment gateway order. This could be done either via Wix-Cashier's API (https://bo.wix.com/wix-docs/rest/wix-cashier/pay/charge/charge-for-order) or using Cashier Payments Widget (https://github.com/wix-private/cashier-client/tree/master/packages/cashier-payments-widget)

Example

Query
mutation EcomOrdersV1PreparePaymentCollection($input: EcomOrdersPaymentsCollectorV1PreparePaymentCollectionRequestInput) {
  ecomOrdersV1PreparePaymentCollection(input: $input) {
    paymentGatewayOrderId
  }
}
Variables
{
  "input": EcomOrdersPaymentsCollectorV1PreparePaymentCollectionRequestInput
}
Response
{
  "data": {
    "ecomOrdersV1PreparePaymentCollection": {
      "paymentGatewayOrderId": "abc123"
    }
  }
}

RecordManuallyCollectedPayment

Description

Records and approves new manual payment with provided custom amount on given order. Existing pending payments are ignored. Custom amount is expected to be less or equal remaining amount to be paid on order (affected by approved payments, refunds and gift card payments)

Response

Returns a Void

Example

Query
mutation EcomOrdersV1RecordManuallyCollectedPayment($input: EcomOrdersPaymentsCollectorV1RecordManuallyCollectedPaymentRequestInput) {
  ecomOrdersV1RecordManuallyCollectedPayment(input: $input)
}
Variables
{
  "input": EcomOrdersPaymentsCollectorV1RecordManuallyCollectedPaymentRequestInput
}
Response
{"data": {"ecomOrdersV1RecordManuallyCollectedPayment": null}}

SearchOrders

Description

Retrieves a list of orders, given the provided paging, filtering, and sorting.

Search Orders runs with these defaults, which you can override:

  • createdDate is sorted in DESC order
  • cursorPaging.limit is 100
  • filter: {"status": {"$ne": "INITIALIZED"}} - other order statuses can be queried, but orders with status: "INITIALIZED" are never returned

For field support for filters and sorting, see Orders: Supported Filters and Sorting.

To learn about working with Search endpoints, see API Query Language, and Sorting and Paging.

Response

Returns an EcomOrdersV1SearchOrdersResponse

Arguments
Name Description
input - EcomOrdersV1SearchOrdersRequestInput

Example

Query
mutation EcomOrdersV1SearchOrders($input: EcomOrdersV1SearchOrdersRequestInput) {
  ecomOrdersV1SearchOrders(input: $input) {
    metadata {
      ...CommonCursorPagingMetadataFragment
    }
    orders {
      ...EcomOrdersV1OrderFragment
    }
  }
}
Variables
{"input": EcomOrdersV1SearchOrdersRequestInput}
Response
{
  "data": {
    "ecomOrdersV1SearchOrders": {
      "metadata": CommonCursorPagingMetadata,
      "orders": [EcomOrdersV1Order]
    }
  }
}

TriggerRefund

Description

Calls corresponding payment providers and creates refund transactions for requested payments. Updates order transactions based on refund results. For requested payments with TriggerRefundRequest.payments.external_refund = true will not call payment providers and will only update order transactions.

Example

Query
mutation EcomOrdersV1TriggerRefund($input: EcomOrdersPaymentsCollectorV1TriggerRefundRequestInput) {
  ecomOrdersV1TriggerRefund(input: $input) {
    failedPaymentIds {
      ...CommonItemMetadataFragment
    }
    orderTransactions {
      ...EcomOrdersPaymentsV1OrderTransactionsFragment
    }
    refundId
  }
}
Variables
{
  "input": EcomOrdersPaymentsCollectorV1TriggerRefundRequestInput
}
Response
{
  "data": {
    "ecomOrdersV1TriggerRefund": {
      "failedPaymentIds": [CommonItemMetadata],
      "orderTransactions": EcomOrdersPaymentsV1OrderTransactions,
      "refundId": "abc123"
    }
  }
}

UpdateActivity

Description

Updates an order's activity.

Arguments
Name Description
input - EcomOrdersV1UpdateActivityRequestInput

Example

Query
mutation EcomOrdersV1UpdateActivity($input: EcomOrdersV1UpdateActivityRequestInput) {
  ecomOrdersV1UpdateActivity(input: $input) {
    order {
      ...EcomOrdersV1OrderFragment
    }
  }
}
Variables
{"input": EcomOrdersV1UpdateActivityRequestInput}
Response
{
  "data": {
    "ecomOrdersV1UpdateActivity": {
      "order": EcomOrdersV1Order
    }
  }
}

UpdateOrder

Description

Updates an order's properties.

Currently, the following fields can be updated:

  • order.buyerInfo.email
  • order.recipientInfo.address
  • order.recipientInfo.contactDetails
  • order.shippingInfo.logistics.shippingDestination.address
  • order.shippingInfo.logistics.shippingDestination.contactDetails

To update a field's value, include the new value in the order object in the body params. To remove a field's value, pass null.

Note: Removing buyerInfo or contactDetails results in an error.

Response

Returns an EcomOrdersV1UpdateOrderResponse

Arguments
Name Description
input - EcomOrdersV1UpdateOrderRequestInput

Example

Query
mutation EcomOrdersV1UpdateOrder($input: EcomOrdersV1UpdateOrderRequestInput) {
  ecomOrdersV1UpdateOrder(input: $input) {
    order {
      ...EcomOrdersV1OrderFragment
    }
  }
}
Variables
{"input": EcomOrdersV1UpdateOrderRequestInput}
Response
{
  "data": {
    "ecomOrdersV1UpdateOrder": {
      "order": EcomOrdersV1Order
    }
  }
}

UpdateOrderLineItem

Arguments
Name Description
input - EcomOrdersV1UpdateOrderLineItemRequestInput

Example

Query
mutation EcomOrdersV1UpdateOrderLineItem($input: EcomOrdersV1UpdateOrderLineItemRequestInput) {
  ecomOrdersV1UpdateOrderLineItem(input: $input) {
    order {
      ...EcomOrdersV1OrderFragment
    }
  }
}
Variables
{"input": EcomOrdersV1UpdateOrderLineItemRequestInput}
Response
{
  "data": {
    "ecomOrdersV1UpdateOrderLineItem": {
      "order": EcomOrdersV1Order
    }
  }
}

Mutations

GetRecommendation

Description

Returns a recommendation object containing a list of items to recommend to the customer.

Get Recommendation determines which items to recommend based on the given recommendation algorithms.

Get Recommendation doesn’t run the algorithms. It calls the installed apps that provide them.

Apps may provide algorithms for use with their own catalogs, or for use with catalogs from other apps. For example, Wix Stores provides algorithms that can only be used on its own catalogs. To run an algorithm, the app providing it must be installed, and an app providing a supported catalog must be installed. For more information and to see which algorithms are available on your site or project, call List Available Algorithms.

Get Recommendation operates as follows:

  1. Get Recommendation receives as input a list of algorithms as an array. These algorithms can be provided by different apps and can apply to different catalogs.
  2. Get Recommendation calls the app that corresponds to the appId of the first algorithm in the list of algorithms. It passes that algorithm’s ID and the IDs of any subsequent algorithms in the array for the same app.
  3. The app runs the algorithms.
  4. Get Recommendation returns items recommendations from the first algorithm (according to its position in the algorithms array) that meets the minimum number of recommendations. At that point Get Recommendation stops calling other apps.
  5. If none of the algorithms run by the first app meet the minimum recommended items, Get Recommendation finds the next algorithm in the array with a new appId (an ID of an app that has not yet been called), and repeats the process.
  6. If no algorithms in the algorithms array recommend at least the minimum recommended items, Get Recommendations returns an empty array.

Example

Query
mutation EcomRecommendationsV1GetRecommendation($input: EcomRecommendationsV1GetRecommendationRequestInput) {
  ecomRecommendationsV1GetRecommendation(input: $input) {
    recommendation {
      ...EcomRecommendationsV1RecommendationFragment
    }
  }
}
Variables
{
  "input": EcomRecommendationsV1GetRecommendationRequestInput
}
Response
{
  "data": {
    "ecomRecommendationsV1GetRecommendation": {
      "recommendation": EcomRecommendationsV1Recommendation
    }
  }
}

ListAvailableAlgorithms

Description

Returns a list of recommendation algorithms that can be used on your Wix site or project. These algorithms can be used with Get Recommendation to provide item recommendations to the customer.

Algorithms are run by the apps that provide them, and can only be used on catalogs they support. Apps may provide algorithms for use with their own catalogs and/or catalogs from other apps.

The app which provides an algorithm is referenced by that algorithm’s appId. The apps whose catalogs are supported by an algorithm are referenced by the IDs in that algorithm’s catalogAppIds array.

For an algorithm to be considered “Available” and returned in this method’s response, the algorithm must meet the following conditions:

  1. The algorithm’s appId must match the ID of an installed Wix app.
  2. At least 1 of the IDs in catalogAppIds must match the ID of an installed Wix app.

Wix app IDs are listed here.

Arguments
Name Description
input - Void

Example

Query
mutation EcomRecommendationsV1ListAvailableAlgorithms($input: Void) {
  ecomRecommendationsV1ListAvailableAlgorithms(input: $input) {
    availableAlgorithms {
      ...EcomRecommendationsV1AlgorithmInfoFragment
    }
  }
}
Variables
{"input": null}
Response
{
  "data": {
    "ecomRecommendationsV1ListAvailableAlgorithms": {
      "availableAlgorithms": [
        EcomRecommendationsV1AlgorithmInfo
      ]
    }
  }
}

Queries

Checkout

Description

Retrieves a checkout.

Response

Returns an EcomCheckoutV1Checkout

Arguments
Name Description
queryInput - EcomCheckoutV1CheckoutRequestInput

Example

Query
query EcomCheckoutV1Checkout($queryInput: EcomCheckoutV1CheckoutRequestInput) {
  ecomCheckoutV1Checkout(queryInput: $queryInput) {
    additionalFees {
      ...EcomTotalsCalculatorV1AdditionalFeeFragment
    }
    appliedDiscounts {
      ...EcomTotalsCalculatorV1AppliedDiscountFragment
    }
    billingInfo {
      ...EcomCheckoutV1AddressWithContactFragment
    }
    buyerInfo {
      ...EcomCheckoutV1BuyerInfoFragment
    }
    buyerLanguage
    buyerNote
    calculationErrors {
      ...EcomTotalsCalculatorV1CalculationErrorsFragment
    }
    cartId
    channelType
    completed
    conversionCurrency
    createdBy {
      ...EcomCheckoutV1CreatedByFragment
    }
    createdDate
    currency
    customFields {
      ...EcomOrdersV1CustomFieldFragment
    }
    customSettings {
      ...EcomCheckoutV1CustomSettingsFragment
    }
    externalEnrichedLineItems {
      ...EcomLineItemsEnricherSpiHostV1EnrichLineItemsForCheckoutResponseFragment
    }
    giftCard {
      ...EcomTotalsCalculatorV1GiftCardFragment
    }
    id
    lineItems {
      ...EcomCheckoutV1LineItemFragment
    }
    membershipOptions {
      ...EcomCheckoutV1MembershipOptionsFragment
    }
    payLater {
      ...EcomTotalsCalculatorV1PriceSummaryFragment
    }
    payNow {
      ...EcomTotalsCalculatorV1PriceSummaryFragment
    }
    priceSummary {
      ...EcomTotalsCalculatorV1PriceSummaryFragment
    }
    purchaseFlowId
    shippingInfo {
      ...EcomCheckoutV1ShippingInfoFragment
    }
    siteLanguage
    taxIncludedInPrice
    taxSummary {
      ...EcomTotalsCalculatorV1TaxSummaryFragment
    }
    updatedDate
    violations {
      ...EcommerceValidationsSpiV1ViolationFragment
    }
    weightUnit
  }
}
Variables
{"queryInput": EcomCheckoutV1CheckoutRequestInput}
Response
{
  "data": {
    "ecomCheckoutV1Checkout": {
      "additionalFees": [
        EcomTotalsCalculatorV1AdditionalFee
      ],
      "appliedDiscounts": [
        EcomTotalsCalculatorV1AppliedDiscount
      ],
      "billingInfo": EcomCheckoutV1AddressWithContact,
      "buyerInfo": EcomCheckoutV1BuyerInfo,
      "buyerLanguage": "abc123",
      "buyerNote": "abc123",
      "calculationErrors": EcomTotalsCalculatorV1CalculationErrors,
      "cartId": "62b7b87d-a24a-434d-8666-e270489eac09",
      "channelType": "UNSPECIFIED",
      "completed": false,
      "conversionCurrency": "xyz789",
      "createdBy": EcomCheckoutV1CreatedBy,
      "createdDate": "abc123",
      "currency": "abc123",
      "customFields": [EcomOrdersV1CustomField],
      "customSettings": EcomCheckoutV1CustomSettings,
      "externalEnrichedLineItems": EcomLineItemsEnricherSpiHostV1EnrichLineItemsForCheckoutResponse,
      "giftCard": EcomTotalsCalculatorV1GiftCard,
      "id": "62b7b87d-a24a-434d-8666-e270489eac09",
      "lineItems": [EcomCheckoutV1LineItem],
      "membershipOptions": EcomCheckoutV1MembershipOptions,
      "payLater": EcomTotalsCalculatorV1PriceSummary,
      "payNow": EcomTotalsCalculatorV1PriceSummary,
      "priceSummary": EcomTotalsCalculatorV1PriceSummary,
      "purchaseFlowId": "62b7b87d-a24a-434d-8666-e270489eac09",
      "shippingInfo": EcomCheckoutV1ShippingInfo,
      "siteLanguage": "xyz789",
      "taxIncludedInPrice": false,
      "taxSummary": EcomTotalsCalculatorV1TaxSummary,
      "updatedDate": "xyz789",
      "violations": [EcommerceValidationsSpiV1Violation],
      "weightUnit": "UNSPECIFIED_WEIGHT_UNIT"
    }
  }
}

Queries

Event

Description

Deprecation Notice

This endpoint has been replaced with Events V3's Get Event and will be removed on November 6, 2024. If your app uses this endpoint, we recommend updating your code as soon as possible.

Retrieves an event by ID or URL slug.

Response

Returns an EventsEvent

Arguments
Name Description
queryInput - EventsEventRequestInput

Example

Query
query EventsEvent($queryInput: EventsEventRequestInput) {
  eventsEvent(queryInput: $queryInput) {
    about
    agenda {
      ...EventsAgendaFragment
    }
    assignedContactsLabel
    calendarLinks {
      ...EventsCalendarLinksFragment
    }
    categories {
      ...EventsCategoriesCategoryFragment
    }
    created
    dashboard {
      ...EventsDashboardFragment
    }
    description
    eventDisplaySettings {
      ...EventsEventDisplaySettingsFragment
    }
    eventPageUrl {
      ...EventsSiteUrlFragment
    }
    feed {
      ...EventsFeedFragment
    }
    form {
      ...EventsFormFormFragment
    }
    guestListConfig {
      ...EventsGuestListConfigFragment
    }
    id
    instanceId
    language
    location {
      ...EventsLocationFragment
    }
    mainImage {
      ...EventsUpstreamCommonImageFragment
    }
    modified
    onlineConferencing {
      ...EventsOnlineConferencingFragment
    }
    policies {
      ...EventsV2QueryPoliciesResponseFragment
    }
    policiesVirtualReference {
      ...EventsV2QueryPoliciesResponseFragment
    }
    registration {
      ...EventsRegistrationFragment
    }
    scheduling {
      ...EventsSchedulingFragment
    }
    seoSettings {
      ...EventsSeoSettingsFragment
    }
    slug
    status
    title
    userId
  }
}
Variables
{"queryInput": EventsEventRequestInput}
Response
{
  "data": {
    "eventsEvent": {
      "about": "xyz789",
      "agenda": EventsAgenda,
      "assignedContactsLabel": "abc123",
      "calendarLinks": EventsCalendarLinks,
      "categories": [EventsCategoriesCategory],
      "created": "abc123",
      "dashboard": EventsDashboard,
      "description": "xyz789",
      "eventDisplaySettings": EventsEventDisplaySettings,
      "eventPageUrl": EventsSiteUrl,
      "feed": EventsFeed,
      "form": EventsFormForm,
      "guestListConfig": EventsGuestListConfig,
      "id": "62b7b87d-a24a-434d-8666-e270489eac09",
      "instanceId": "abc123",
      "language": "abc123",
      "location": EventsLocation,
      "mainImage": EventsUpstreamCommonImage,
      "modified": "abc123",
      "onlineConferencing": EventsOnlineConferencing,
      "policies": EventsV2QueryPoliciesResponse,
      "policiesVirtualReference": EventsV2QueryPoliciesResponse,
      "registration": EventsRegistration,
      "scheduling": EventsScheduling,
      "seoSettings": EventsSeoSettings,
      "slug": "xyz789",
      "status": "SCHEDULED",
      "title": "xyz789",
      "userId": "62b7b87d-a24a-434d-8666-e270489eac09"
    }
  }
}

``

Description

Deprecation Notice

This endpoint has been replaced with Events V3's Query Events and will be removed on November 6, 2024. If your app uses this endpoint, we recommend updating your code as soon as possible.

Retrieves a list of up to 1,000 events, given the provided paging, filtering and sorting.

** Important **:

  • All results are for one specific business, resolved from the request context.

Query object support:

  • filter - supported, see filtering and sorting.
  • sort - supported, see filtering and sorting.
  • paging - supported, see paging.
  • fields - not supported.
  • fieldsets - not supported, use request-level fieldset instead.
  • cursorPaging - not supported, use offset pagination instead.

Defaults:

  • When filter is not specified, returns all events that caller is authorized to read.
  • When sorting is not specified, defaults to created in DESC order.
Response

Returns an EventsQueryEventsV2Response

Arguments
Name Description
queryInput - EventsQueryEventsV2RequestInput

Example

Query
query EventsEvents($queryInput: EventsQueryEventsV2RequestInput) {
  eventsEvents(queryInput: $queryInput) {
    items {
      ...EventsEventFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{"queryInput": EventsQueryEventsV2RequestInput}
Response
{
  "data": {
    "eventsEvents": {
      "items": [EventsEvent],
      "pageInfo": PageInfo
    }
  }
}

Mutations

BulkCancel

Description

Deprecation Notice

This endpoint has been replaced with Events V3's Bulk Cancel Events By Filter and will be removed on November 6, 2024. If your app uses this endpoint, we recommend updating your code as soon as possible.

Cancels events by filter. If event cancellation notifications are enabled, canceling an event automatically sends cancellation emails and/or push notifications to registered guests.

Note: This endpoint requires visitor or member authentication.

Response

Returns a Void

Arguments
Name Description
input - EventsBulkCancelEventsRequestInput

Example

Query
mutation EventsBulkCancelEvents($input: EventsBulkCancelEventsRequestInput) {
  eventsBulkCancelEvents(input: $input)
}
Variables
{"input": EventsBulkCancelEventsRequestInput}
Response
{"data": {"eventsBulkCancelEvents": null}}

BulkDelete

Description

Deprecation Notice

This endpoint has been replaced with Events V3's Bulk Delete Events By Filter and will be removed on November 6, 2024. If your app uses this endpoint, we recommend updating your code as soon as possible.

Deletes events by filter. Deleted events are not returned via API. The only way to retrieve them is via GDPR access request.

Note: This endpoint requires visitor or member authentication.

Response

Returns a Void

Arguments
Name Description
input - EventsBulkDeleteEventsRequestInput

Example

Query
mutation EventsBulkDeleteEvents($input: EventsBulkDeleteEventsRequestInput) {
  eventsBulkDeleteEvents(input: $input)
}
Variables
{"input": EventsBulkDeleteEventsRequestInput}
Response
{"data": {"eventsBulkDeleteEvents": null}}

CancelEvent

Description

Deprecation Notice

This endpoint has been replaced with Events V3's Cancel Event and will be removed on November 6, 2024. If your app uses this endpoint, we recommend updating your code as soon as possible.

Cancels an event and closes registration. If event cancellation notifications are enabled, canceling an event automatically sends cancellation emails and/or push notifications to registered guests.

Response

Returns an EventsCancelEventResponse

Arguments
Name Description
input - EventsCancelEventRequestInput

Example

Query
mutation EventsCancelEvent($input: EventsCancelEventRequestInput) {
  eventsCancelEvent(input: $input) {
    event {
      ...EventsEventFragment
    }
  }
}
Variables
{"input": EventsCancelEventRequestInput}
Response
{"data": {"eventsCancelEvent": {"event": EventsEvent}}}

Copy

Description

Copies an event, including its registration form, notifications and tickets configuration - scheduled two weeks from the original event. Multilingual translations are also copied to the new event.

When an event with same title already exists, appends (1), (2), ... to it. For example, copying an event titled "My Event" creates "My Event (1)". Very long event titles are cropped: "Daily stand-up ev... (2)".

Response

Returns an EventsCopyEventResponse

Arguments
Name Description
input - EventsCopyEventRequestInput

Example

Query
mutation EventsCopy($input: EventsCopyEventRequestInput) {
  eventsCopy(input: $input) {
    event {
      ...EventsEventFragment
    }
  }
}
Variables
{"input": EventsCopyEventRequestInput}
Response
{"data": {"eventsCopy": {"event": EventsEvent}}}

CopyEventV2

Description

Deprecation Notice

This endpoint has been replaced with Events V3's Clone Event and will be removed on November 6, 2024. If your app uses this endpoint, we recommend updating your code as soon as possible.

Copies an event, including its registration form, notifications and tickets configuration - scheduled two weeks from the original event. Multilingual translations are also copied to the new event. Supports partial update of the original event fields. See Partial Updates for more information.

When an event with same title already exists, appends (1), (2), ... to it. For example, copying an event titled "My Event" creates "My Event (1)". Very long event titles are cropped: "Daily stand-up ev... (2)".

Response

Returns an EventsCopyEventV2Response

Arguments
Name Description
input - EventsCopyEventV2RequestInput

Example

Query
mutation EventsCopyEventV2($input: EventsCopyEventV2RequestInput) {
  eventsCopyEventV2(input: $input) {
    event {
      ...EventsEventFragment
    }
  }
}
Variables
{"input": EventsCopyEventV2RequestInput}
Response
{"data": {"eventsCopyEventV2": {"event": EventsEvent}}}

CreateEventV2

Description

Deprecation Notice

This endpoint has been replaced with Events V3's Create Event and will be removed on November 6, 2024. If your app uses this endpoint, we recommend updating your code as soon as possible.

Creates a new event, with a default registration form in the given language. Default registration form includes first name, last name, and email inputs. To learn more about registration form and customize it, see Registration Form. The event is automatically configured to send daily summary reports of new registrations to site business email. RegistrationConfig.initialType is required - allowed value when creating is RSVP or TICKETS.

Response

Returns an EventsCreateEventV2Response

Arguments
Name Description
input - EventsCreateEventV2RequestInput

Example

Query
mutation EventsCreateEventV2($input: EventsCreateEventV2RequestInput) {
  eventsCreateEventV2(input: $input) {
    event {
      ...EventsEventFragment
    }
  }
}
Variables
{"input": EventsCreateEventV2RequestInput}
Response
{"data": {"eventsCreateEventV2": {"event": EventsEvent}}}

DeleteEvent

Description

Deprecation Notice

This endpoint has been replaced with Events V3's Delete Event and will be removed on November 6, 2024. If your app uses this endpoint, we recommend updating your code as soon as possible.

Deletes an event. Deleted events are not returned via API. The only way to retrieve them is via GDPR access request.

Response

Returns an EventsDeleteEventResponse

Arguments
Name Description
input - EventsDeleteEventRequestInput

Example

Query
mutation EventsDeleteEvent($input: EventsDeleteEventRequestInput) {
  eventsDeleteEvent(input: $input) {
    id
  }
}
Variables
{"input": EventsDeleteEventRequestInput}
Response
{"data": {"eventsDeleteEvent": {"id": "62b7b87d-a24a-434d-8666-e270489eac09"}}}

FindEvent

Description

Deprecation Notice

This endpoint has been replaced with Events V3's Get Event and will be removed on November 6, 2024. If your app uses this endpoint, we recommend updating your code as soon as possible.

Finds an event by ID or URL slug. In contrast to Get Event endpoint which returns not found error, Find Event returns empty response when an event is not found.

Note: This endpoint requires visitor or member authentication.

Response

Returns an EventsFindEventResponse

Arguments
Name Description
input - EventsFindEventRequestInput

Example

Query
mutation EventsFindEvent($input: EventsFindEventRequestInput) {
  eventsFindEvent(input: $input) {
    event {
      ...EventsEventFragment
    }
  }
}
Variables
{"input": EventsFindEventRequestInput}
Response
{"data": {"eventsFindEvent": {"event": EventsEvent}}}

ListCategory

Description

Deprecation Notice

This endpoint has been replaced with Events V3's Query Events and will be removed on November 6, 2024. If your app uses this endpoint, we recommend updating your code as soon as possible.

Retrieves a list of up to 100 events, given the provided paging and category_id. Events are sorted by the sort index defined by CategoryManagement.

Note: This endpoint requires visitor or member authentication.

Response

Returns an EventsListCategoryEventsResponse

Arguments
Name Description
input - EventsListCategoryEventsRequestInput

Example

Query
mutation EventsListCategoryEvents($input: EventsListCategoryEventsRequestInput) {
  eventsListCategoryEvents(input: $input) {
    events {
      ...EventsEventFragment
    }
    pagingMetadata {
      ...CommonPagingMetadataV2Fragment
    }
  }
}
Variables
{"input": EventsListCategoryEventsRequestInput}
Response
{
  "data": {
    "eventsListCategoryEvents": {
      "events": [EventsEvent],
      "pagingMetadata": CommonPagingMetadataV2
    }
  }
}

List

Description

Deprecation Notice

This endpoint has been replaced with Events V3's Query Events and will be removed on November 6, 2024. If your app uses this endpoint, we recommend updating your code as soon as possible.

Retrieves a list of up to 100 events, given the provided paging, filtering & sorting.

Note: This endpoint requires visitor or member authentication.

Response

Returns an EventsListEventsResponse

Arguments
Name Description
input - EventsListEventsRequestInput

Example

Query
mutation EventsListEvents($input: EventsListEventsRequestInput) {
  eventsListEvents(input: $input) {
    events {
      ...EventsEventFragment
    }
    facets {
      ...EventsFacetCountsFragment
    }
    limit
    offset
    total
  }
}
Variables
{"input": EventsListEventsRequestInput}
Response
{
  "data": {
    "eventsListEvents": {
      "events": [EventsEvent],
      "facets": EventsFacetCounts,
      "limit": 987,
      "offset": 123,
      "total": 123
    }
  }
}

PublishDraftEvent

Description

Deprecation Notice

This endpoint has been replaced with Events V3's Update Event and will be removed on November 6, 2024. If your app uses this endpoint, we recommend updating your code as soon as possible.

Publishes draft event so that it becomes available to site visitors. If recurring events are set, category with state RECURRING_EVENT will be created. All recurring events will be assigned to this category.

Note: This endpoint requires visitor or member authentication.

Response

Returns an EventsPublishDraftEventResponse

Arguments
Name Description
input - EventsPublishDraftEventRequestInput

Example

Query
mutation EventsPublishDraftEvent($input: EventsPublishDraftEventRequestInput) {
  eventsPublishDraftEvent(input: $input) {
    event {
      ...EventsEventFragment
    }
  }
}
Variables
{"input": EventsPublishDraftEventRequestInput}
Response
{
  "data": {
    "eventsPublishDraftEvent": {"event": EventsEvent}
  }
}

Query

Description

Retrieves a list of up to 1,000 events, given the provided paging, filtering and sorting.

Response

Returns an EventsQueryEventsResponse

Arguments
Name Description
input - EventsQueryEventsRequestInput

Example

Query
mutation EventsQuery($input: EventsQueryEventsRequestInput) {
  eventsQuery(input: $input) {
    events {
      ...EventsEventFragment
    }
    facets {
      ...EventsFacetCountsFragment
    }
    limit
    offset
    total
  }
}
Variables
{"input": EventsQueryEventsRequestInput}
Response
{
  "data": {
    "eventsQuery": {
      "events": [EventsEvent],
      "facets": EventsFacetCounts,
      "limit": 123,
      "offset": 987,
      "total": 123
    }
  }
}

UpdateEvent

Description

Deprecation Notice

This endpoint has been replaced with Events V3's Update Event and will be removed on November 6, 2024. If your app uses this endpoint, we recommend updating your code as soon as possible.

Updates an event's parameters. See Partial Updates for more information.

Response

Returns an EventsUpdateEventResponse

Arguments
Name Description
input - EventsUpdateEventRequestInput

Example

Query
mutation EventsUpdateEvent($input: EventsUpdateEventRequestInput) {
  eventsUpdateEvent(input: $input) {
    event {
      ...EventsEventFragment
    }
  }
}
Variables
{"input": EventsUpdateEventRequestInput}
Response
{"data": {"eventsUpdateEvent": {"event": EventsEvent}}}

Queries

Policies

Description

Retrieves a list of policies according to the provided filters and paging.

Response

Returns an EventsV2QueryPoliciesResponse

Arguments
Name Description
queryInput - EventsV2QueryPoliciesRequestInput

Example

Query
query EventsPoliciesV2Policies($queryInput: EventsV2QueryPoliciesRequestInput) {
  eventsPoliciesV2Policies(queryInput: $queryInput) {
    items {
      ...EventsV2PolicyFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{"queryInput": EventsV2QueryPoliciesRequestInput}
Response
{
  "data": {
    "eventsPoliciesV2Policies": {
      "items": [EventsV2Policy],
      "pageInfo": PageInfo
    }
  }
}

Policy

Description

Retrieves a policy.

Response

Returns an EventsV2Policy

Arguments
Name Description
queryInput - EventsPoliciesV2PolicyRequestInput

Example

Query
query EventsPoliciesV2Policy($queryInput: EventsPoliciesV2PolicyRequestInput) {
  eventsPoliciesV2Policy(queryInput: $queryInput) {
    body
    createdDate
    event {
      ...EventsEventFragment
    }
    eventId
    id
    name
    revision
    updatedDate
  }
}
Variables
{"queryInput": EventsPoliciesV2PolicyRequestInput}
Response
{
  "data": {
    "eventsPoliciesV2Policy": {
      "body": "abc123",
      "createdDate": "abc123",
      "event": "62b7b87d-a24a-434d-8666-e270489eac09",
      "eventId": "62b7b87d-a24a-434d-8666-e270489eac09",
      "id": "62b7b87d-a24a-434d-8666-e270489eac09",
      "name": "xyz789",
      "revision": {},
      "updatedDate": "xyz789"
    }
  }
}

Mutations

CreatePolicy

Description

Creates a policy. You can create up to 3 policies per event. If you try to create more than 3, you'll get the "Maximum number of policies for the event has been reached" error.

Response

Returns an EventsV2CreatePolicyResponse

Arguments
Name Description
input - EventsV2CreatePolicyRequestInput

Example

Query
mutation EventsPoliciesV2CreatePolicy($input: EventsV2CreatePolicyRequestInput) {
  eventsPoliciesV2CreatePolicy(input: $input) {
    policy {
      ...EventsV2PolicyFragment
    }
  }
}
Variables
{"input": EventsV2CreatePolicyRequestInput}
Response
{
  "data": {
    "eventsPoliciesV2CreatePolicy": {
      "policy": EventsV2Policy
    }
  }
}

DeletePolicy

Description

Permanently deletes a policy.

Response

Returns a Void

Arguments
Name Description
input - EventsV2DeletePolicyRequestInput

Example

Query
mutation EventsPoliciesV2DeletePolicy($input: EventsV2DeletePolicyRequestInput) {
  eventsPoliciesV2DeletePolicy(input: $input)
}
Variables
{"input": EventsV2DeletePolicyRequestInput}
Response
{"data": {"eventsPoliciesV2DeletePolicy": null}}

ReorderEventPolicies

Description

Changes policy order in an event dashboard and agreement checkbox on the checkout form. By default, the policies are arranged by the created date in descending order.

Note: It is possible to use both beforePolicyId and afterPolicyId at the same time but only the last one defined will be executed.

Arguments
Name Description
input - EventsV2ReorderEventPoliciesRequestInput

Example

Query
mutation EventsPoliciesV2ReorderEventPolicies($input: EventsV2ReorderEventPoliciesRequestInput) {
  eventsPoliciesV2ReorderEventPolicies(input: $input) {
    policies {
      ...EventsV2PolicyFragment
    }
  }
}
Variables
{"input": EventsV2ReorderEventPoliciesRequestInput}
Response
{
  "data": {
    "eventsPoliciesV2ReorderEventPolicies": {
      "policies": [EventsV2Policy]
    }
  }
}

UpdatePolicy

Description

Updates a policy. Each time the policy is updated, revision increments by 1. The existing revision must be included when updating the policy. This ensures you're working with the latest policy and prevents unintended overwrites.

Response

Returns an EventsV2UpdatePolicyResponse

Arguments
Name Description
input - EventsV2UpdatePolicyRequestInput

Example

Query
mutation EventsPoliciesV2UpdatePolicy($input: EventsV2UpdatePolicyRequestInput) {
  eventsPoliciesV2UpdatePolicy(input: $input) {
    policy {
      ...EventsV2PolicyFragment
    }
  }
}
Variables
{"input": EventsV2UpdatePolicyRequestInput}
Response
{
  "data": {
    "eventsPoliciesV2UpdatePolicy": {
      "policy": EventsV2Policy
    }
  }
}

Queries

Items

Description

Retrieves a list of up to 100 schedule items, given the provided paging, filtering.

  • Important **:
  • All results are for one specific business, resolved from the request context.

Query object support:

Defaults:

  • When filter is not specified, returns all schedule items that caller is authorized to read.
  • When sorting is not specified, defaults to time_slot.start and time_slot.end in ASC order.
Arguments
Name Description
queryInput - EventsScheduleQueryScheduleItemsRequestInput

Example

Query
query EventsScheduleBookmarksV1Items($queryInput: EventsScheduleQueryScheduleItemsRequestInput) {
  eventsScheduleBookmarksV1Items(queryInput: $queryInput) {
    items {
      ...EventsScheduleScheduleItemFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{
  "queryInput": EventsScheduleQueryScheduleItemsRequestInput
}
Response
{
  "data": {
    "eventsScheduleBookmarksV1Items": {
      "items": [EventsScheduleScheduleItem],
      "pageInfo": PageInfo
    }
  }
}

ScheduleItem

Description

Retrieves schedule item by ID.

Response

Returns an EventsScheduleScheduleItem

Arguments
Name Description
queryInput - EventsScheduleBookmarksV1ScheduleItemRequestInput

Example

Query
query EventsScheduleBookmarksV1ScheduleItem($queryInput: EventsScheduleBookmarksV1ScheduleItemRequestInput) {
  eventsScheduleBookmarksV1ScheduleItem(queryInput: $queryInput) {
    createdDate
    description
    draft
    eventId
    hidden
    id
    name
    stageName
    status
    tags
    timeSlot {
      ...EventsTimeIntervalFragment
    }
    updatedDate
  }
}
Variables
{
  "queryInput": EventsScheduleBookmarksV1ScheduleItemRequestInput
}
Response
{
  "data": {
    "eventsScheduleBookmarksV1ScheduleItem": {
      "createdDate": "xyz789",
      "description": "xyz789",
      "draft": false,
      "eventId": "62b7b87d-a24a-434d-8666-e270489eac09",
      "hidden": true,
      "id": "62b7b87d-a24a-434d-8666-e270489eac09",
      "name": "abc123",
      "stageName": "xyz789",
      "status": "SCHEDULED",
      "tags": ["xyz789"],
      "timeSlot": EventsTimeInterval,
      "updatedDate": "xyz789"
    }
  }
}

Mutations

AddScheduleItem

Description

Adds schedule item to the draft schedule. Draft items are not publicly available unless published.

Arguments
Name Description
input - EventsScheduleAddScheduleItemRequestInput

Example

Query
mutation EventsScheduleBookmarksV1AddScheduleItem($input: EventsScheduleAddScheduleItemRequestInput) {
  eventsScheduleBookmarksV1AddScheduleItem(input: $input) {
    item {
      ...EventsScheduleScheduleItemFragment
    }
  }
}
Variables
{"input": EventsScheduleAddScheduleItemRequestInput}
Response
{
  "data": {
    "eventsScheduleBookmarksV1AddScheduleItem": {
      "item": EventsScheduleScheduleItem
    }
  }
}

CreateBookmark

Description

Bookmarks schedule item for current member.

Response

Returns a Void

Arguments
Name Description
input - EventsScheduleCreateBookmarkRequestInput

Example

Query
mutation EventsScheduleBookmarksV1CreateBookmark($input: EventsScheduleCreateBookmarkRequestInput) {
  eventsScheduleBookmarksV1CreateBookmark(input: $input)
}
Variables
{"input": EventsScheduleCreateBookmarkRequestInput}
Response
{"data": {"eventsScheduleBookmarksV1CreateBookmark": null}}

DeleteBookmark

Description

Removes schedule item bookmark from current member.

Response

Returns a Void

Arguments
Name Description
input - EventsScheduleDeleteBookmarkRequestInput

Example

Query
mutation EventsScheduleBookmarksV1DeleteBookmark($input: EventsScheduleDeleteBookmarkRequestInput) {
  eventsScheduleBookmarksV1DeleteBookmark(input: $input)
}
Variables
{"input": EventsScheduleDeleteBookmarkRequestInput}
Response
{"data": {"eventsScheduleBookmarksV1DeleteBookmark": null}}

DeleteScheduleItem

Description

Deletes schedule item from draft schedule.

Response

Returns a Void

Arguments
Name Description
input - EventsScheduleDeleteScheduleItemRequestInput

Example

Query
mutation EventsScheduleBookmarksV1DeleteScheduleItem($input: EventsScheduleDeleteScheduleItemRequestInput) {
  eventsScheduleBookmarksV1DeleteScheduleItem(input: $input)
}
Variables
{"input": EventsScheduleDeleteScheduleItemRequestInput}
Response
{"data": {"eventsScheduleBookmarksV1DeleteScheduleItem": null}}

DiscardDraft

Description

Clears all changes to the draft schedule. (Does not affect the published schedule.)

Response

Returns a Void

Arguments
Name Description
input - EventsScheduleDiscardDraftRequestInput

Example

Query
mutation EventsScheduleBookmarksV1DiscardDraft($input: EventsScheduleDiscardDraftRequestInput) {
  eventsScheduleBookmarksV1DiscardDraft(input: $input)
}
Variables
{"input": EventsScheduleDiscardDraftRequestInput}
Response
{"data": {"eventsScheduleBookmarksV1DiscardDraft": null}}

GetScheduleItem

Description

Retrieves schedule item by ID.

Arguments
Name Description
input - EventsScheduleGetScheduleItemRequestInput

Example

Query
mutation EventsScheduleBookmarksV1GetScheduleItem($input: EventsScheduleGetScheduleItemRequestInput) {
  eventsScheduleBookmarksV1GetScheduleItem(input: $input) {
    draft {
      ...EventsScheduleScheduleItemFragment
    }
    item {
      ...EventsScheduleScheduleItemFragment
    }
  }
}
Variables
{"input": EventsScheduleGetScheduleItemRequestInput}
Response
{
  "data": {
    "eventsScheduleBookmarksV1GetScheduleItem": {
      "draft": EventsScheduleScheduleItem,
      "item": EventsScheduleScheduleItem
    }
  }
}

ListBookmarks

Description

Retrieves a list of bookmarked schedule items for current member.

Arguments
Name Description
input - EventsScheduleListBookmarksRequestInput

Example

Query
mutation EventsScheduleBookmarksV1ListBookmarks($input: EventsScheduleListBookmarksRequestInput) {
  eventsScheduleBookmarksV1ListBookmarks(input: $input) {
    items {
      ...EventsScheduleScheduleItemFragment
    }
  }
}
Variables
{"input": EventsScheduleListBookmarksRequestInput}
Response
{
  "data": {
    "eventsScheduleBookmarksV1ListBookmarks": {
      "items": [EventsScheduleScheduleItem]
    }
  }
}

ListScheduleItems

Description

Retrieves a list of up to 100 schedule items, with basic filter support.

Arguments
Name Description
input - EventsScheduleListScheduleItemsRequestInput

Example

Query
mutation EventsScheduleBookmarksV1ListScheduleItems($input: EventsScheduleListScheduleItemsRequestInput) {
  eventsScheduleBookmarksV1ListScheduleItems(input: $input) {
    draftNotPublished
    facets {
      ...EventsFacetCountsFragment
    }
    items {
      ...EventsScheduleScheduleItemFragment
    }
    limit
    offset
    pagingMetadata {
      ...CommonPagingMetadataV2Fragment
    }
    total
  }
}
Variables
{"input": EventsScheduleListScheduleItemsRequestInput}
Response
{
  "data": {
    "eventsScheduleBookmarksV1ListScheduleItems": {
      "draftNotPublished": true,
      "facets": EventsFacetCounts,
      "items": [EventsScheduleScheduleItem],
      "limit": 987,
      "offset": 987,
      "pagingMetadata": CommonPagingMetadataV2,
      "total": 123
    }
  }
}

PublishDraft

Description

Publishes the draft schedule.

Response

Returns a Void

Arguments
Name Description
input - EventsSchedulePublishDraftRequestInput

Example

Query
mutation EventsScheduleBookmarksV1PublishDraft($input: EventsSchedulePublishDraftRequestInput) {
  eventsScheduleBookmarksV1PublishDraft(input: $input)
}
Variables
{"input": EventsSchedulePublishDraftRequestInput}
Response
{"data": {"eventsScheduleBookmarksV1PublishDraft": null}}

RescheduleDraft

Description

Adjusts time of all draft schedule items (per event).

Response

Returns a Void

Arguments
Name Description
input - EventsScheduleRescheduleDraftRequestInput

Example

Query
mutation EventsScheduleBookmarksV1RescheduleDraft($input: EventsScheduleRescheduleDraftRequestInput) {
  eventsScheduleBookmarksV1RescheduleDraft(input: $input)
}
Variables
{"input": EventsScheduleRescheduleDraftRequestInput}
Response
{"data": {"eventsScheduleBookmarksV1RescheduleDraft": null}}

UpdateScheduleItem

Description

Updates existing schedule item. All modifications are performed on a draft schedule, even if schedule item has already been published.

Arguments
Name Description
input - EventsScheduleUpdateScheduleItemRequestInput

Example

Query
mutation EventsScheduleBookmarksV1UpdateScheduleItem($input: EventsScheduleUpdateScheduleItemRequestInput) {
  eventsScheduleBookmarksV1UpdateScheduleItem(input: $input) {
    item {
      ...EventsScheduleScheduleItemFragment
    }
  }
}
Variables
{"input": EventsScheduleUpdateScheduleItemRequestInput}
Response
{
  "data": {
    "eventsScheduleBookmarksV1UpdateScheduleItem": {
      "item": EventsScheduleScheduleItem
    }
  }
}

Queries

Items

Description

Retrieves a list of up to 100 schedule items, given the provided paging, filtering.

  • Important **:
  • All results are for one specific business, resolved from the request context.

Query object support:

Defaults:

  • When filter is not specified, returns all schedule items that caller is authorized to read.
  • When sorting is not specified, defaults to time_slot.start and time_slot.end in ASC order.
Arguments
Name Description
queryInput - EventsScheduleQueryScheduleItemsRequestInput

Example

Query
query EventsScheduleV1Items($queryInput: EventsScheduleQueryScheduleItemsRequestInput) {
  eventsScheduleV1Items(queryInput: $queryInput) {
    items {
      ...EventsScheduleScheduleItemFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{
  "queryInput": EventsScheduleQueryScheduleItemsRequestInput
}
Response
{
  "data": {
    "eventsScheduleV1Items": {
      "items": [EventsScheduleScheduleItem],
      "pageInfo": PageInfo
    }
  }
}

ScheduleItem

Description

Retrieves schedule item by ID.

Response

Returns an EventsScheduleScheduleItem

Arguments
Name Description
queryInput - EventsScheduleV1ScheduleItemRequestInput

Example

Query
query EventsScheduleV1ScheduleItem($queryInput: EventsScheduleV1ScheduleItemRequestInput) {
  eventsScheduleV1ScheduleItem(queryInput: $queryInput) {
    createdDate
    description
    draft
    eventId
    hidden
    id
    name
    stageName
    status
    tags
    timeSlot {
      ...EventsTimeIntervalFragment
    }
    updatedDate
  }
}
Variables
{"queryInput": EventsScheduleV1ScheduleItemRequestInput}
Response
{
  "data": {
    "eventsScheduleV1ScheduleItem": {
      "createdDate": "xyz789",
      "description": "xyz789",
      "draft": false,
      "eventId": "62b7b87d-a24a-434d-8666-e270489eac09",
      "hidden": true,
      "id": "62b7b87d-a24a-434d-8666-e270489eac09",
      "name": "abc123",
      "stageName": "abc123",
      "status": "SCHEDULED",
      "tags": ["xyz789"],
      "timeSlot": EventsTimeInterval,
      "updatedDate": "xyz789"
    }
  }
}

Mutations

AddScheduleItem

Description

Adds schedule item to the draft schedule. Draft items are not publicly available unless published.

Arguments
Name Description
input - EventsScheduleAddScheduleItemRequestInput

Example

Query
mutation EventsScheduleV1AddScheduleItem($input: EventsScheduleAddScheduleItemRequestInput) {
  eventsScheduleV1AddScheduleItem(input: $input) {
    item {
      ...EventsScheduleScheduleItemFragment
    }
  }
}
Variables
{"input": EventsScheduleAddScheduleItemRequestInput}
Response
{
  "data": {
    "eventsScheduleV1AddScheduleItem": {
      "item": EventsScheduleScheduleItem
    }
  }
}

CreateBookmark

Description

Bookmarks schedule item for current member.

Response

Returns a Void

Arguments
Name Description
input - EventsScheduleCreateBookmarkRequestInput

Example

Query
mutation EventsScheduleV1CreateBookmark($input: EventsScheduleCreateBookmarkRequestInput) {
  eventsScheduleV1CreateBookmark(input: $input)
}
Variables
{"input": EventsScheduleCreateBookmarkRequestInput}
Response
{"data": {"eventsScheduleV1CreateBookmark": null}}

DeleteBookmark

Description

Removes schedule item bookmark from current member.

Response

Returns a Void

Arguments
Name Description
input - EventsScheduleDeleteBookmarkRequestInput

Example

Query
mutation EventsScheduleV1DeleteBookmark($input: EventsScheduleDeleteBookmarkRequestInput) {
  eventsScheduleV1DeleteBookmark(input: $input)
}
Variables
{"input": EventsScheduleDeleteBookmarkRequestInput}
Response
{"data": {"eventsScheduleV1DeleteBookmark": null}}

DeleteScheduleItem

Description

Deletes schedule item from draft schedule.

Response

Returns a Void

Arguments
Name Description
input - EventsScheduleDeleteScheduleItemRequestInput

Example

Query
mutation EventsScheduleV1DeleteScheduleItem($input: EventsScheduleDeleteScheduleItemRequestInput) {
  eventsScheduleV1DeleteScheduleItem(input: $input)
}
Variables
{"input": EventsScheduleDeleteScheduleItemRequestInput}
Response
{"data": {"eventsScheduleV1DeleteScheduleItem": null}}

DiscardDraft

Description

Clears all changes to the draft schedule. (Does not affect the published schedule.)

Response

Returns a Void

Arguments
Name Description
input - EventsScheduleDiscardDraftRequestInput

Example

Query
mutation EventsScheduleV1DiscardDraft($input: EventsScheduleDiscardDraftRequestInput) {
  eventsScheduleV1DiscardDraft(input: $input)
}
Variables
{"input": EventsScheduleDiscardDraftRequestInput}
Response
{"data": {"eventsScheduleV1DiscardDraft": null}}

GetScheduleItem

Description

Retrieves schedule item by ID.

Arguments
Name Description
input - EventsScheduleGetScheduleItemRequestInput

Example

Query
mutation EventsScheduleV1GetScheduleItem($input: EventsScheduleGetScheduleItemRequestInput) {
  eventsScheduleV1GetScheduleItem(input: $input) {
    draft {
      ...EventsScheduleScheduleItemFragment
    }
    item {
      ...EventsScheduleScheduleItemFragment
    }
  }
}
Variables
{"input": EventsScheduleGetScheduleItemRequestInput}
Response
{
  "data": {
    "eventsScheduleV1GetScheduleItem": {
      "draft": EventsScheduleScheduleItem,
      "item": EventsScheduleScheduleItem
    }
  }
}

ListBookmarks

Description

Retrieves a list of bookmarked schedule items for current member.

Arguments
Name Description
input - EventsScheduleListBookmarksRequestInput

Example

Query
mutation EventsScheduleV1ListBookmarks($input: EventsScheduleListBookmarksRequestInput) {
  eventsScheduleV1ListBookmarks(input: $input) {
    items {
      ...EventsScheduleScheduleItemFragment
    }
  }
}
Variables
{"input": EventsScheduleListBookmarksRequestInput}
Response
{
  "data": {
    "eventsScheduleV1ListBookmarks": {
      "items": [EventsScheduleScheduleItem]
    }
  }
}

ListScheduleItems

Description

Retrieves a list of up to 100 schedule items, with basic filter support.

Arguments
Name Description
input - EventsScheduleListScheduleItemsRequestInput

Example

Query
mutation EventsScheduleV1ListScheduleItems($input: EventsScheduleListScheduleItemsRequestInput) {
  eventsScheduleV1ListScheduleItems(input: $input) {
    draftNotPublished
    facets {
      ...EventsFacetCountsFragment
    }
    items {
      ...EventsScheduleScheduleItemFragment
    }
    limit
    offset
    pagingMetadata {
      ...CommonPagingMetadataV2Fragment
    }
    total
  }
}
Variables
{"input": EventsScheduleListScheduleItemsRequestInput}
Response
{
  "data": {
    "eventsScheduleV1ListScheduleItems": {
      "draftNotPublished": true,
      "facets": EventsFacetCounts,
      "items": [EventsScheduleScheduleItem],
      "limit": 123,
      "offset": 123,
      "pagingMetadata": CommonPagingMetadataV2,
      "total": 123
    }
  }
}

PublishDraft

Description

Publishes the draft schedule.

Response

Returns a Void

Arguments
Name Description
input - EventsSchedulePublishDraftRequestInput

Example

Query
mutation EventsScheduleV1PublishDraft($input: EventsSchedulePublishDraftRequestInput) {
  eventsScheduleV1PublishDraft(input: $input)
}
Variables
{"input": EventsSchedulePublishDraftRequestInput}
Response
{"data": {"eventsScheduleV1PublishDraft": null}}

RescheduleDraft

Description

Adjusts time of all draft schedule items (per event).

Response

Returns a Void

Arguments
Name Description
input - EventsScheduleRescheduleDraftRequestInput

Example

Query
mutation EventsScheduleV1RescheduleDraft($input: EventsScheduleRescheduleDraftRequestInput) {
  eventsScheduleV1RescheduleDraft(input: $input)
}
Variables
{"input": EventsScheduleRescheduleDraftRequestInput}
Response
{"data": {"eventsScheduleV1RescheduleDraft": null}}

UpdateScheduleItem

Description

Updates existing schedule item. All modifications are performed on a draft schedule, even if schedule item has already been published.

Arguments
Name Description
input - EventsScheduleUpdateScheduleItemRequestInput

Example

Query
mutation EventsScheduleV1UpdateScheduleItem($input: EventsScheduleUpdateScheduleItemRequestInput) {
  eventsScheduleV1UpdateScheduleItem(input: $input) {
    item {
      ...EventsScheduleScheduleItemFragment
    }
  }
}
Variables
{"input": EventsScheduleUpdateScheduleItemRequestInput}
Response
{
  "data": {
    "eventsScheduleV1UpdateScheduleItem": {
      "item": EventsScheduleScheduleItem
    }
  }
}

Queries

Event

Description

Retrieves an event by ID or URL slug.

Response

Returns an EventsEvent

Arguments
Name Description
queryInput - EventsWixEventsV1EventRequestInput

Example

Query
query EventsWixEventsV1Event($queryInput: EventsWixEventsV1EventRequestInput) {
  eventsWixEventsV1Event(queryInput: $queryInput) {
    about
    agenda {
      ...EventsAgendaFragment
    }
    assignedContactsLabel
    calendarLinks {
      ...EventsCalendarLinksFragment
    }
    categories {
      ...EventsCategoriesCategoryFragment
    }
    created
    dashboard {
      ...EventsDashboardFragment
    }
    description
    eventDisplaySettings {
      ...EventsEventDisplaySettingsFragment
    }
    eventPageUrl {
      ...EventsSiteUrlFragment
    }
    feed {
      ...EventsFeedFragment
    }
    form {
      ...EventsFormFormFragment
    }
    guestListConfig {
      ...EventsGuestListConfigFragment
    }
    id
    instanceId
    language
    location {
      ...EventsLocationFragment
    }
    mainImage {
      ...EventsUpstreamCommonImageFragment
    }
    modified
    onlineConferencing {
      ...EventsOnlineConferencingFragment
    }
    policies {
      ...EventsV2QueryPoliciesResponseFragment
    }
    policiesVirtualReference {
      ...EventsV2QueryPoliciesResponseFragment
    }
    registration {
      ...EventsRegistrationFragment
    }
    scheduling {
      ...EventsSchedulingFragment
    }
    seoSettings {
      ...EventsSeoSettingsFragment
    }
    slug
    status
    title
    userId
  }
}
Variables
{"queryInput": EventsWixEventsV1EventRequestInput}
Response
{
  "data": {
    "eventsWixEventsV1Event": {
      "about": "xyz789",
      "agenda": EventsAgenda,
      "assignedContactsLabel": "xyz789",
      "calendarLinks": EventsCalendarLinks,
      "categories": [EventsCategoriesCategory],
      "created": "xyz789",
      "dashboard": EventsDashboard,
      "description": "xyz789",
      "eventDisplaySettings": EventsEventDisplaySettings,
      "eventPageUrl": EventsSiteUrl,
      "feed": EventsFeed,
      "form": EventsFormForm,
      "guestListConfig": EventsGuestListConfig,
      "id": "62b7b87d-a24a-434d-8666-e270489eac09",
      "instanceId": "xyz789",
      "language": "abc123",
      "location": EventsLocation,
      "mainImage": EventsUpstreamCommonImage,
      "modified": "xyz789",
      "onlineConferencing": EventsOnlineConferencing,
      "policies": EventsV2QueryPoliciesResponse,
      "policiesVirtualReference": EventsV2QueryPoliciesResponse,
      "registration": EventsRegistration,
      "scheduling": EventsScheduling,
      "seoSettings": EventsSeoSettings,
      "slug": "xyz789",
      "status": "SCHEDULED",
      "title": "xyz789",
      "userId": "62b7b87d-a24a-434d-8666-e270489eac09"
    }
  }
}

Events

Description

Retrieves a list of up to 1,000 events, given the provided paging, filtering and sorting.

** Important **:

  • All results are for one specific business, resolved from the request context.

Query object support:

  • filter - supported, see filtering and sorting.
  • sort - supported, see filtering and sorting.
  • paging - supported, see paging.
  • fields - not supported.
  • fieldsets - not supported, use request-level fieldset instead.
  • cursorPaging - not supported, use offset pagination instead.

Defaults:

  • When filter is not specified, returns all events that caller is authorized to read.
  • When sorting is not specified, defaults to created in DESC order.
Response

Returns an EventsQueryEventsV2Response

Arguments
Name Description
queryInput - EventsQueryEventsV2RequestInput

Example

Query
query EventsWixEventsV1Events($queryInput: EventsQueryEventsV2RequestInput) {
  eventsWixEventsV1Events(queryInput: $queryInput) {
    items {
      ...EventsEventFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{"queryInput": EventsQueryEventsV2RequestInput}
Response
{
  "data": {
    "eventsWixEventsV1Events": {
      "items": [EventsEvent],
      "pageInfo": PageInfo
    }
  }
}

Mutations

BulkCancelEvents

Description

Cancels events by filter. If event cancellation notifications are enabled, canceling an event automatically sends cancellation emails and/or push notifications to registered guests.

Note: This endpoint is relevant only for Headless projects.

Response

Returns a Void

Arguments
Name Description
input - EventsBulkCancelEventsRequestInput

Example

Query
mutation EventsWixEventsV1BulkCancelEvents($input: EventsBulkCancelEventsRequestInput) {
  eventsWixEventsV1BulkCancelEvents(input: $input)
}
Variables
{"input": EventsBulkCancelEventsRequestInput}
Response
{"data": {"eventsWixEventsV1BulkCancelEvents": null}}

BulkDeleteEvents

Description

Deletes events by filter. Deleted events are not returned via API. The only way to retrieve them is via GDPR access request.

Note: This endpoint is relevant only for Headless projects.

Response

Returns a Void

Arguments
Name Description
input - EventsBulkDeleteEventsRequestInput

Example

Query
mutation EventsWixEventsV1BulkDeleteEvents($input: EventsBulkDeleteEventsRequestInput) {
  eventsWixEventsV1BulkDeleteEvents(input: $input)
}
Variables
{"input": EventsBulkDeleteEventsRequestInput}
Response
{"data": {"eventsWixEventsV1BulkDeleteEvents": null}}

CancelEvent

Description

Cancels an event and closes registration. If event cancellation notifications are enabled, canceling an event automatically sends cancellation emails and/or push notifications to registered guests.

Response

Returns an EventsCancelEventResponse

Arguments
Name Description
input - EventsCancelEventRequestInput

Example

Query
mutation EventsWixEventsV1CancelEvent($input: EventsCancelEventRequestInput) {
  eventsWixEventsV1CancelEvent(input: $input) {
    event {
      ...EventsEventFragment
    }
  }
}
Variables
{"input": EventsCancelEventRequestInput}
Response
{
  "data": {
    "eventsWixEventsV1CancelEvent": {"event": EventsEvent}
  }
}

Copy

Description

Copies an event, including its registration form, notifications and tickets configuration - scheduled two weeks from the original event. Multilingual translations are also copied to the new event.

When an event with same title already exists, appends (1), (2), ... to it. For example, copying an event titled "My Event" creates "My Event (1)". Very long event titles are cropped: "Daily stand-up ev... (2)".

Response

Returns an EventsCopyEventResponse

Arguments
Name Description
input - EventsCopyEventRequestInput

Example

Query
mutation EventsWixEventsV1Copy($input: EventsCopyEventRequestInput) {
  eventsWixEventsV1Copy(input: $input) {
    event {
      ...EventsEventFragment
    }
  }
}
Variables
{"input": EventsCopyEventRequestInput}
Response
{
  "data": {
    "eventsWixEventsV1Copy": {"event": EventsEvent}
  }
}

CopyEventV2

Description

Copies an event, including its registration form, notifications and tickets configuration - scheduled two weeks from the original event. Multilingual translations are also copied to the new event. Supports partial update of the original event fields. See Partial Updates for more information.

When an event with same title already exists, appends (1), (2), ... to it. For example, copying an event titled "My Event" creates "My Event (1)". Very long event titles are cropped: "Daily stand-up ev... (2)".

Response

Returns an EventsCopyEventV2Response

Arguments
Name Description
input - EventsCopyEventV2RequestInput

Example

Query
mutation EventsWixEventsV1CopyEventV2($input: EventsCopyEventV2RequestInput) {
  eventsWixEventsV1CopyEventV2(input: $input) {
    event {
      ...EventsEventFragment
    }
  }
}
Variables
{"input": EventsCopyEventV2RequestInput}
Response
{
  "data": {
    "eventsWixEventsV1CopyEventV2": {"event": EventsEvent}
  }
}

CreateEventV2

Description

Creates a new event, with a default registration form in the given language. Default registration form includes first name, last name, and email inputs. To learn more about registration form and customize it, see Registration Form. The event is automatically configured to send daily summary reports of new registrations to site business email. RegistrationConfig.initialType is required - allowed value when creating is RSVP or TICKETS.

Response

Returns an EventsCreateEventV2Response

Arguments
Name Description
input - EventsCreateEventV2RequestInput

Example

Query
mutation EventsWixEventsV1CreateEventV2($input: EventsCreateEventV2RequestInput) {
  eventsWixEventsV1CreateEventV2(input: $input) {
    event {
      ...EventsEventFragment
    }
  }
}
Variables
{"input": EventsCreateEventV2RequestInput}
Response
{
  "data": {
    "eventsWixEventsV1CreateEventV2": {
      "event": EventsEvent
    }
  }
}

DeleteEvent

Description

Deletes an event. Deleted events are not returned via API. The only way to retrieve them is via GDPR access request.

Response

Returns an EventsDeleteEventResponse

Arguments
Name Description
input - EventsDeleteEventRequestInput

Example

Query
mutation EventsWixEventsV1DeleteEvent($input: EventsDeleteEventRequestInput) {
  eventsWixEventsV1DeleteEvent(input: $input) {
    id
  }
}
Variables
{"input": EventsDeleteEventRequestInput}
Response
{
  "data": {
    "eventsWixEventsV1DeleteEvent": {
      "id": "62b7b87d-a24a-434d-8666-e270489eac09"
    }
  }
}

FindEvent

Description

Finds an event by ID or URL slug. In contrast to Get Event endpoint which returns not found error, Find Event returns empty response when an event is not found.

Note: This endpoint is relevant only for Headless projects.

Response

Returns an EventsFindEventResponse

Arguments
Name Description
input - EventsFindEventRequestInput

Example

Query
mutation EventsWixEventsV1FindEvent($input: EventsFindEventRequestInput) {
  eventsWixEventsV1FindEvent(input: $input) {
    event {
      ...EventsEventFragment
    }
  }
}
Variables
{"input": EventsFindEventRequestInput}
Response
{
  "data": {
    "eventsWixEventsV1FindEvent": {"event": EventsEvent}
  }
}

GetEvent

Description

Retrieves an event by ID or URL slug.

Response

Returns an EventsGetEventResponse

Arguments
Name Description
input - EventsGetEventRequestInput

Example

Query
mutation EventsWixEventsV1GetEvent($input: EventsGetEventRequestInput) {
  eventsWixEventsV1GetEvent(input: $input) {
    event {
      ...EventsEventFragment
    }
  }
}
Variables
{"input": EventsGetEventRequestInput}
Response
{
  "data": {
    "eventsWixEventsV1GetEvent": {"event": EventsEvent}
  }
}

ListCategoryEvents

Description

Retrieves a list of up to 100 events, given the provided paging and category_id. Events are sorted by the sort index defined by CategoryManagement.

Response

Returns an EventsListCategoryEventsResponse

Arguments
Name Description
input - EventsListCategoryEventsRequestInput

Example

Query
mutation EventsWixEventsV1ListCategoryEvents($input: EventsListCategoryEventsRequestInput) {
  eventsWixEventsV1ListCategoryEvents(input: $input) {
    events {
      ...EventsEventFragment
    }
    pagingMetadata {
      ...CommonPagingMetadataV2Fragment
    }
  }
}
Variables
{"input": EventsListCategoryEventsRequestInput}
Response
{
  "data": {
    "eventsWixEventsV1ListCategoryEvents": {
      "events": [EventsEvent],
      "pagingMetadata": CommonPagingMetadataV2
    }
  }
}

ListEvents

Description

Retrieves a list of up to 100 events, given the provided paging, filtering & sorting.

Note: This endpoint is relevant only for Headless projects.

Response

Returns an EventsListEventsResponse

Arguments
Name Description
input - EventsListEventsRequestInput

Example

Query
mutation EventsWixEventsV1ListEvents($input: EventsListEventsRequestInput) {
  eventsWixEventsV1ListEvents(input: $input) {
    events {
      ...EventsEventFragment
    }
    facets {
      ...EventsFacetCountsFragment
    }
    limit
    offset
    total
  }
}
Variables
{"input": EventsListEventsRequestInput}
Response
{
  "data": {
    "eventsWixEventsV1ListEvents": {
      "events": [EventsEvent],
      "facets": EventsFacetCounts,
      "limit": 987,
      "offset": 123,
      "total": 987
    }
  }
}

PublishDraftEvent

Description

Publishes draft event so that it becomes available to site visitors. If recurring events are set, category with state RECURRING_EVENT will be created. All recurring events will be assigned to this category.

Note: This endpoint is relevant only for Headless projects.

Response

Returns an EventsPublishDraftEventResponse

Arguments
Name Description
input - EventsPublishDraftEventRequestInput

Example

Query
mutation EventsWixEventsV1PublishDraftEvent($input: EventsPublishDraftEventRequestInput) {
  eventsWixEventsV1PublishDraftEvent(input: $input) {
    event {
      ...EventsEventFragment
    }
  }
}
Variables
{"input": EventsPublishDraftEventRequestInput}
Response
{
  "data": {
    "eventsWixEventsV1PublishDraftEvent": {
      "event": EventsEvent
    }
  }
}

Query

Description

Retrieves a list of up to 1,000 events, given the provided paging, filtering and sorting.

Response

Returns an EventsQueryEventsResponse

Arguments
Name Description
input - EventsQueryEventsRequestInput

Example

Query
mutation EventsWixEventsV1Query($input: EventsQueryEventsRequestInput) {
  eventsWixEventsV1Query(input: $input) {
    events {
      ...EventsEventFragment
    }
    facets {
      ...EventsFacetCountsFragment
    }
    limit
    offset
    total
  }
}
Variables
{"input": EventsQueryEventsRequestInput}
Response
{
  "data": {
    "eventsWixEventsV1Query": {
      "events": [EventsEvent],
      "facets": EventsFacetCounts,
      "limit": 987,
      "offset": 987,
      "total": 987
    }
  }
}

QueryEventsV2

Description

Retrieves a list of up to 1,000 events, given the provided paging, filtering and sorting.

** Important **:

  • All results are for one specific business, resolved from the request context.

Query object support:

  • filter - supported, see filtering and sorting.
  • sort - supported, see filtering and sorting.
  • paging - supported, see paging.
  • fields - not supported.
  • fieldsets - not supported, use request-level fieldset instead.
  • cursorPaging - not supported, use offset pagination instead.

Defaults:

  • When filter is not specified, returns all events that caller is authorized to read.
  • When sorting is not specified, defaults to created in DESC order.
Response

Returns an EventsQueryEventsV2Response

Arguments
Name Description
input - EventsQueryEventsV2RequestInput

Example

Query
mutation EventsWixEventsV1QueryEventsV2($input: EventsQueryEventsV2RequestInput) {
  eventsWixEventsV1QueryEventsV2(input: $input) {
    items {
      ...EventsEventFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{"input": EventsQueryEventsV2RequestInput}
Response
{
  "data": {
    "eventsWixEventsV1QueryEventsV2": {
      "items": [EventsEvent],
      "pageInfo": PageInfo
    }
  }
}

UpdateEvent

Description

Updates an event's parameters. See Partial Updates for more information.

Response

Returns an EventsUpdateEventResponse

Arguments
Name Description
input - EventsUpdateEventRequestInput

Example

Query
mutation EventsWixEventsV1UpdateEvent($input: EventsUpdateEventRequestInput) {
  eventsWixEventsV1UpdateEvent(input: $input) {
    event {
      ...EventsEventFragment
    }
  }
}
Variables
{"input": EventsUpdateEventRequestInput}
Response
{
  "data": {
    "eventsWixEventsV1UpdateEvent": {"event": EventsEvent}
  }
}

Queries

Member

Description

Retrieves a member by ID.

  • PUBLIC fieldset returns id, contactId, and the profile object. status, privacyStatus and activityStatus are returned as UNKNOWN.
  • EXTENDED fieldset returns id, loginEmail, status, contactId, privacyStatus, activityStatus, and the profile object.
  • FULL fieldset returns all fields.

Members are typically associated with a contact, each having a distinct member and contact ID. When passing the ID as a parameter, avoid presuming the IDs are identical since they represent separate entities.

Response

Returns a MembersMember

Arguments
Name Description
queryInput - MembersMembersV1MemberRequestInput

Example

Query
query MembersMembersV1Member($queryInput: MembersMembersV1MemberRequestInput) {
  membersMembersV1Member(queryInput: $queryInput) {
    activityStatus
    contact {
      ...MembersContactFragment
    }
    contactId
    createdDate
    id
    lastLoginDate
    loginEmail
    loginEmailVerified
    participants {
      ...OnlineprogramsParticipantsV3QueryParticipantsResponseFragment
    }
    participantsVirtualReference {
      ...OnlineprogramsParticipantsV3QueryParticipantsResponseFragment
    }
    privacyStatus
    profile {
      ...MembersProfileFragment
    }
    status
    updatedDate
  }
}
Variables
{"queryInput": MembersMembersV1MemberRequestInput}
Response
{
  "data": {
    "membersMembersV1Member": {
      "activityStatus": "UNKNOWN",
      "contact": MembersContact,
      "contactId": "62b7b87d-a24a-434d-8666-e270489eac09",
      "createdDate": "xyz789",
      "id": "62b7b87d-a24a-434d-8666-e270489eac09",
      "lastLoginDate": "abc123",
      "loginEmail": "xyz789",
      "loginEmailVerified": false,
      "participants": OnlineprogramsParticipantsV3QueryParticipantsResponse,
      "participantsVirtualReference": OnlineprogramsParticipantsV3QueryParticipantsResponse,
      "privacyStatus": "UNKNOWN",
      "profile": MembersProfile,
      "status": "UNKNOWN",
      "updatedDate": "abc123"
    }
  }
}

Members

Description

Retrieves a list of up to 100 members, given the provided filters, fieldsets, sorting and paging.

  • PUBLIC fieldset returns id and profile object. status, privacyStatus and activityStatus are returned as UNKNOWN.
  • FULL fieldset returns all fields.

Currently supported fields for filtering:

  • id
  • profile.nickname
  • profile.slug
  • contact.firstName
  • contact.lastName
  • privacyStatus
  • loginEmail
  • createdDate
  • status
  • userId

Currently supported fields for sorting:

  • profile.nickname
  • contact.firstName
  • contact.lastName
  • createdDate
  • lastLoginDate
Response

Returns a MembersQueryMembersResponse

Arguments
Name Description
queryInput - MembersQueryMembersRequestInput

Example

Query
query MembersMembersV1Members($queryInput: MembersQueryMembersRequestInput) {
  membersMembersV1Members(queryInput: $queryInput) {
    items {
      ...MembersMemberFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{"queryInput": MembersQueryMembersRequestInput}
Response
{
  "data": {
    "membersMembersV1Members": {
      "items": [MembersMember],
      "pageInfo": PageInfo
    }
  }
}

Mutations

ApproveMember

Description

Approves a pending member, giving them access to members-only pages on the site.

Response

Returns a MembersApproveMemberResponse

Arguments
Name Description
input - MembersApproveMemberRequestInput

Example

Query
mutation MembersMembersV1ApproveMember($input: MembersApproveMemberRequestInput) {
  membersMembersV1ApproveMember(input: $input) {
    member {
      ...MembersMemberFragment
    }
  }
}
Variables
{"input": MembersApproveMemberRequestInput}
Response
{
  "data": {
    "membersMembersV1ApproveMember": {
      "member": MembersMember
    }
  }
}

BlockMember

Description

Blocks member.

After this action, blocked member cannot log into Members-Only pages on a site.

Returns full member entity with updated status.

Response

Returns a MembersBlockMemberResponse

Arguments
Name Description
input - MembersBlockMemberRequestInput

Example

Query
mutation MembersMembersV1BlockMember($input: MembersBlockMemberRequestInput) {
  membersMembersV1BlockMember(input: $input) {
    member {
      ...MembersMemberFragment
    }
  }
}
Variables
{"input": MembersBlockMemberRequestInput}
Response
{
  "data": {
    "membersMembersV1BlockMember": {
      "member": MembersMember
    }
  }
}

BulkApproveMembers

Description

Approves multiple members which satisfy the provided filter.

Arguments
Name Description
input - MembersBulkApproveMembersRequestInput

Example

Query
mutation MembersMembersV1BulkApproveMembers($input: MembersBulkApproveMembersRequestInput) {
  membersMembersV1BulkApproveMembers(input: $input) {
    jobId
  }
}
Variables
{"input": MembersBulkApproveMembersRequestInput}
Response
{
  "data": {
    "membersMembersV1BulkApproveMembers": {
      "jobId": "abc123"
    }
  }
}

BulkBlockMembers

Description

Blocks multiple members which satisfy the provided filter.

See documentation for blocking of a single member here

Response

Returns a MembersBulkBlockMembersResponse

Arguments
Name Description
input - MembersBulkBlockMembersRequestInput

Example

Query
mutation MembersMembersV1BulkBlockMembers($input: MembersBulkBlockMembersRequestInput) {
  membersMembersV1BulkBlockMembers(input: $input) {
    jobId
  }
}
Variables
{"input": MembersBulkBlockMembersRequestInput}
Response
{
  "data": {
    "membersMembersV1BulkBlockMembers": {
      "jobId": "abc123"
    }
  }
}

BulkDeleteMembers

Description

Deletes multiple members which satisfy the provided filter.

Arguments
Name Description
input - MembersBulkDeleteMembersRequestInput

Example

Query
mutation MembersMembersV1BulkDeleteMembers($input: MembersBulkDeleteMembersRequestInput) {
  membersMembersV1BulkDeleteMembers(input: $input) {
    bulkActionMetadata {
      ...MembersUpstreamCommonBulkActionMetadataFragment
    }
    results {
      ...MembersBulkDeleteMembersResponseBulkMemberResultFragment
    }
  }
}
Variables
{"input": MembersBulkDeleteMembersRequestInput}
Response
{
  "data": {
    "membersMembersV1BulkDeleteMembers": {
      "bulkActionMetadata": MembersUpstreamCommonBulkActionMetadata,
      "results": [
        MembersBulkDeleteMembersResponseBulkMemberResult
      ]
    }
  }
}

BulkDeleteMembersByFilter

Description

Deletes multiple members which satisfy the provided filter.

Arguments
Name Description
input - MembersBulkDeleteMembersByFilterRequestInput

Example

Query
mutation MembersMembersV1BulkDeleteMembersByFilter($input: MembersBulkDeleteMembersByFilterRequestInput) {
  membersMembersV1BulkDeleteMembersByFilter(input: $input) {
    jobId
  }
}
Variables
{"input": MembersBulkDeleteMembersByFilterRequestInput}
Response
{
  "data": {
    "membersMembersV1BulkDeleteMembersByFilter": {
      "jobId": "abc123"
    }
  }
}

CreateMember

Description

Creates a site member.

After creation, you can use Send Set Password Email to email the member with a link to set their password. The member can log in to the site when they set their password for the first time.

Note: When creating multiple members, set your requests at least 1 second apart to keep below rate limits.

Response

Returns a MembersCreateMemberResponse

Arguments
Name Description
input - MembersCreateMemberRequestInput

Example

Query
mutation MembersMembersV1CreateMember($input: MembersCreateMemberRequestInput) {
  membersMembersV1CreateMember(input: $input) {
    member {
      ...MembersMemberFragment
    }
  }
}
Variables
{"input": MembersCreateMemberRequestInput}
Response
{
  "data": {
    "membersMembersV1CreateMember": {
      "member": MembersMember
    }
  }
}

DeleteMember

Description

Deletes a member by ID.

Members are typically associated with a contact, each having a distinct member and contact ID. When passing the ID as a parameter, avoid presuming the IDs are identical since they represent separate entities.

Response

Returns a Void

Arguments
Name Description
input - MembersDeleteMemberRequestInput

Example

Query
mutation MembersMembersV1DeleteMember($input: MembersDeleteMemberRequestInput) {
  membersMembersV1DeleteMember(input: $input)
}
Variables
{"input": MembersDeleteMemberRequestInput}
Response
{"data": {"membersMembersV1DeleteMember": null}}

DeleteMemberAddresses

Description

Deletes a member's street addresses.

Members are typically associated with a contact, each having a distinct member and contact ID. When passing the ID as a parameter, avoid presuming the IDs are identical since they represent separate entities.

Arguments
Name Description
input - MembersDeleteMemberAddressesRequestInput

Example

Query
mutation MembersMembersV1DeleteMemberAddresses($input: MembersDeleteMemberAddressesRequestInput) {
  membersMembersV1DeleteMemberAddresses(input: $input) {
    member {
      ...MembersMemberFragment
    }
  }
}
Variables
{"input": MembersDeleteMemberAddressesRequestInput}
Response
{
  "data": {
    "membersMembersV1DeleteMemberAddresses": {
      "member": MembersMember
    }
  }
}

DeleteMemberEmails

Description

Clears a member's email addresses.

Members are typically associated with a contact, each having a distinct member and contact ID. When passing the ID as a parameter, avoid presuming the IDs are identical since they represent separate entities.

Arguments
Name Description
input - MembersDeleteMemberEmailsRequestInput

Example

Query
mutation MembersMembersV1DeleteMemberEmails($input: MembersDeleteMemberEmailsRequestInput) {
  membersMembersV1DeleteMemberEmails(input: $input) {
    member {
      ...MembersMemberFragment
    }
  }
}
Variables
{"input": MembersDeleteMemberEmailsRequestInput}
Response
{
  "data": {
    "membersMembersV1DeleteMemberEmails": {
      "member": MembersMember
    }
  }
}

DeleteMemberPhones

Description

Clears a member's phone numbers.

Members are typically associated with a contact, each having a distinct member and contact ID. When passing the ID as a parameter, avoid presuming the IDs are identical since they represent separate entities.

Arguments
Name Description
input - MembersDeleteMemberPhonesRequestInput

Example

Query
mutation MembersMembersV1DeleteMemberPhones($input: MembersDeleteMemberPhonesRequestInput) {
  membersMembersV1DeleteMemberPhones(input: $input) {
    member {
      ...MembersMemberFragment
    }
  }
}
Variables
{"input": MembersDeleteMemberPhonesRequestInput}
Response
{
  "data": {
    "membersMembersV1DeleteMemberPhones": {
      "member": MembersMember
    }
  }
}

DeleteMyMember

Response

Returns a Void

Arguments
Name Description
input - MembersDeleteMyMemberRequestInput

Example

Query
mutation MembersMembersV1DeleteMyMember($input: MembersDeleteMyMemberRequestInput) {
  membersMembersV1DeleteMyMember(input: $input)
}
Variables
{"input": MembersDeleteMyMemberRequestInput}
Response
{"data": {"membersMembersV1DeleteMyMember": null}}

DisconnectMember

Description

Disconnects member.

After this action, offline member cannot log into on a site. Member is not visible in Business Manager.

Returns full member entity with updated status.

Response

Returns a MembersDisconnectMemberResponse

Arguments
Name Description
input - MembersDisconnectMemberRequestInput

Example

Query
mutation MembersMembersV1DisconnectMember($input: MembersDisconnectMemberRequestInput) {
  membersMembersV1DisconnectMember(input: $input) {
    member {
      ...MembersMemberFragment
    }
  }
}
Variables
{"input": MembersDisconnectMemberRequestInput}
Response
{
  "data": {
    "membersMembersV1DisconnectMember": {
      "member": MembersMember
    }
  }
}

GetMyMember

Description

Retrieves the currently logged-in member.

Note: This endpoint requires visitor or member authentication.

Response

Returns a MembersGetMyMemberResponse

Arguments
Name Description
input - MembersGetMyMemberRequestInput

Example

Query
mutation MembersMembersV1GetMyMember($input: MembersGetMyMemberRequestInput) {
  membersMembersV1GetMyMember(input: $input) {
    member {
      ...MembersMemberFragment
    }
  }
}
Variables
{"input": MembersGetMyMemberRequestInput}
Response
{
  "data": {
    "membersMembersV1GetMyMember": {
      "member": MembersMember
    }
  }
}

JoinCommunity

Description

Joins the currently logged-in member to the site community and sets their profile to public.

When a member's profile is public, they have access to the site's Members Area features — such as chat, forum, and followers — and their profile is visible to other members and site visitors.

Note: This endpoint requires visitor or member authentication.

Response

Returns a MembersJoinCommunityResponse

Arguments
Name Description
input - Void

Example

Query
mutation MembersMembersV1JoinCommunity($input: Void) {
  membersMembersV1JoinCommunity(input: $input) {
    member {
      ...MembersMemberFragment
    }
  }
}
Variables
{"input": null}
Response
{
  "data": {
    "membersMembersV1JoinCommunity": {
      "member": MembersMember
    }
  }
}

LeaveCommunity

Description

Removes the currently logged-in member from the site community and sets their profile to private.

When a member's profile is private, they do not have access to the site's Members Area features — such as chat, forum, and followers — and their profile is hidden from other members and site visitors.

Note: If a member leaves the site's community, their content (such as forum posts and blog comments) remain publicly visible.

Note: This endpoint requires visitor or member authentication.

Response

Returns a MembersLeaveCommunityResponse

Arguments
Name Description
input - Void

Example

Query
mutation MembersMembersV1LeaveCommunity($input: Void) {
  membersMembersV1LeaveCommunity(input: $input) {
    member {
      ...MembersMemberFragment
    }
  }
}
Variables
{"input": null}
Response
{
  "data": {
    "membersMembersV1LeaveCommunity": {
      "member": MembersMember
    }
  }
}

ListMembers

Description

Lists site members, given the provided paging and fieldsets.

  • PUBLIC fieldset returns id and profile object. status, privacyStatus and activityStatus are returned as UNKNOWN.
  • FULL fieldset returns all fields.
Response

Returns a MembersListMembersResponse

Arguments
Name Description
input - MembersListMembersRequestInput

Example

Query
mutation MembersMembersV1ListMembers($input: MembersListMembersRequestInput) {
  membersMembersV1ListMembers(input: $input) {
    members {
      ...MembersMemberFragment
    }
    metadata {
      ...CommonPagingMetadataFragment
    }
  }
}
Variables
{"input": MembersListMembersRequestInput}
Response
{
  "data": {
    "membersMembersV1ListMembers": {
      "members": [MembersMember],
      "metadata": CommonPagingMetadata
    }
  }
}

MuteMember

Description

Restricts member's social participation in the community.

After this action, muted member cannot leave comments, like or share posts.

Verticals, which are respecting this property:

  • Forum
  • Blog

Returns full member entity with updated activity_status.

Response

Returns a MembersMuteMemberResponse

Arguments
Name Description
input - MembersMuteMemberRequestInput

Example

Query
mutation MembersMembersV1MuteMember($input: MembersMuteMemberRequestInput) {
  membersMembersV1MuteMember(input: $input) {
    member {
      ...MembersMemberFragment
    }
  }
}
Variables
{"input": MembersMuteMemberRequestInput}
Response
{
  "data": {
    "membersMembersV1MuteMember": {
      "member": MembersMember
    }
  }
}

UnmuteMember

Description

Lifts restrictions of member's social participation in the community

After this action, unmuted member can leave comments, post likes or share posts.

Verticals, which are respecting this property:

  • Forum
  • Blog

Returns full member entity with updated activity_status.

Response

Returns a MembersUnmuteMemberResponse

Arguments
Name Description
input - MembersUnmuteMemberRequestInput

Example

Query
mutation MembersMembersV1UnmuteMember($input: MembersUnmuteMemberRequestInput) {
  membersMembersV1UnmuteMember(input: $input) {
    member {
      ...MembersMemberFragment
    }
  }
}
Variables
{"input": MembersUnmuteMemberRequestInput}
Response
{
  "data": {
    "membersMembersV1UnmuteMember": {
      "member": MembersMember
    }
  }
}

UpdateMember

Description

Updates a member's properties.

To clear a field's value, set an empty value with an empty string "".

To clear the member's addresses, emails, or phone numbers, use these endpoints:

Members are typically associated with a contact, each having a distinct member and contact ID. When passing the ID as a parameter, avoid presuming the IDs are identical since they represent separate entities.

Privacy status cannot be updated using Update Member. A member can use Leave Community or Join Community to update their privacy status.

Response

Returns a MembersUpdateMemberResponse

Arguments
Name Description
input - MembersUpdateMemberRequestInput

Example

Query
mutation MembersMembersV1UpdateMember($input: MembersUpdateMemberRequestInput) {
  membersMembersV1UpdateMember(input: $input) {
    member {
      ...MembersMemberFragment
    }
  }
}
Variables
{"input": MembersUpdateMemberRequestInput}
Response
{
  "data": {
    "membersMembersV1UpdateMember": {
      "member": MembersMember
    }
  }
}

UpdateMemberSlug

Description

Change member slug.

Response

Returns a MembersUpdateMemberSlugResponse

Arguments
Name Description
input - MembersUpdateMemberSlugRequestInput

Example

Query
mutation MembersMembersV1UpdateMemberSlug($input: MembersUpdateMemberSlugRequestInput) {
  membersMembersV1UpdateMemberSlug(input: $input) {
    member {
      ...MembersMemberFragment
    }
  }
}
Variables
{"input": MembersUpdateMemberSlugRequestInput}
Response
{
  "data": {
    "membersMembersV1UpdateMemberSlug": {
      "member": MembersMember
    }
  }
}

UpdateMySlug

Description

Updates the currently logged in member's slug.

Note: This endpoint requires visitor or member authentication.

Response

Returns a MembersUpdateMySlugResponse

Arguments
Name Description
input - MembersUpdateMySlugRequestInput

Example

Query
mutation MembersMembersV1UpdateMySlug($input: MembersUpdateMySlugRequestInput) {
  membersMembersV1UpdateMySlug(input: $input) {
    member {
      ...MembersMemberFragment
    }
  }
}
Variables
{"input": MembersUpdateMySlugRequestInput}
Response
{
  "data": {
    "membersMembersV1UpdateMySlug": {
      "member": MembersMember
    }
  }
}

Queries

Plan

Description

Retrieves a pricing plan by ID.

Response

Returns a MembershipV2PlansPlan

Arguments
Name Description
queryInput - PricingPlansPlansV2PlanRequestInput

Example

Query
query PricingPlansPlansV2Plan($queryInput: PricingPlansPlansV2PlanRequestInput) {
  pricingPlansPlansV2Plan(queryInput: $queryInput) {
    allowFutureStartDate
    archived
    buyerCanCancel
    createdDate
    description
    form {
      ...FormsV4FormFragment
    }
    formId
    hasOrders
    id
    maxPurchasesPerBuyer
    name
    perks {
      ...MembershipV2StringListFragment
    }
    pricing {
      ...MembershipV2PricingFragment
    }
    primary
    public
    slug
    termsAndConditions
    updatedDate
  }
}
Variables
{"queryInput": PricingPlansPlansV2PlanRequestInput}
Response
{
  "data": {
    "pricingPlansPlansV2Plan": {
      "allowFutureStartDate": true,
      "archived": true,
      "buyerCanCancel": true,
      "createdDate": "xyz789",
      "description": "xyz789",
      "form": "62b7b87d-a24a-434d-8666-e270489eac09",
      "formId": "62b7b87d-a24a-434d-8666-e270489eac09",
      "hasOrders": true,
      "id": "62b7b87d-a24a-434d-8666-e270489eac09",
      "maxPurchasesPerBuyer": 987,
      "name": "abc123",
      "perks": MembershipV2StringList,
      "pricing": MembershipV2Pricing,
      "primary": false,
      "public": false,
      "slug": "xyz789",
      "termsAndConditions": "abc123",
      "updatedDate": "abc123"
    }
  }
}

Plans

Description

Retrieves a list of up to 1,000 public pricing plans, given the provided pagination, sorting, and filtering.

Arguments
Name Description
queryInput - MembershipV2PlansQueryPublicPlansRequestInput

Example

Query
query PricingPlansPlansV2Plans($queryInput: MembershipV2PlansQueryPublicPlansRequestInput) {
  pricingPlansPlansV2Plans(queryInput: $queryInput) {
    items {
      ...MembershipV2PlansPlanFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{
  "queryInput": MembershipV2PlansQueryPublicPlansRequestInput
}
Response
{
  "data": {
    "pricingPlansPlansV2Plans": {
      "items": [MembershipV2PlansPlan],
      "pageInfo": PageInfo
    }
  }
}

Mutations

ArchivePlan

Description

Archives a single plan. When a plan is archived, it is no longer visible as a public plan that can be chosen by site members or visitors. Archived plans cannot be purchased. An archived plan cannot be made active again. Plan archiving does not impact existing orders made for the plan. All orders for the plan are still active and keep their perks. Site owners can see archived plans in the Dashboard under Pricing Plans -> Archived Plans.

Arguments
Name Description
input - MembershipV2PlansArchivePlanRequestInput

Example

Query
mutation PricingPlansPlansV2ArchivePlan($input: MembershipV2PlansArchivePlanRequestInput) {
  pricingPlansPlansV2ArchivePlan(input: $input) {
    plan {
      ...MembershipV2PlansPlanFragment
    }
  }
}
Variables
{"input": MembershipV2PlansArchivePlanRequestInput}
Response
{
  "data": {
    "pricingPlansPlansV2ArchivePlan": {
      "plan": MembershipV2PlansPlan
    }
  }
}

ArrangePlans

Description

Changes the display order of the plans on the site. To rearrange the order of the plans, provide a list of plan IDs in the desired order. Include all public and hidden plans in the list you provide. Make sure to provide all non-archived plan IDs to avoid unpredictable results

Response

Returns a Void

Arguments
Name Description
input - MembershipV2PlansArrangePlansRequestInput

Example

Query
mutation PricingPlansPlansV2ArrangePlans($input: MembershipV2PlansArrangePlansRequestInput) {
  pricingPlansPlansV2ArrangePlans(input: $input)
}
Variables
{"input": MembershipV2PlansArrangePlansRequestInput}
Response
{"data": {"pricingPlansPlansV2ArrangePlans": null}}

ClearPrimary

Description

Sets all pricing plans as not primary. When viewing pricing plans on the site, no plan is highlighted with a customizable ribbon.

Response

Returns a Void

Arguments
Name Description
input - Void

Example

Query
mutation PricingPlansPlansV2ClearPrimary($input: Void) {
  pricingPlansPlansV2ClearPrimary(input: $input)
}
Variables
{"input": null}
Response
{"data": {"pricingPlansPlansV2ClearPrimary": null}}

CreatePlan

Description

Creates a pricing plan.

Arguments
Name Description
input - MembershipV2PlansCreatePlanRequestInput

Example

Query
mutation PricingPlansPlansV2CreatePlan($input: MembershipV2PlansCreatePlanRequestInput) {
  pricingPlansPlansV2CreatePlan(input: $input) {
    plan {
      ...MembershipV2PlansPlanFragment
    }
  }
}
Variables
{"input": MembershipV2PlansCreatePlanRequestInput}
Response
{
  "data": {
    "pricingPlansPlansV2CreatePlan": {
      "plan": MembershipV2PlansPlan
    }
  }
}

GetPlanStats

Description

Gets statistics about the pricing plans. Currently providing only the total number of pricing plans.

Arguments
Name Description
input - Void

Example

Query
mutation PricingPlansPlansV2GetPlanStats($input: Void) {
  pricingPlansPlansV2GetPlanStats(input: $input) {
    totalPlans
  }
}
Variables
{"input": null}
Response
{"data": {"pricingPlansPlansV2GetPlanStats": {"totalPlans": 123}}}

ListPlans

Description

Retrieves a list of up to 100 pricing plans (including public, hidden, and archived plans).

Arguments
Name Description
input - MembershipV2PlansListPlansRequestInput

Example

Query
mutation PricingPlansPlansV2ListPlans($input: MembershipV2PlansListPlansRequestInput) {
  pricingPlansPlansV2ListPlans(input: $input) {
    pagingMetadata {
      ...CommonPagingMetadataV2Fragment
    }
    plans {
      ...MembershipV2PlansPlanFragment
    }
  }
}
Variables
{"input": MembershipV2PlansListPlansRequestInput}
Response
{
  "data": {
    "pricingPlansPlansV2ListPlans": {
      "pagingMetadata": CommonPagingMetadataV2,
      "plans": [MembershipV2PlansPlan]
    }
  }
}

ListPublicPlans

Description

Retrieves a list of up to 100 public pricing plans.

Arguments
Name Description
input - MembershipV2PlansListPublicPlansRequestInput

Example

Query
mutation PricingPlansPlansV2ListPublicPlans($input: MembershipV2PlansListPublicPlansRequestInput) {
  pricingPlansPlansV2ListPublicPlans(input: $input) {
    pagingMetadata {
      ...CommonPagingMetadataV2Fragment
    }
    plans {
      ...MembershipV2PlansPublicPlanFragment
    }
  }
}
Variables
{"input": MembershipV2PlansListPublicPlansRequestInput}
Response
{
  "data": {
    "pricingPlansPlansV2ListPublicPlans": {
      "pagingMetadata": CommonPagingMetadataV2,
      "plans": [MembershipV2PlansPublicPlan]
    }
  }
}

MakePlanPrimary

Description

Marks a pricing plan as the primary pricing plan. When viewing pricing plans on the site, the primary plan is highlighted with a customizable ribbon.

Arguments
Name Description
input - MembershipV2PlansMakePlanPrimaryRequestInput

Example

Query
mutation PricingPlansPlansV2MakePlanPrimary($input: MembershipV2PlansMakePlanPrimaryRequestInput) {
  pricingPlansPlansV2MakePlanPrimary(input: $input) {
    plan {
      ...MembershipV2PlansPlanFragment
    }
  }
}
Variables
{"input": MembershipV2PlansMakePlanPrimaryRequestInput}
Response
{
  "data": {
    "pricingPlansPlansV2MakePlanPrimary": {
      "plan": MembershipV2PlansPlan
    }
  }
}

SetPlanVisibility

Description

Sets visibility for pricing plans. Visible plans are considered public plans. By default, pricing plans are public, meaning they are visible. Plans can be hidden so that site members and visitors cannot choose them. As opposed to archiving, setting visibility can be reversed. This means that a public plan can be hidden, and a hidden plan can be made public (visible). (An archived plan always remains archived and cannot be made active again.) Changing a plan’s visibility does not impact existing orders for the plan. All orders for hidden plans are still active and keep their perks.

Example

Query
mutation PricingPlansPlansV2SetPlanVisibility($input: MembershipV2PlansSetPlanVisibilityRequestInput) {
  pricingPlansPlansV2SetPlanVisibility(input: $input) {
    plan {
      ...MembershipV2PlansPlanFragment
    }
  }
}
Variables
{"input": MembershipV2PlansSetPlanVisibilityRequestInput}
Response
{
  "data": {
    "pricingPlansPlansV2SetPlanVisibility": {
      "plan": MembershipV2PlansPlan
    }
  }
}

UpdatePlan

Description

Updates a pricing plan. Updating a plan does not impact existing orders made for the plan. All orders keep the details of the original plan that was active at the time of purchase.

Arguments
Name Description
input - MembershipV2PlansUpdatePlanRequestInput

Example

Query
mutation PricingPlansPlansV2UpdatePlan($input: MembershipV2PlansUpdatePlanRequestInput) {
  pricingPlansPlansV2UpdatePlan(input: $input) {
    plan {
      ...MembershipV2PlansPlanFragment
    }
  }
}
Variables
{"input": MembershipV2PlansUpdatePlanRequestInput}
Response
{
  "data": {
    "pricingPlansPlansV2UpdatePlan": {
      "plan": MembershipV2PlansPlan
    }
  }
}

Mutations

CreateRedirectSession

Description

Creates a URL for redirecting a visitor from an external client site to a Wix page for Wix-managed functionality.

The Create Redirect Session endpoint enables your external Wix Headless client site, built on any platform, to integrate Wix-managed frontend functionality for specific processes. For example, your site can temporarily redirect a visitor to Wix for authentication, or for a checkout process for a bookings, eCommerce, events, or paid plans transaction.

To initiate a redirect session:

  1. Call Create Redirect Session with the details required for Wix to take care of one specific process (for example, authentication or a bookings checkout). Provide one or more callback URLs, so Wix can redirect the user back to your site as appropriate when the process is over.
  2. Redirect your visitor to the URL provided in the response. This URL includes query parameters informing Wix where to redirect the visitor back to on your external site.
  3. Make sure the pages at the callback URLs you provided take care of the next stages in your visitor flow.
Arguments
Name Description
input - HeadlessV1CreateRedirectSessionRequestInput

Example

Query
mutation RedirectsRedirectsV1CreateRedirectSession($input: HeadlessV1CreateRedirectSessionRequestInput) {
  redirectsRedirectsV1CreateRedirectSession(input: $input) {
    redirectSession {
      ...HeadlessV1RedirectSessionFragment
    }
  }
}
Variables
{"input": HeadlessV1CreateRedirectSessionRequestInput}
Response
{
  "data": {
    "redirectsRedirectsV1CreateRedirectSession": {
      "redirectSession": HeadlessV1RedirectSession
    }
  }
}

Queries

Collection

Description

Retrieves a collection with the provided ID.

Response

Returns a CatalogV1Collection

Arguments
Name Description
queryInput - StoresCollectionsV1CollectionRequestInput

Example

Query
query StoresCollectionsV1Collection($queryInput: StoresCollectionsV1CollectionRequestInput) {
  storesCollectionsV1Collection(queryInput: $queryInput) {
    description
    id
    media {
      ...CatalogV1MediaFragment
    }
    name
    numberOfProducts
    products {
      ...CatalogV1QueryProductsPlatformizedResponseFragment
    }
    slug
    visible
  }
}
Variables
{"queryInput": StoresCollectionsV1CollectionRequestInput}
Response
{
  "data": {
    "storesCollectionsV1Collection": {
      "description": "abc123",
      "id": "abc123",
      "media": CatalogV1Media,
      "name": "xyz789",
      "numberOfProducts": 123,
      "products": CatalogV1QueryProductsPlatformizedResponse,
      "slug": "abc123",
      "visible": true
    }
  }
}

Collections

Description

Retrieves a list of up to 100 collections, given the provided paging, sorting and filtering. See Stores Pagination for more information.

Arguments
Name Description
queryInput - CatalogV2QueryCollectionsRequestInput

Example

Query
query StoresCollectionsV1Collections($queryInput: CatalogV2QueryCollectionsRequestInput) {
  storesCollectionsV1Collections(queryInput: $queryInput) {
    items {
      ...CatalogV1CollectionFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{"queryInput": CatalogV2QueryCollectionsRequestInput}
Response
{
  "data": {
    "storesCollectionsV1Collections": {
      "items": [CatalogV1Collection],
      "pageInfo": PageInfo
    }
  }
}

Mutations

GetCollectionBySlug

Description

Retrieves a collection with the provided slug.

Arguments
Name Description
input - CatalogV2GetCollectionBySlugRequestInput

Example

Query
mutation StoresCollectionsV1GetCollectionBySlug($input: CatalogV2GetCollectionBySlugRequestInput) {
  storesCollectionsV1GetCollectionBySlug(input: $input) {
    collection {
      ...CatalogV1CollectionFragment
    }
  }
}
Variables
{"input": CatalogV2GetCollectionBySlugRequestInput}
Response
{
  "data": {
    "storesCollectionsV1GetCollectionBySlug": {
      "collection": CatalogV1Collection
    }
  }
}

Mutations

DecrementInventory

Description

Subtracts a set number of items from inventory.

Response

Returns a Void

Arguments
Name Description
input - InventoryV1DecrementInventoryRequestInput

Example

Query
mutation StoresInventoryV2DecrementInventory($input: InventoryV1DecrementInventoryRequestInput) {
  storesInventoryV2DecrementInventory(input: $input)
}
Variables
{"input": InventoryV1DecrementInventoryRequestInput}
Response
{"data": {"storesInventoryV2DecrementInventory": null}}

GetInventoryVariants

Arguments
Name Description
input - InventoryV1GetInventoryVariantsRequestInput

Example

Query
mutation StoresInventoryV2GetInventoryVariants($input: InventoryV1GetInventoryVariantsRequestInput) {
  storesInventoryV2GetInventoryVariants(input: $input) {
    inventoryItem {
      ...InventoryV1InventoryItemV2Fragment
    }
  }
}
Variables
{"input": InventoryV1GetInventoryVariantsRequestInput}
Response
{
  "data": {
    "storesInventoryV2GetInventoryVariants": {
      "inventoryItem": InventoryV1InventoryItemV2
    }
  }
}

IncrementInventory

Description

Adds a set number of items to inventory.

Response

Returns a Void

Arguments
Name Description
input - InventoryV1IncrementInventoryRequestInput

Example

Query
mutation StoresInventoryV2IncrementInventory($input: InventoryV1IncrementInventoryRequestInput) {
  storesInventoryV2IncrementInventory(input: $input)
}
Variables
{"input": InventoryV1IncrementInventoryRequestInput}
Response
{"data": {"storesInventoryV2IncrementInventory": null}}

QueryInventory

Description

Returns a list of up inventory items, given the provided paging, sorting and filtering. See Stores Pagination for more information.

Response

Returns an InventoryV1QueryInventoryResponse

Arguments
Name Description
input - InventoryV1QueryInventoryRequestInput

Example

Query
mutation StoresInventoryV2QueryInventory($input: InventoryV1QueryInventoryRequestInput) {
  storesInventoryV2QueryInventory(input: $input) {
    inventoryItems {
      ...InventoryV1InventoryItemV2Fragment
    }
    metadata {
      ...InventoryV1PagingMetadataFragment
    }
    totalResults
  }
}
Variables
{"input": InventoryV1QueryInventoryRequestInput}
Response
{
  "data": {
    "storesInventoryV2QueryInventory": {
      "inventoryItems": [InventoryV1InventoryItemV2],
      "metadata": InventoryV1PagingMetadata,
      "totalResults": 987
    }
  }
}

UpdateInventoryVariants

Description

Updates product inventory, including total quantity, whether the product is in stock, and whether the product inventory is tracked.

Response

Returns a Void

Arguments
Name Description
input - InventoryV1UpdateInventoryVariantsRequestInput

Example

Query
mutation StoresInventoryV2UpdateInventoryVariants($input: InventoryV1UpdateInventoryVariantsRequestInput) {
  storesInventoryV2UpdateInventoryVariants(input: $input)
}
Variables
{"input": InventoryV1UpdateInventoryVariantsRequestInput}
Response
{"data": {"storesInventoryV2UpdateInventoryVariants": null}}

Queries

Product

Response

Returns a CatalogV1Product

Arguments
Name Description
queryInput - StoresProductsV1ProductRequestInput

Example

Query
query StoresProductsV1Product($queryInput: StoresProductsV1ProductRequestInput) {
  storesProductsV1Product(queryInput: $queryInput) {
    additionalInfoSections {
      ...CatalogV1AdditionalInfoSectionFragment
    }
    brand
    collectionIds
    collections {
      ...CatalogV2QueryCollectionsResponseFragment
    }
    convertedPriceData {
      ...CatalogV1PriceDataFragment
    }
    costAndProfitData {
      ...CatalogV1CostAndProfitDataFragment
    }
    costRange {
      ...EcommerceCatalogSpiV1NumericPropertyRangeFragment
    }
    createdDate
    customTextFields {
      ...CatalogV1CustomTextFieldFragment
    }
    description
    discount {
      ...CatalogV1DiscountFragment
    }
    id
    inventoryItemId
    lastUpdated
    manageVariants
    media {
      ...CatalogV1MediaFragment
    }
    name
    numericId
    price {
      ...CatalogV1PriceDataFragment
    }
    priceData {
      ...CatalogV1PriceDataFragment
    }
    pricePerUnitData {
      ...CatalogV1PricePerUnitDataFragment
    }
    priceRange {
      ...EcommerceCatalogSpiV1NumericPropertyRangeFragment
    }
    productOptions {
      ...CatalogV1ProductOptionFragment
    }
    productPageUrl {
      ...CatalogV1PageUrlFragment
    }
    productType
    ribbon
    ribbons {
      ...CatalogV1RibbonFragment
    }
    seoData {
      ...AdvancedSeoSeoSchemaFragment
    }
    sku
    slug
    stock {
      ...CatalogV1StockFragment
    }
    variants {
      ...CatalogV1VariantFragment
    }
    visible
    weight
    weightRange {
      ...EcommerceCatalogSpiV1NumericPropertyRangeFragment
    }
  }
}
Variables
{"queryInput": StoresProductsV1ProductRequestInput}
Response
{
  "data": {
    "storesProductsV1Product": {
      "additionalInfoSections": [
        CatalogV1AdditionalInfoSection
      ],
      "brand": "xyz789",
      "collectionIds": ["xyz789"],
      "collections": CatalogV2QueryCollectionsResponse,
      "convertedPriceData": CatalogV1PriceData,
      "costAndProfitData": CatalogV1CostAndProfitData,
      "costRange": EcommerceCatalogSpiV1NumericPropertyRange,
      "createdDate": "xyz789",
      "customTextFields": [CatalogV1CustomTextField],
      "description": "xyz789",
      "discount": CatalogV1Discount,
      "id": "abc123",
      "inventoryItemId": "xyz789",
      "lastUpdated": "abc123",
      "manageVariants": false,
      "media": CatalogV1Media,
      "name": "xyz789",
      "numericId": {},
      "price": CatalogV1PriceData,
      "priceData": CatalogV1PriceData,
      "pricePerUnitData": CatalogV1PricePerUnitData,
      "priceRange": EcommerceCatalogSpiV1NumericPropertyRange,
      "productOptions": [CatalogV1ProductOption],
      "productPageUrl": CatalogV1PageUrl,
      "productType": "unspecified_product_type",
      "ribbon": "abc123",
      "ribbons": [CatalogV1Ribbon],
      "seoData": AdvancedSeoSeoSchema,
      "sku": "xyz789",
      "slug": "xyz789",
      "stock": CatalogV1Stock,
      "variants": [CatalogV1Variant],
      "visible": true,
      "weight": 987.65,
      "weightRange": EcommerceCatalogSpiV1NumericPropertyRange
    }
  }
}

Products

Description

Returns a list of up to 100 products, given the provided paging, sorting and filtering.

Arguments
Name Description
queryInput - CatalogV1QueryProductsPlatformizedRequestInput

Example

Query
query StoresProductsV1Products($queryInput: CatalogV1QueryProductsPlatformizedRequestInput) {
  storesProductsV1Products(queryInput: $queryInput) {
    items {
      ...CatalogV1ProductFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{
  "queryInput": CatalogV1QueryProductsPlatformizedRequestInput
}
Response
{
  "data": {
    "storesProductsV1Products": {
      "items": [CatalogV1Product],
      "pageInfo": PageInfo
    }
  }
}

Mutations

AddProductMedia

Description

Adds media items to a specified product, either via URL or existing media ID.

Response

Returns a Void

Arguments
Name Description
input - CatalogV1AddProductMediaRequestInput

Example

Query
mutation StoresProductsV1AddProductMedia($input: CatalogV1AddProductMediaRequestInput) {
  storesProductsV1AddProductMedia(input: $input)
}
Variables
{"input": CatalogV1AddProductMediaRequestInput}
Response
{"data": {"storesProductsV1AddProductMedia": null}}

AddProductMediaToChoices

Description

Links media items that are already associated with a specific product to a choice within the same product.

Media items can only be set for choices within one option at a time - e.g., if you set media items for some or all of the choices within the Colors option (blue, green, and red), you won't be able to also assign media items to choices within the Size option (S, M, and L).

To remove all existing media items, call the Remove Product Media From Choices endpoint.

Response

Returns a Void

Arguments
Name Description
input - CatalogV1AddProductMediaToChoicesRequestInput

Example

Query
mutation StoresProductsV1AddProductMediaToChoices($input: CatalogV1AddProductMediaToChoicesRequestInput) {
  storesProductsV1AddProductMediaToChoices(input: $input)
}
Variables
{"input": CatalogV1AddProductMediaToChoicesRequestInput}
Response
{"data": {"storesProductsV1AddProductMediaToChoices": null}}

AddProductsToCollection

Description

Adds products to a specified collection.

Response

Returns a Void

Arguments
Name Description
input - CatalogV1AddProductsToCollectionRequestInput

Example

Query
mutation StoresProductsV1AddProductsToCollection($input: CatalogV1AddProductsToCollectionRequestInput) {
  storesProductsV1AddProductsToCollection(input: $input)
}
Variables
{"input": CatalogV1AddProductsToCollectionRequestInput}
Response
{"data": {"storesProductsV1AddProductsToCollection": null}}

BulkAdjustProductProperties

Description

Adjusts a specified numerical property for up to 100 products at a time. The property can be increased or decreased either by percentage or amount.

Example

Query
mutation StoresProductsV1BulkAdjustProductProperties($input: CatalogV1BulkAdjustProductPropertiesRequestInput) {
  storesProductsV1BulkAdjustProductProperties(input: $input) {
    bulkActionMetadata {
      ...CommonBulkActionMetadataFragment
    }
    results {
      ...CatalogV1BulkProductResultFragment
    }
  }
}
Variables
{
  "input": CatalogV1BulkAdjustProductPropertiesRequestInput
}
Response
{
  "data": {
    "storesProductsV1BulkAdjustProductProperties": {
      "bulkActionMetadata": CommonBulkActionMetadata,
      "results": [CatalogV1BulkProductResult]
    }
  }
}

BulkUpdateProducts

Description

Updates a specified property for up to 100 products at a time.

Arguments
Name Description
input - CatalogV1BulkUpdateProductsRequestInput

Example

Query
mutation StoresProductsV1BulkUpdateProducts($input: CatalogV1BulkUpdateProductsRequestInput) {
  storesProductsV1BulkUpdateProducts(input: $input) {
    bulkActionMetadata {
      ...CommonBulkActionMetadataFragment
    }
    results {
      ...CatalogV1BulkProductResultFragment
    }
  }
}
Variables
{"input": CatalogV1BulkUpdateProductsRequestInput}
Response
{
  "data": {
    "storesProductsV1BulkUpdateProducts": {
      "bulkActionMetadata": CommonBulkActionMetadata,
      "results": [CatalogV1BulkProductResult]
    }
  }
}

CreateCollection

Description

Creates a new collection.

Arguments
Name Description
input - CatalogV1CreateCollectionRequestInput

Example

Query
mutation StoresProductsV1CreateCollection($input: CatalogV1CreateCollectionRequestInput) {
  storesProductsV1CreateCollection(input: $input) {
    collection {
      ...CatalogV1CollectionFragment
    }
  }
}
Variables
{"input": CatalogV1CreateCollectionRequestInput}
Response
{
  "data": {
    "storesProductsV1CreateCollection": {
      "collection": CatalogV1Collection
    }
  }
}

CreateProduct

Description

Creates a new product.

Response

Returns a CatalogV1CreateProductResponse

Arguments
Name Description
input - CatalogV1CreateProductRequestInput

Example

Query
mutation StoresProductsV1CreateProduct($input: CatalogV1CreateProductRequestInput) {
  storesProductsV1CreateProduct(input: $input) {
    product {
      ...CatalogV1ProductFragment
    }
  }
}
Variables
{"input": CatalogV1CreateProductRequestInput}
Response
{
  "data": {
    "storesProductsV1CreateProduct": {
      "product": CatalogV1Product
    }
  }
}

CreateProductPlatformized

Description

Creates a new product.

Example

Query
mutation StoresProductsV1CreateProductPlatformized($input: CatalogV1CreateProductPlatformizedRequestInput) {
  storesProductsV1CreateProductPlatformized(input: $input) {
    product {
      ...CatalogV1ProductFragment
    }
  }
}
Variables
{"input": CatalogV1CreateProductPlatformizedRequestInput}
Response
{
  "data": {
    "storesProductsV1CreateProductPlatformized": {
      "product": CatalogV1Product
    }
  }
}

DeleteCollection

Description

Deletes a collection.

Response

Returns a Void

Arguments
Name Description
input - CatalogV1DeleteCollectionRequestInput

Example

Query
mutation StoresProductsV1DeleteCollection($input: CatalogV1DeleteCollectionRequestInput) {
  storesProductsV1DeleteCollection(input: $input)
}
Variables
{"input": CatalogV1DeleteCollectionRequestInput}
Response
{"data": {"storesProductsV1DeleteCollection": null}}

DeleteProduct

Description

Deletes a product.

Response

Returns a Void

Arguments
Name Description
input - CatalogV1DeleteProductRequestInput

Example

Query
mutation StoresProductsV1DeleteProduct($input: CatalogV1DeleteProductRequestInput) {
  storesProductsV1DeleteProduct(input: $input)
}
Variables
{"input": CatalogV1DeleteProductRequestInput}
Response
{"data": {"storesProductsV1DeleteProduct": null}}

DeleteProductOptions

Description

Delete all options from a specific product. Only available when variant management is disabled.

Response

Returns a Void

Arguments
Name Description
input - CatalogV1DeleteProductOptionsRequestInput

Example

Query
mutation StoresProductsV1DeleteProductOptions($input: CatalogV1DeleteProductOptionsRequestInput) {
  storesProductsV1DeleteProductOptions(input: $input)
}
Variables
{"input": CatalogV1DeleteProductOptionsRequestInput}
Response
{"data": {"storesProductsV1DeleteProductOptions": null}}

DeleteProductPlatformized

Description

Deletes a product.

Response

Returns a Void

Arguments
Name Description
input - CatalogV1DeleteProductPlatformizedRequestInput

Example

Query
mutation StoresProductsV1DeleteProductPlatformized($input: CatalogV1DeleteProductPlatformizedRequestInput) {
  storesProductsV1DeleteProductPlatformized(input: $input)
}
Variables
{"input": CatalogV1DeleteProductPlatformizedRequestInput}
Response
{"data": {"storesProductsV1DeleteProductPlatformized": null}}

GetCollectionBySlug

Description

Retrieves a collection with the provided slug.

Arguments
Name Description
input - CatalogV1GetCollectionBySlugRequestInput

Example

Query
mutation StoresProductsV1GetCollectionBySlug($input: CatalogV1GetCollectionBySlugRequestInput) {
  storesProductsV1GetCollectionBySlug(input: $input) {
    collection {
      ...CatalogV1CollectionFragment
    }
  }
}
Variables
{"input": CatalogV1GetCollectionBySlugRequestInput}
Response
{
  "data": {
    "storesProductsV1GetCollectionBySlug": {
      "collection": CatalogV1Collection
    }
  }
}

GetProduct

Description

Retrieves a product with the provided ID.

Response

Returns a CatalogV1GetProductResponse

Arguments
Name Description
input - CatalogV1GetProductRequestInput

Example

Query
mutation StoresProductsV1GetProduct($input: CatalogV1GetProductRequestInput) {
  storesProductsV1GetProduct(input: $input) {
    product {
      ...CatalogV1ProductFragment
    }
  }
}
Variables
{"input": CatalogV1GetProductRequestInput}
Response
{
  "data": {
    "storesProductsV1GetProduct": {
      "product": CatalogV1Product
    }
  }
}

GetStoreVariant

Description

Retrieves a store variant with the provided ID.

Arguments
Name Description
input - CatalogV1GetStoreVariantRequestInput

Example

Query
mutation StoresProductsV1GetStoreVariant($input: CatalogV1GetStoreVariantRequestInput) {
  storesProductsV1GetStoreVariant(input: $input) {
    variant {
      ...CatalogV1StoreVariantFragment
    }
  }
}
Variables
{"input": CatalogV1GetStoreVariantRequestInput}
Response
{
  "data": {
    "storesProductsV1GetStoreVariant": {
      "variant": CatalogV1StoreVariant
    }
  }
}

ProductOptionsAvailability

Description

Gets the availability of relevant product variants based on the product ID and selections provided. See Use Cases for an example.

Example

Query
mutation StoresProductsV1ProductOptionsAvailability($input: CatalogV1ProductOptionsAvailabilityRequestInput) {
  storesProductsV1ProductOptionsAvailability(input: $input) {
    availableForPurchase
    media {
      ...CatalogV1MediaFragment
    }
    productOptions {
      ...CatalogV1ProductOptionFragment
    }
    selectedVariant {
      ...CatalogV1VariantDataFragment
    }
  }
}
Variables
{"input": CatalogV1ProductOptionsAvailabilityRequestInput}
Response
{
  "data": {
    "storesProductsV1ProductOptionsAvailability": {
      "availableForPurchase": false,
      "media": CatalogV1Media,
      "productOptions": [CatalogV1ProductOption],
      "selectedVariant": CatalogV1VariantData
    }
  }
}

QueryProductVariants

Description

Retrieves product variants, based on either choices (option-choice key-value pairs) or variant IDs. See Stores Pagination for more information.

Arguments
Name Description
input - CatalogV1QueryProductVariantsRequestInput

Example

Query
mutation StoresProductsV1QueryProductVariants($input: CatalogV1QueryProductVariantsRequestInput) {
  storesProductsV1QueryProductVariants(input: $input) {
    metadata {
      ...CatalogV1PagingMetadataFragment
    }
    totalResults
    variants {
      ...CatalogV1VariantFragment
    }
  }
}
Variables
{"input": CatalogV1QueryProductVariantsRequestInput}
Response
{
  "data": {
    "storesProductsV1QueryProductVariants": {
      "metadata": CatalogV1PagingMetadata,
      "totalResults": 123,
      "variants": [CatalogV1Variant]
    }
  }
}

QueryStoreVariants

Description

Retrieves up to 100 store variants, given the provided paging, filtering, and sorting.

Arguments
Name Description
input - CatalogV1QueryStoreVariantsRequestInput

Example

Query
mutation StoresProductsV1QueryStoreVariants($input: CatalogV1QueryStoreVariantsRequestInput) {
  storesProductsV1QueryStoreVariants(input: $input) {
    metadata {
      ...EcommerceCommonsPlatformPagingMetadataFragment
    }
    variants {
      ...CatalogV1StoreVariantFragment
    }
  }
}
Variables
{"input": CatalogV1QueryStoreVariantsRequestInput}
Response
{
  "data": {
    "storesProductsV1QueryStoreVariants": {
      "metadata": EcommerceCommonsPlatformPagingMetadata,
      "variants": [CatalogV1StoreVariant]
    }
  }
}

RemoveBrand

Description

Deletes a product's brand.

Response

Returns a Void

Arguments
Name Description
input - CatalogV1RemoveProductBrandRequestInput

Example

Query
mutation StoresProductsV1RemoveBrand($input: CatalogV1RemoveProductBrandRequestInput) {
  storesProductsV1RemoveBrand(input: $input)
}
Variables
{"input": CatalogV1RemoveProductBrandRequestInput}
Response
{"data": {"storesProductsV1RemoveBrand": null}}

RemoveProductMedia

Description

Removes specified media items from a product. Pass an empty array to remove all media items.

Response

Returns a Void

Arguments
Name Description
input - CatalogV1RemoveProductMediaRequestInput

Example

Query
mutation StoresProductsV1RemoveProductMedia($input: CatalogV1RemoveProductMediaRequestInput) {
  storesProductsV1RemoveProductMedia(input: $input)
}
Variables
{"input": CatalogV1RemoveProductMediaRequestInput}
Response
{"data": {"storesProductsV1RemoveProductMedia": null}}

RemoveProductMediaFromChoices

Description

Removes media items from all or some of a product's choices. (Media items can only be set for choices within one option at a time - e.g., if you set media items for some or all of the choices within the Colors option (blue, green, and red), you won't be able to also assign media items to choices within the Size option (S, M, and L).)

Response

Returns a Void

Arguments
Name Description
input - CatalogV1RemoveProductMediaFromChoicesRequestInput

Example

Query
mutation StoresProductsV1RemoveProductMediaFromChoices($input: CatalogV1RemoveProductMediaFromChoicesRequestInput) {
  storesProductsV1RemoveProductMediaFromChoices(input: $input)
}
Variables
{
  "input": CatalogV1RemoveProductMediaFromChoicesRequestInput
}
Response
{"data": {"storesProductsV1RemoveProductMediaFromChoices": null}}

RemoveProductsFromCollection

Description

Deletes products from a specified collection.

Response

Returns a Void

Arguments
Name Description
input - CatalogV1RemoveProductsFromCollectionRequestInput

Example

Query
mutation StoresProductsV1RemoveProductsFromCollection($input: CatalogV1RemoveProductsFromCollectionRequestInput) {
  storesProductsV1RemoveProductsFromCollection(input: $input)
}
Variables
{
  "input": CatalogV1RemoveProductsFromCollectionRequestInput
}
Response
{"data": {"storesProductsV1RemoveProductsFromCollection": null}}

RemoveRibbon

Description

Deletes a product's ribbon.

Response

Returns a Void

Arguments
Name Description
input - CatalogV1RemoveProductRibbonRequestInput

Example

Query
mutation StoresProductsV1RemoveRibbon($input: CatalogV1RemoveProductRibbonRequestInput) {
  storesProductsV1RemoveRibbon(input: $input)
}
Variables
{"input": CatalogV1RemoveProductRibbonRequestInput}
Response
{"data": {"storesProductsV1RemoveRibbon": null}}

ResetAllVariantData

Description

Resets the data (such as the price and the weight) of all variants for a given product to their default values.

Response

Returns a Void

Arguments
Name Description
input - CatalogV1ResetAllVariantDataRequestInput

Example

Query
mutation StoresProductsV1ResetAllVariantData($input: CatalogV1ResetAllVariantDataRequestInput) {
  storesProductsV1ResetAllVariantData(input: $input)
}
Variables
{"input": CatalogV1ResetAllVariantDataRequestInput}
Response
{"data": {"storesProductsV1ResetAllVariantData": null}}

UpdateCollection

Description

Updates specified properties of a collection. To add products to a collection, call the Add Products to Collection endpoint.

Arguments
Name Description
input - CatalogV1UpdateCollectionRequestInput

Example

Query
mutation StoresProductsV1UpdateCollection($input: CatalogV1UpdateCollectionRequestInput) {
  storesProductsV1UpdateCollection(input: $input) {
    collection {
      ...CatalogV1CollectionFragment
    }
  }
}
Variables
{"input": CatalogV1UpdateCollectionRequestInput}
Response
{
  "data": {
    "storesProductsV1UpdateCollection": {
      "collection": CatalogV1Collection
    }
  }
}

UpdateProduct

Description

Updates specified fields in a product.

Response

Returns a CatalogV1UpdateProductResponse

Arguments
Name Description
input - CatalogV1UpdateProductRequestInput

Example

Query
mutation StoresProductsV1UpdateProduct($input: CatalogV1UpdateProductRequestInput) {
  storesProductsV1UpdateProduct(input: $input) {
    product {
      ...CatalogV1ProductFragment
    }
  }
}
Variables
{"input": CatalogV1UpdateProductRequestInput}
Response
{
  "data": {
    "storesProductsV1UpdateProduct": {
      "product": CatalogV1Product
    }
  }
}

UpdateProductPlatformized

Description

Updates specified fields in a product.

Example

Query
mutation StoresProductsV1UpdateProductPlatformized($input: CatalogV1UpdateProductPlatformizedRequestInput) {
  storesProductsV1UpdateProductPlatformized(input: $input) {
    product {
      ...CatalogV1ProductFragment
    }
  }
}
Variables
{"input": CatalogV1UpdateProductPlatformizedRequestInput}
Response
{
  "data": {
    "storesProductsV1UpdateProductPlatformized": {
      "product": CatalogV1Product
    }
  }
}

UpdateVariants

Description

Updates variants of a specified product.

Response

Returns a CatalogV1UpdateVariantsResponse

Arguments
Name Description
input - CatalogV1UpdateVariantsRequestInput

Example

Query
mutation StoresProductsV1UpdateVariants($input: CatalogV1UpdateVariantsRequestInput) {
  storesProductsV1UpdateVariants(input: $input) {
    variants {
      ...CatalogV1VariantFragment
    }
  }
}
Variables
{"input": CatalogV1UpdateVariantsRequestInput}
Response
{
  "data": {
    "storesProductsV1UpdateVariants": {
      "variants": [CatalogV1Variant]
    }
  }
}

WriteProxyCreateProductPlatformized

Description

Creates a new product.

Example

Query
mutation StoresProductsV1WriteProxyCreateProductPlatformized($input: CatalogWriteProxyV1CreateProductPlatformizedRequestInput) {
  storesProductsV1WriteProxyCreateProductPlatformized(input: $input) {
    product {
      ...CatalogV1ProductFragment
    }
  }
}
Variables
{
  "input": CatalogWriteProxyV1CreateProductPlatformizedRequestInput
}
Response
{
  "data": {
    "storesProductsV1WriteProxyCreateProductPlatformized": {
      "product": CatalogV1Product
    }
  }
}

WriteProxyDeleteProductPlatformized

Description

Deletes a product.

Response

Returns a Void

Example

Query
mutation StoresProductsV1WriteProxyDeleteProductPlatformized($input: CatalogWriteProxyV1DeleteProductPlatformizedRequestInput) {
  storesProductsV1WriteProxyDeleteProductPlatformized(input: $input)
}
Variables
{
  "input": CatalogWriteProxyV1DeleteProductPlatformizedRequestInput
}
Response
{"data": {"storesProductsV1WriteProxyDeleteProductPlatformized": null}}

WriteProxyUpdateProductPlatformized

Description

Updates specified fields in a product.

Example

Query
mutation StoresProductsV1WriteProxyUpdateProductPlatformized($input: CatalogWriteProxyV1UpdateProductPlatformizedRequestInput) {
  storesProductsV1WriteProxyUpdateProductPlatformized(input: $input) {
    product {
      ...CatalogV1ProductFragment
    }
  }
}
Variables
{
  "input": CatalogWriteProxyV1UpdateProductPlatformizedRequestInput
}
Response
{
  "data": {
    "storesProductsV1WriteProxyUpdateProductPlatformized": {
      "product": CatalogV1Product
    }
  }
}

AdvancedSeoSeoSchema

Fields
Field Name Description
settings - AdvancedSeoSeoSchemaSettings SEO general settings.
tags - [AdvancedSeoSeoSchemaTag] SEO tag information.
Example
{
  "settings": AdvancedSeoSeoSchemaSettings,
  "tags": [AdvancedSeoSeoSchemaTag]
}
Seo

AdvancedSeoSeoSchemaInput

Fields
Input Field Description
settings - AdvancedSeoSeoSchemaSettingsInput SEO general settings.
tags - [AdvancedSeoSeoSchemaTagInput] SEO tag information.
Example
{
  "settings": AdvancedSeoSeoSchemaSettingsInput,
  "tags": [AdvancedSeoSeoSchemaTagInput]
}

AdvancedSeoSeoSchemaKeyword

Fields
Field Name Description
isMain - Boolean Whether the keyword is the main focus keyword.
term - String Keyword value.
Example
{"isMain": true, "term": "xyz789"}

AdvancedSeoSeoSchemaKeywordInput

Fields
Input Field Description
isMain - Boolean Whether the keyword is the main focus keyword.
term - String Keyword value.
Example
{"isMain": false, "term": "abc123"}

AdvancedSeoSeoSchemaSettings

Fields
Field Name Description
keywords - [AdvancedSeoSeoSchemaKeyword] User-selected keyword terms for a specific page.
preventAutoRedirect - Boolean

Whether the Auto Redirect feature, which creates 301 redirects on a slug change, is enabled.

Default: false (Auto Redirect is enabled.)

Example
{
  "keywords": [AdvancedSeoSeoSchemaKeyword],
  "preventAutoRedirect": false
}

AdvancedSeoSeoSchemaSettingsInput

Fields
Input Field Description
keywords - [AdvancedSeoSeoSchemaKeywordInput] User-selected keyword terms for a specific page.
preventAutoRedirect - Boolean

Whether the Auto Redirect feature, which creates 301 redirects on a slug change, is enabled.

Default: false (Auto Redirect is enabled.)

Example
{
  "keywords": [AdvancedSeoSeoSchemaKeywordInput],
  "preventAutoRedirect": false
}

AdvancedSeoSeoSchemaTag

Fields
Field Name Description
children - String SEO tag inner content. For example, <title> inner content </title>.
custom - Boolean Whether the tag is a custom tag.
disabled - Boolean Whether the tag is disabled.
meta - JSON SEO tag meta data. For example, {height: 300, width: 240}.
props - JSON A {'key':'value'} pair object where each SEO tag property ('name', 'content', 'rel', 'href') contains a value. For example: {'name': 'description', 'content': 'the description itself'}.
type - String

SEO tag type.

Supported values: title, meta, script, link.

Example
{
  "children": "abc123",
  "custom": false,
  "disabled": true,
  "meta": {},
  "props": {},
  "type": "xyz789"
}

AdvancedSeoSeoSchemaTagInput

Fields
Input Field Description
children - String SEO tag inner content. For example, <title> inner content </title>.
custom - Boolean Whether the tag is a custom tag.
disabled - Boolean Whether the tag is disabled.
meta - JSON SEO tag meta data. For example, {height: 300, width: 240}.
props - JSON A {'key':'value'} pair object where each SEO tag property ('name', 'content', 'rel', 'href') contains a value. For example: {'name': 'description', 'content': 'the description itself'}.
type - String

SEO tag type.

Supported values: title, meta, script, link.

Example
{
  "children": "abc123",
  "custom": false,
  "disabled": false,
  "meta": {},
  "props": {},
  "type": "abc123"
}

ApiApplicationError

Fields
Field Name Description
code - String Error code.
data - JSON Data related to the error.
description - String Description of the error.
Example
{
  "code": "abc123",
  "data": {},
  "description": "abc123"
}
Api

ApiApplicationErrorInput

Fields
Input Field Description
code - String Error code.
data - JSON Data related to the error.
description - String Description of the error.
Example
{
  "code": "abc123",
  "data": {},
  "description": "abc123"
}
Api

ApiDetails

Fields
Field Name Description
applicationError - ApiApplicationError
tracing - JSON deprecated in API's - to enable migration from rendering arbitrary tracing to rest response
validationError - ApiValidationError
Example
{
  "applicationError": ApiApplicationError,
  "tracing": {},
  "validationError": ApiValidationError
}
Api

ApiDetailsInput

Fields
Input Field Description
applicationError - ApiApplicationErrorInput
tracing - JSON deprecated in API's - to enable migration from rendering arbitrary tracing to rest response
validationError - ApiValidationErrorInput
Example
{
  "applicationError": ApiApplicationErrorInput,
  "tracing": {},
  "validationError": ApiValidationErrorInput
}
Api

ApiValidationError

Fields
Field Name Description
fieldViolations - [ValidationErrorFieldViolation]
Example
{"fieldViolations": [ValidationErrorFieldViolation]}
Api

ApiValidationErrorInput

Fields
Input Field Description
fieldViolations - [ValidationErrorFieldViolationInput]
Example
{"fieldViolations": [ValidationErrorFieldViolationInput]}

BookingsAttendanceV2Attendance

Fields
Field Name Description
bookingId - String Corresponding booking ID.
id - String ID of the Attendance object.
numberOfAttendees - Int

Total number of participants that attended the session. By default, the number of attendees is set to 1, but you can set a number to greater than 1 if multiple participants attended.

Do not set to 0 to indicate that no one attended the session. Instead, set the status field to NOT_ATTENDED.

Default: 1

sessionId - String Corresponding session ID.
status - BookingsAttendanceV2AttendanceAttendanceStatus

Status indicating if any participants attended the session:

  • NOT_SET: There is no available attendance information.
  • ATTENDED: At least a single participant attended the session.
  • NOT_ATTENDED: No participants attended the session.
Example
{
  "bookingId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "numberOfAttendees": 123,
  "sessionId": "abc123",
  "status": "NOT_SET"
}

BookingsAttendanceV2AttendanceInput

Fields
Input Field Description
bookingId - String Corresponding booking ID.
id - String ID of the Attendance object.
numberOfAttendees - Int

Total number of participants that attended the session. By default, the number of attendees is set to 1, but you can set a number to greater than 1 if multiple participants attended.

Do not set to 0 to indicate that no one attended the session. Instead, set the status field to NOT_ATTENDED.

Default: 1

sessionId - String Corresponding session ID.
status - BookingsAttendanceV2AttendanceAttendanceStatus

Status indicating if any participants attended the session:

  • NOT_SET: There is no available attendance information.
  • ATTENDED: At least a single participant attended the session.
  • NOT_ATTENDED: No participants attended the session.
Example
{
  "bookingId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "numberOfAttendees": 987,
  "sessionId": "abc123",
  "status": "NOT_SET"
}

BookingsAttendanceV2AttendanceRequestInput

Fields
Input Field Description
id - ID!
Example
{"id": "4"}

BookingsAttendanceV2BulkAttendanceResult

Fields
Field Name Description
item - BookingsAttendanceV2Attendance
itemMetadata - CommonItemMetadata
Example
{
  "item": BookingsAttendanceV2Attendance,
  "itemMetadata": CommonItemMetadata
}

BookingsAttendanceV2BulkSetAttendanceRequestInput

Fields
Input Field Description
attendanceList - [BookingsAttendanceV2AttendanceInput] The attendance information for a booked sessions that you want to create or update.
returnFullEntity - Boolean
Example
{
  "attendanceList": [BookingsAttendanceV2AttendanceInput],
  "returnFullEntity": true
}

BookingsAttendanceV2BulkSetAttendanceResponse

Fields
Field Name Description
bulkActionMetadata - CommonBulkActionMetadata Total successes and failures of the bulk set attendance action.
results - [BookingsAttendanceV2BulkAttendanceResult] The created or updated attendance information for the booked sessions.
Example
{
  "bulkActionMetadata": CommonBulkActionMetadata,
  "results": [BookingsAttendanceV2BulkAttendanceResult]
}

BookingsAttendanceV2ParticipantNotificationInput

Fields
Input Field Description
message - String Optional custom message to send to the participants about the changes to the booking.
notifyParticipants - Boolean Whether to send the message about the changes to the customer. Default is false.
Example
{
  "message": "xyz789",
  "notifyParticipants": true
}

BookingsAttendanceV2QueryAttendanceRequestInput

Fields
Input Field Description
query - BookingsAttendanceV2UpstreamCommonQueryV2Input Query options.
Example
{"query": BookingsAttendanceV2UpstreamCommonQueryV2Input}

BookingsAttendanceV2QueryAttendanceResponse

Fields
Field Name Description
items - [BookingsAttendanceV2Attendance] Query results
pageInfo - PageInfo Pagination data
Example
{
  "items": [BookingsAttendanceV2Attendance],
  "pageInfo": PageInfo
}

BookingsAttendanceV2SetAttendanceRequestInput

Fields
Input Field Description
attendance - BookingsAttendanceV2AttendanceInput The attendance information for a booked session that you want to create or update.
participantNotification - BookingsAttendanceV2ParticipantNotificationInput Information about whether to send a message to a customer after their attendance was set.
Example
{
  "attendance": BookingsAttendanceV2AttendanceInput,
  "participantNotification": BookingsAttendanceV2ParticipantNotificationInput
}

BookingsAttendanceV2SetAttendanceResponse

Fields
Field Name Description
attendance - BookingsAttendanceV2Attendance The created or updated attendance information for the booked session.
Example
{"attendance": BookingsAttendanceV2Attendance}

BookingsAttendanceV2AttendanceAttendanceStatus

Values
Enum Value Description

NOT_SET

ATTENDED

NOT_ATTENDED

Example
"NOT_SET"

BookingsAttendanceV2UpstreamCommonCursorPagingInput

Fields
Input Field Description
cursor - String

Pointer to the next or previous page in the list of results.

You can get the relevant cursor token from the pagingMetadata object in the previous call's response.

Not relevant for the first request.

limit - Int

Number of Attendance objects to return.

Default: 50 Maximum: 1000

Example
{"cursor": "xyz789", "limit": 123}

BookingsAttendanceV2UpstreamCommonQueryV2Input

Fields
Input Field Description
cursorPaging - BookingsAttendanceV2UpstreamCommonCursorPagingInput Cursors to navigate through the result pages using next and prev.
filter - JSON

Filter object. See API Query Language for more information.

For a detailed list of supported fields and operators, see Supported Filters and Sorting.

Max: 1 filter

sort - [BookingsAttendanceV2UpstreamCommonSortingInput]

Sort object in the following format: [ {"fieldName":"sortField1","order":"ASC"}, {"fieldName":"sortField2","order":"DESC"} ]

For details about sorting, see Supported Filters and Sorting.

Example
{
  "cursorPaging": BookingsAttendanceV2UpstreamCommonCursorPagingInput,
  "filter": {},
  "sort": [BookingsAttendanceV2UpstreamCommonSortingInput]
}

BookingsAttendanceV2UpstreamCommonSortOrder

Values
Enum Value Description

ASC

DESC

Example
"ASC"

BookingsAttendanceV2UpstreamCommonSortingInput

Fields
Input Field Description
fieldName - String Name of the field to sort by.
order - BookingsAttendanceV2UpstreamCommonSortOrder Sort order.
Example
{"fieldName": "abc123", "order": "ASC"}

BookingsAvailabilityBookingPolicyViolationsInput

Fields
Input Field Description
bookOnlineDisabled - Boolean Bookings policy violation. Online booking is disabled for this slot.
tooEarlyToBook - Boolean Bookings policy violation. Too early to book this slot.
tooLateToBook - Boolean Bookings policy violation. Too late to book this slot.
Example
{"bookOnlineDisabled": true, "tooEarlyToBook": true, "tooLateToBook": true}

BookingsAvailabilityLocationInput

Fields
Input Field Description
formattedAddress - String The full address of this location.
id - String Business location ID. Available only for locations that are business locations, meaning the location_type is "OWNER_BUSINESS".
locationType - BookingsAvailabilityLocationType

Location type.

  • "OWNER_BUSINESS": The business address, as set in the site’s general settings.
  • "OWNER_CUSTOM": The address as set when creating the service.
  • "CUSTOM": The address as set for the individual session.
name - String Location name.
Example
{
  "formattedAddress": "abc123",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "locationType": "UNDEFINED",
  "name": "xyz789"
}

BookingsAvailabilityLocationType

Values
Enum Value Description

UNDEFINED

OWNER_BUSINESS

OWNER_CUSTOM

CUSTOM

Example
"UNDEFINED"

BookingsAvailabilitySlotAvailabilityInput

Fields
Input Field Description
bookable - Boolean Whether the slot is bookable. Bookability is determined by checking a session's open slots and booking policies. Locks are not taken into account.
bookingPolicyViolations - BookingsAvailabilityBookingPolicyViolationsInput Booking policy violations for the slot.
isFromV2 - Boolean
locked - Boolean Indicates whether the slot is locked because a waitlist exists. When a slot frees up, the slot is offered to the next customer on the waitlist. Read-only.
openSpots - Int Number of open spots for this slot.
slot - BookingsAvailabilitySlotInput The slot for the corresponding session, when the session is either a single session or a specific session generated from a recurring session.
totalSpots - Int Total number of spots for this slot. For example, if a session has a total of 10 spots and 3 spots are booked, spotsTotal is 10 and openSpots is 7.
waitingList - BookingsAvailabilityWaitingListInput An object describing the slot's waitlist and its occupancy.
Example
{
  "bookable": true,
  "bookingPolicyViolations": BookingsAvailabilityBookingPolicyViolationsInput,
  "isFromV2": true,
  "locked": true,
  "openSpots": 987,
  "slot": BookingsAvailabilitySlotInput,
  "totalSpots": 987,
  "waitingList": BookingsAvailabilityWaitingListInput
}

BookingsAvailabilitySlotInput

Fields
Input Field Description
endDate - String

The end time of this slot in RFC 3339 format.

If timezone is specified, dates are based on the local date/time. This means that the timezone offset in the end_date is ignored.

location - BookingsAvailabilityLocationInput Geographic location of the slot.
resource - BookingsAvailabilitySlotResourceInput The resource required for this slot. Currently, the only supported resource is the relevant staff member for the slot.
scheduleId - String Schedule ID.
serviceId - String Service ID.
sessionId - String ID for the slot's corresponding session, when the session is either a single session or a specific session generated from a recurring session.
startDate - String

The start time of this slot in RFC 3339 format.

If timezone is specified, dates are based on the local date/time. This means that the timezone offset in the start_date is ignored.

timezone - String

The timezone for which slot availability is to be calculated.

Learn more about handling Daylight Savings Time (DST) for local time zones when calculating availability.

Example
{
  "endDate": "abc123",
  "location": BookingsAvailabilityLocationInput,
  "resource": BookingsAvailabilitySlotResourceInput,
  "scheduleId": "xyz789",
  "serviceId": "abc123",
  "sessionId": "xyz789",
  "startDate": "xyz789",
  "timezone": "xyz789"
}

BookingsAvailabilitySlotResourceInput

Fields
Input Field Description
id - String Resource ID.
name - String Resource name. Read only.
Example
{
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "name": "abc123"
}

BookingsAvailabilityWaitingListInput

Fields
Input Field Description
openSpots - Int Number of open spots for this waitlist.
totalSpots - Int Total number of spots and open spots for this waitlist. For example, a Yoga class with 10 waitlist spots and 3 registered on the waitlist has 10 total_spots and 7 open_spots.
Example
{"openSpots": 123, "totalSpots": 123}

BookingsCalendarV2ListSessionsRequestInput

Fields
Input Field Description
fieldsets - [String]

Predefined sets of fields to return.

  • NO_PI: Returns session objects without personal information.
  • ALL_PI: Returns complete session objects, including personal information. Requires the CALENDAR.SESSION_READ_PI permission scope.

Default: NO_PI

ids - [String] IDs of the sessions to retrieve.
Example
{
  "fieldsets": ["abc123"],
  "ids": ["abc123"]
}

BookingsCalendarV2ListSessionsResponse

Fields
Field Name Description
pagingMetadata - CommonPagingMetadataV2 Paging metadata.
sessions - [BookingsSchedulesV1Session] Retrieved sessions.
Example
{
  "pagingMetadata": CommonPagingMetadataV2,
  "sessions": [BookingsSchedulesV1Session]
}

BookingsCalendarV2QuerySessionsRequestInput

Fields
Input Field Description
fromDate - String

Start of the time range for which sessions are returned, in ISO 8601 format.

Sessions that begin before the fromDate but end after it are included in the results. For recurring session definitions, this means the start value is before the fromDate and the UNTIL value in the recurrence property is after the fromDate.

Required, unless query.cursorPaging is provided.

includeExternal - Boolean

Whether to include sessions imported from connected external calendars in the results.

Default: false.

instances - Boolean

Whether to return only single session instances and instances of recurring sessions.

If true, only single session instances and instances of recurring sessions are returned.

If false, only recurring session definitions are returned. Note: Cursor pagination is not supported for recurring session definition queries.

Default: true.

query - BookingsCalendarV2UpstreamCommonQueryV2Input Query options.
toDate - String

End of the time range for which sessions are returned, in ISO 8601 format.

Sessions that begin before the toDate but end after it are included in the results. For recurring session definitions, this means the start value is before the toDate and the UNTIL value in the recurrence property is after the toDate.

Required, unless query.cursorPaging is provided.

Max: 1 year after fromDate for session instance queries. This limit doesn't apply to recurring session definition queries.

type - BookingsCalendarV2QuerySessionsRequestSessionTypeFilter

Type of sessions to return.

  • EVENT: Returns only sessions of type EVENT.
  • WORKING_HOURS: Returns only sessions of type WORKING_HOURS.
  • ALL: Returns sessions of all types.

Default: EVENT.

Example
{
  "fromDate": "xyz789",
  "includeExternal": true,
  "instances": false,
  "query": BookingsCalendarV2UpstreamCommonQueryV2Input,
  "toDate": "abc123",
  "type": "UNKNOWN_SESSION_TYPE"
}

BookingsCalendarV2QuerySessionsRequestSessionTypeFilter

Values
Enum Value Description

UNKNOWN_SESSION_TYPE

EVENT

Filter sessions of type EVENT. This is the default.

WORKING_HOURS

Filter sessions of type WORKING_HOURS.

ALL

Return sessions of any type.
Example
"UNKNOWN_SESSION_TYPE"

BookingsCalendarV2UpstreamCommonCursorPagingInput

Fields
Input Field Description
cursor - String

Pointer to the next or previous page in the list of results.

You can get the relevant cursor token from the pagingMetadata object in the previous call's response. Not relevant for the first request.

limit - Int

Number of sessions to return.

Default: 100 Max: 1000

Example
{"cursor": "xyz789", "limit": 123}

BookingsCalendarV2UpstreamCommonQueryV2Input

Fields
Input Field Description
cursorPaging - BookingsCalendarV2UpstreamCommonCursorPagingInput Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not filter.
fieldsets - [String]

Predefined sets of fields to return.

  • NO_PI: Returns session objects without personal information.
  • ALL_PI: Returns complete session objects, including personal information. Requires the Read Bookings Calendar - Including Participants or the Manage Bookings Services and Settings or the Manage Business Calendar permission scope.

Default: NO_PI

filter - JSON Filter object. For field support for filters, see Sessions: Supported Filters. See API Query Language for more information about querying with filters.
Example
{
  "cursorPaging": BookingsCalendarV2UpstreamCommonCursorPagingInput,
  "fieldsets": ["abc123"],
  "filter": {}
}

BookingsCatalogV1CloneServiceOptionsAndVariantsRequestInput

Fields
Input Field Description
cloneFromId - String ID of the serviceOptionsAndVariants object to clone.
targetServiceId - String ID of the service that will be set for the cloned serviceOptionsAndVariants
Example
{
  "cloneFromId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "targetServiceId": "62b7b87d-a24a-434d-8666-e270489eac09"
}

BookingsCatalogV1CloneServiceOptionsAndVariantsResponse

Fields
Field Name Description
serviceOptionsAndVariants - BookingsCatalogV1ServiceOptionsAndVariants The cloned serviceOptionsAndVariants object.
Example
{
  "serviceOptionsAndVariants": BookingsCatalogV1ServiceOptionsAndVariants
}

BookingsCatalogV1CreateServiceOptionsAndVariantsRequestInput

Fields
Input Field Description
serviceOptionsAndVariants - BookingsCatalogV1ServiceOptionsAndVariantsInput Service options and variants to create.
Example
{
  "serviceOptionsAndVariants": BookingsCatalogV1ServiceOptionsAndVariantsInput
}

BookingsCatalogV1CreateServiceOptionsAndVariantsResponse

Fields
Field Name Description
serviceOptionsAndVariants - BookingsCatalogV1ServiceOptionsAndVariants Information about the created service options and variants.
Example
{
  "serviceOptionsAndVariants": BookingsCatalogV1ServiceOptionsAndVariants
}

BookingsCatalogV1CustomServiceOption

Fields
Field Name Description
choices - [String]

Available choices for the service option. For example, child, student, adult, and senior for a service option named Age group. Each value must be unique. The value's case is ignored, meaning Child and child are considered to be identical. Currently, only a single choice is supported because a service can have only a single option.

Max: 1 choice

name - String Name of the service option. For example, Age group, Location, Equipment, or Time.
Example
{
  "choices": ["abc123"],
  "name": "abc123"
}

BookingsCatalogV1CustomServiceOptionInput

Fields
Input Field Description
choices - [String]

Available choices for the service option. For example, child, student, adult, and senior for a service option named Age group. Each value must be unique. The value's case is ignored, meaning Child and child are considered to be identical. Currently, only a single choice is supported because a service can have only a single option.

Max: 1 choice

name - String Name of the service option. For example, Age group, Location, Equipment, or Time.
Example
{
  "choices": ["xyz789"],
  "name": "abc123"
}

BookingsCatalogV1DeleteServiceOptionsAndVariantsRequestInput

Fields
Input Field Description
revision - Long Revision of the serviceOptionsAndVariants object to delete.
serviceOptionsAndVariantsId - String ID of the serviceOptionsAndVariants object to delete.
Example
{
  "revision": {},
  "serviceOptionsAndVariantsId": "62b7b87d-a24a-434d-8666-e270489eac09"
}

BookingsCatalogV1GetServiceOptionsAndVariantsByServiceIdRequestInput

Fields
Input Field Description
serviceId - String ID of the service to retrieve options and variants for.
Example
{"serviceId": "62b7b87d-a24a-434d-8666-e270489eac09"}

BookingsCatalogV1GetServiceOptionsAndVariantsByServiceIdResponse

Fields
Field Name Description
serviceVariants - BookingsCatalogV1ServiceOptionsAndVariants Retrieved serviceOptionsAndVariants object.
Example
{
  "serviceVariants": BookingsCatalogV1ServiceOptionsAndVariants
}

BookingsCatalogV1QueryServiceOptionsAndVariantsRequestInput

Fields
Input Field Description
query - CommonQueryV2Input Information about filters, paging, and returned fields.
Example
{"query": CommonQueryV2Input}

BookingsCatalogV1QueryServiceOptionsAndVariantsResponse

Fields
Field Name Description
items - [BookingsCatalogV1ServiceOptionsAndVariants] Query results
pageInfo - PageInfo Pagination data
Example
{
  "items": [BookingsCatalogV1ServiceOptionsAndVariants],
  "pageInfo": PageInfo
}

BookingsCatalogV1ServiceChoice

Fields
Field Name Description
custom - String Name of the custom choice.
optionId - String ID of the service option.
staffMemberId - String ID of the staff member providing the service. This ID is the equivalent of the resourceId of the staff member or the scheduleOwnerId of the relevant schedule's availability.linkedSchedules.
Example
{
  "custom": "xyz789",
  "optionId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "staffMemberId": "62b7b87d-a24a-434d-8666-e270489eac09"
}

BookingsCatalogV1ServiceChoiceInput

Fields
Input Field Description
custom - String Name of the custom choice.
optionId - String ID of the service option.
staffMemberId - String ID of the staff member providing the service. This ID is the equivalent of the resourceId of the staff member or the scheduleOwnerId of the relevant schedule's availability.linkedSchedules.
Example
{
  "custom": "abc123",
  "optionId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "staffMemberId": "62b7b87d-a24a-434d-8666-e270489eac09"
}

BookingsCatalogV1ServiceOption

Fields
Field Name Description
customData - BookingsCatalogV1CustomServiceOption Details about the custom option. Available only for CUSTOM options.
id - String ID of the service option.
type - BookingsCatalogV1ServiceOptionTypeEnumServiceOptionType Type of the service option.
Example
{
  "customData": BookingsCatalogV1CustomServiceOption,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "type": "UNKNOWN"
}

BookingsCatalogV1ServiceOptionInput

Fields
Input Field Description
customData - BookingsCatalogV1CustomServiceOptionInput Details about the custom option. Available only for CUSTOM options.
id - String ID of the service option.
type - BookingsCatalogV1ServiceOptionTypeEnumServiceOptionType Type of the service option.
Example
{
  "customData": BookingsCatalogV1CustomServiceOptionInput,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "type": "UNKNOWN"
}

BookingsCatalogV1ServiceOptionsAndVariants

Fields
Field Name Description
id - String ID of the serviceOptionsAndVariants object.
maxPrice - CommonMoney Price of the most expensive service variant.
minPrice - CommonMoney Price of the cheapest service variant.
options - BookingsCatalogV1ServiceOptionsAndVariantsServiceOptions Service options. Note that currently only a single option is supported per service.
revision - Long

Revision number, which increments by 1 each time the serviceOptionsAndVariants object is updated. To prevent conflicting changes, the current revision must be passed when updating and deleting the serviceOptionsAndVariants object.

Ignored when creating a serviceOptionsAndVariants object.

serviceId - String ID of the service related to these options and variants.
variants - BookingsCatalogV1ServiceOptionsAndVariantsServiceVariants Information about the service's variants.
Example
{
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "maxPrice": CommonMoney,
  "minPrice": CommonMoney,
  "options": BookingsCatalogV1ServiceOptionsAndVariantsServiceOptions,
  "revision": {},
  "serviceId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "variants": BookingsCatalogV1ServiceOptionsAndVariantsServiceVariants
}

BookingsCatalogV1ServiceOptionsAndVariantsInput

Fields
Input Field Description
id - String ID of the serviceOptionsAndVariants object.
maxPrice - CommonMoneyInput Price of the most expensive service variant.
minPrice - CommonMoneyInput Price of the cheapest service variant.
options - BookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsInput Service options. Note that currently only a single option is supported per service.
revision - Long

Revision number, which increments by 1 each time the serviceOptionsAndVariants object is updated. To prevent conflicting changes, the current revision must be passed when updating and deleting the serviceOptionsAndVariants object.

Ignored when creating a serviceOptionsAndVariants object.

serviceId - String ID of the service related to these options and variants.
variants - BookingsCatalogV1ServiceOptionsAndVariantsServiceVariantsInput Information about the service's variants.
Example
{
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "maxPrice": CommonMoneyInput,
  "minPrice": CommonMoneyInput,
  "options": BookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsInput,
  "revision": {},
  "serviceId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "variants": BookingsCatalogV1ServiceOptionsAndVariantsServiceVariantsInput
}

BookingsCatalogV1ServiceVariant

Fields
Field Name Description
choices - [BookingsCatalogV1ServiceChoice]

Choices for the service option. Currently, only a single choice is supported because a service can have only a single option.

Max: 1 choice

price - CommonMoney Information about the service variant's price.
Example
{
  "choices": [BookingsCatalogV1ServiceChoice],
  "price": CommonMoney
}

BookingsCatalogV1ServiceVariantInput

Fields
Input Field Description
choices - [BookingsCatalogV1ServiceChoiceInput]

Choices for the service option. Currently, only a single choice is supported because a service can have only a single option.

Max: 1 choice

price - CommonMoneyInput Information about the service variant's price.
Example
{
  "choices": [BookingsCatalogV1ServiceChoiceInput],
  "price": CommonMoneyInput
}

BookingsCatalogV1UpdateServiceOptionsAndVariantsRequestInput

Fields
Input Field Description
serviceOptionsAndVariants - BookingsCatalogV1ServiceOptionsAndVariantsInput ServiceOptionsAndVariants object to update.
Example
{
  "serviceOptionsAndVariants": BookingsCatalogV1ServiceOptionsAndVariantsInput
}

BookingsCatalogV1UpdateServiceOptionsAndVariantsResponse

Fields
Field Name Description
serviceOptionsAndVariants - BookingsCatalogV1ServiceOptionsAndVariants Updated serviceOptionsAndVariants object.
Example
{
  "serviceOptionsAndVariants": BookingsCatalogV1ServiceOptionsAndVariants
}

BookingsServiceOptionsAndVariantsV1ServiceOptionsAndVariantsRequestInput

Fields
Input Field Description
id - ID!
Example
{"id": "4"}

BookingsCatalogV1ServiceOptionTypeEnumServiceOptionType

Values
Enum Value Description

UNKNOWN

CUSTOM

STAFF_MEMBER

Example
"UNKNOWN"

BookingsCatalogV1ServiceOptionsAndVariantsServiceOptions

Fields
Field Name Description
values - [BookingsCatalogV1ServiceOption]

Values of the service options.

Max: 1 service option

Example
{"values": [BookingsCatalogV1ServiceOption]}

BookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsInput

Fields
Input Field Description
values - [BookingsCatalogV1ServiceOptionInput]

Values of the service options.

Max: 1 service option

Example
{"values": [BookingsCatalogV1ServiceOptionInput]}

BookingsCatalogV1ServiceOptionsAndVariantsServiceVariants

Fields
Field Name Description
values - [BookingsCatalogV1ServiceVariant] Values of the service variants.
Example
{"values": [BookingsCatalogV1ServiceVariant]}

BookingsCatalogV1ServiceOptionsAndVariantsServiceVariantsInput

Fields
Input Field Description
values - [BookingsCatalogV1ServiceVariantInput] Values of the service variants.
Example
{"values": [BookingsCatalogV1ServiceVariantInput]}

BookingsCategoriesV2Category

Fields
Field Name Description
createdDate - String Date and time the Category was created.
extendedFields - CommonDataDataextensionsExtendedFields Data Extensions
id - String Category ID.
name - String Category name
revision - Long

Revision number, which increments by 1 each time the Category is updated. To prevent conflicting changes, the current revision must be passed when updating the Category.

Ignored when creating a Category.

updatedDate - String Date and time the Category was last updated.
Example
{
  "createdDate": "abc123",
  "extendedFields": CommonDataDataextensionsExtendedFields,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "name": "abc123",
  "revision": {},
  "updatedDate": "abc123"
}

BookingsCommonV1Location

Fields
Field Name Description
address - String Free text address used when locationType is OWNER_CUSTOM.
customAddress - BookingsUpstreamCommonAddress Custom address, used when locationType is "OWNER_CUSTOM". Might be used when locationType is "CUSTOM" in case the owner sets a custom address for the session which is different from the default.
locationType - BookingsCommonV1LocationLocationType

Location type. One of:

  • "OWNER_BUSINESS" The business address as set in the site’s general settings.
  • "OWNER_CUSTOM" The address as set when creating the service.
  • "CUSTOM" The address set for the individual session.
Example
{
  "address": "xyz789",
  "customAddress": BookingsUpstreamCommonAddress,
  "locationType": "UNDEFINED"
}

BookingsCommonV1Price

Fields
Field Name Description
amount - String Required payment amount.
currency - String Currency in which the amount is quoted.
downPayAmount - String Amount of a down payment or deposit as part of the transaction.
Example
{
  "amount": "abc123",
  "currency": "xyz789",
  "downPayAmount": "xyz789"
}

BookingsCommonV1Rate

Fields
Field Name Description
labeledPriceOptions - BookingsCommonV1Price Mapping between a named price option, for example, adult or child prices, and the price, currency, and down payment amount. When present in an update request, the default_varied_price is ignored to support backward compatibility.
priceText - String Textual price information used when Price Per Session is set to Custom Price in the app's service details page. When present in an update request, the default_varied_price is ignored to support backward compatibility.
Example
{
  "labeledPriceOptions": BookingsCommonV1Price,
  "priceText": "xyz789"
}

BookingsCommonV1LocationLocationType

Values
Enum Value Description

UNDEFINED

OWNER_BUSINESS

OWNER_CUSTOM

CUSTOM

Example
"UNDEFINED"

BookingsCalendarV2QuerySessionsResponse

Fields
Field Name Description
items - [BookingsSchedulesV1Session] Query results
pageInfo - PageInfo Pagination data
Example
{
  "items": [BookingsSchedulesV1Session],
  "pageInfo": PageInfo
}

BookingsSchedulesV1CalendarConference

Fields
Field Name Description
accountOwnerId - String ID of the account owner in the video conferencing service.
conferenceType - BookingsSchedulesV1CalendarConferenceConferenceType Conference type.
description - String Conference description.
externalId - String Conference meeting ID in the provider's conferencing system.
guestUrl - String URL used by a guest to join the conference.
hostUrl - String URL used by the host to start the conference.
id - String Wix Calendar conference ID.
password - String Password to join the conference.
providerId - String Conference provider ID.
Example
{
  "accountOwnerId": "abc123",
  "conferenceType": "UNDEFINED",
  "description": "abc123",
  "externalId": "abc123",
  "guestUrl": "xyz789",
  "hostUrl": "abc123",
  "id": "abc123",
  "password": "abc123",
  "providerId": "abc123"
}

BookingsSchedulesV1CalendarDateTime

Fields
Field Name Description
localDateTime - BookingsSchedulesV1LocalDateTime An object containing the local date and time for the business's time zone.
timestamp - String UTC date-time in ISO 8601 format. If a time zone offset is specified, the time is converted to UTC. For example, if you specify new Date('2021-01-06T16:00:00.000-07:00'), the stored value will be "2021-01-06T23:00:00.000Z". Required if localDateTime is not specified. If localDateTime is specified, timestamp is calculated as localDateTime, using the business's time zone.
timeZone - String The time zone. Optional. Derived from the schedule's time zone. In case this field is associated with recurring session, this field is empty.
Example
{
  "localDateTime": BookingsSchedulesV1LocalDateTime,
  "timestamp": "xyz789",
  "timeZone": "xyz789"
}

BookingsSchedulesV1ExternalCalendarOverrides

Fields
Field Name Description
description - String Synced description of the external calendar event.
title - String Synced title of the external calendar event.
Example
{
  "description": "xyz789",
  "title": "xyz789"
}

BookingsSchedulesV1LinkedSchedule

Fields
Field Name Description
scheduleId - String Schedule ID.
scheduleOwnerId - String Owner ID, of the linked schedule.
transparency - BookingsSchedulesV1LinkedScheduleTransparency Sets this schedule's availability for the duration of the linked schedule's sessions. Default is "BUSY". If set to "BUSY", this schedule cannot have any available slots during the linked schedule's sessions. If set to "FREE", this schedule can have available slots during the linked schedule's sessions.
Example
{
  "scheduleId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "scheduleOwnerId": "abc123",
  "transparency": "UNDEFINED"
}

BookingsSchedulesV1LocalDateTime

Fields
Field Name Description
dayOfMonth - Int Day of the month, from 1-31.
hourOfDay - Int Hour of the day in 24-hour format, from 0-23.
minutesOfHour - Int Minute, from 0-59.
monthOfYear - Int Month number, from 1-12.
year - Int Year. 4-digit format.
Example
{
  "dayOfMonth": 987,
  "hourOfDay": 123,
  "minutesOfHour": 123,
  "monthOfYear": 123,
  "year": 123
}

BookingsSchedulesV1Participant

Fields
Field Name Description
approvalStatus - BookingsSchedulesV1ParticipantApprovalStatus Approval status for the participant.
contactId - String Contact ID.
email - String Participant's email address.
id - String Participant ID. Currently represents the booking.id.
inherited - Boolean Whether the participant was inherited from the schedule, as opposed to being booked directly to the session.
name - String Participant's name.
partySize - Int Group or party size. The number of people attending. Defaults to 0. Maximum is 250.
phone - String Participant's phone number.
Example
{
  "approvalStatus": "UNDEFINED",
  "contactId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "email": "xyz789",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "inherited": false,
  "name": "xyz789",
  "partySize": 123,
  "phone": "abc123"
}

BookingsSchedulesV1Session

Fields
Field Name Description
affectedSchedules - [BookingsSchedulesV1LinkedSchedule] An object specifying a list of schedules and the way each schedule's availability is affected by the session. For example, the schedule of an instructor is affected by sessions of the class that they instruct. The array is inherited from the schedule and can be overridden even if the session is a recurring session.
calendarConference - BookingsSchedulesV1CalendarConference A conference created for the session according to the details set in the schedule's conference provider information. If the session is a recurring session, this field is inherited from the schedule. Partially deprecated. Only hostUrl and guestUrl are to be supported.
capacity - Int Maximum number of participants that can be added to the session. Defaults to the schedule capacity. The value is inherited from the schedule and can be overridden unless the session is a recurring session.
end - BookingsSchedulesV1CalendarDateTime An object specifying the end date and time of the session. The end time must be after the start time and be same type as start. If the session is a recurring session, end must contain a localDateTime.
externalCalendarOverrides - BookingsSchedulesV1ExternalCalendarOverrides Deprecated.
id - String Session ID.
inheritedFields - [String] A list of properties for which values were inherited from the schedule. This does not include participants that were inherited from the schedule.
instanceOfRecurrence - String A string representing a recurrence rule (RRULE) if the session is an instance of a recurrence pattern. Empty when the session is not an instance of a recurrence rule, or if the session defines a recurrence pattern, and recurrence is not empty.
location - BookingsCommonV1Location An object describing the location where the session takes place. Defaults to the schedule location. For single sessions, session.location.businessLocation can only be provided for locations that are defined in the schedule using schedule.location or schedule.availability.locations.
notes - String Additional information about the session. Notes are not supported for recurring sessions.
originalStart - String Original start date and time of the session in ISO 8601 format.
participants - [BookingsSchedulesV1Participant] Partial list* list of participants booked for the session. The list includes participants who have registered for this specific session, and participants who have registered for a schedule that includes this session. If the session is a recurring session, this field must be empty. To retrieve the full list of session participants please use the Query Extended Bookings API.
rate - BookingsCommonV1Rate Deprecated. Please use the Booking Services V2 payment instead.
recurrence - String

A string representing a recurrence rule (RRULE) for a recurring session, as defined in iCalendar RFC 5545. If the session is an instance of a recurrence pattern, the instanceOfRecurrence property will be contain the recurrence rule and this property will be empty. The RRULE defines a rule for repeating a session. Supported parameters are:

Keyword Description Supported values
FREQ The frequency at which the session is recurs. Required. WEEKLY
INTERVAL How often, in terms of FREQ, the session recurs. Default is 1. Optional.
UNTIL The UTC end date and time of the recurrence. Optional.
BYDAY Day of the week when the event should recur. Required. One of: MO, TU, WE, TH, FR, SA, SU

For example, a session that repeats every second week on a Monday until January 7, 2022 at 8 AM: "FREQ=WEEKLY;INTERVAL=2;BYDAY=MO;UNTIL=20220107T080000Z"

recurringIntervalId - String Recurring interval ID. Defined when a session will be a recurring session. read-only. Optional. For exmaple, when creating a class service with recurring sessions, you add a recurrence rule to create recurring sessions. This field is omitted for single sessions or instances of recurring sessions. Specified when the session was originally generated from a schedule recurring interval. Deprecated. Use recurringSessionId.
recurringSessionId - String The ID of the recurring session if this session is an instance of a recurrence. Use this ID to update the recurrence and all of the instances.
scheduleId - String ID of the schedule that the session belongs to.
scheduleOwnerId - String ID of the resource or service that the session's schedule belongs to.
start - BookingsSchedulesV1CalendarDateTime An object specifying the start date and time of the session. If the session is a recurring session, start must contain a localDateTime.
status - BookingsSchedulesV1SessionStatus Session status.
tags - [String] Deprecated. Tags for the session. The value is inherited from the schedule and can be overridden unless the session is a recurring session.
timeReservedAfter - Int Time reserved after the session end time, derived from the schedule availability constraints and the time between slots. Read-only. If the session is a recurring session, this field must be empty.
title - String Session title. The value is inherited from the schedule and can be overridden unless the session is a recurring session.
totalNumberOfParticipants - Int The number of participants booked for the session. Read-only. Calculated as the sum of the party sizes.
type - BookingsSchedulesV1SessionType Session type.
version - BookingsSchedulesV1SessionVersion The session version. Composed by the schedule, session and participants versions.
Example
{
  "affectedSchedules": [
    BookingsSchedulesV1LinkedSchedule
  ],
  "calendarConference": BookingsSchedulesV1CalendarConference,
  "capacity": 987,
  "end": BookingsSchedulesV1CalendarDateTime,
  "externalCalendarOverrides": BookingsSchedulesV1ExternalCalendarOverrides,
  "id": "xyz789",
  "inheritedFields": ["abc123"],
  "instanceOfRecurrence": "xyz789",
  "location": BookingsCommonV1Location,
  "notes": "xyz789",
  "originalStart": "abc123",
  "participants": [BookingsSchedulesV1Participant],
  "rate": BookingsCommonV1Rate,
  "recurrence": "xyz789",
  "recurringIntervalId": "abc123",
  "recurringSessionId": "abc123",
  "scheduleId": "abc123",
  "scheduleOwnerId": "abc123",
  "start": BookingsSchedulesV1CalendarDateTime,
  "status": "UNDEFINED",
  "tags": ["abc123"],
  "timeReservedAfter": 987,
  "title": "xyz789",
  "totalNumberOfParticipants": 123,
  "type": "UNDEFINED",
  "version": BookingsSchedulesV1SessionVersion
}

BookingsSchedulesV1SessionRequestInput

Fields
Input Field Description
fieldsets - [String]

Predefined sets of fields to return.

  • NO_PI: Returns session objects without personal information.
  • ALL_PI: Returns complete session objects, including personal information. Requires the CALENDAR.SESSION_READ_PI permission scope.

Default: NO_PI

id - ID!
Example
{
  "fieldsets": ["abc123"],
  "id": "4"
}

BookingsSchedulesV1SessionType

Values
Enum Value Description

UNDEFINED

EVENT

The session creates an event on the calendar for the owner of the schedule that the session belongs to. Default type.

WORKING_HOURS

The session represents a resource's available working hours.

TIME_AVAILABILITY

Deprecated. please use WORKING_HOURS

AVAILABILITY

Deprecated. The session represents a resource's available hours. please use WORKING_HOURS
Example
"UNDEFINED"

BookingsSessionsV1SessionRequestInput

Fields
Input Field Description
fieldsets - [String]

Predefined sets of fields to return.

  • NO_PI: Returns session objects without personal information.
  • ALL_PI: Returns complete session objects, including personal information. Requires the CALENDAR.SESSION_READ_PI permission scope.

Default: NO_PI

id - ID!
Example
{
  "fieldsets": ["xyz789"],
  "id": "4"
}

BookingsSchedulesV1CalendarConferenceConferenceType

Values
Enum Value Description

UNDEFINED

ONLINE_MEETING_PROVIDER

API-generated online meeting.

CUSTOM

User-defined meeting.
Example
"UNDEFINED"

BookingsSchedulesV1LinkedScheduleTransparency

Values
Enum Value Description

UNDEFINED

FREE

The schedule can have available slots during the session.

BUSY

The schedule cannot have available slots during the session. Default value.
Example
"UNDEFINED"

BookingsSchedulesV1ParticipantApprovalStatus

Values
Enum Value Description

UNDEFINED

Default.

PENDING

Pending business approval.

APPROVED

Approved by the business.

DECLINED

Declined by the business.
Example
"UNDEFINED"

BookingsSchedulesV1SessionStatus

Values
Enum Value Description

UNDEFINED

CONFIRMED

The session is confirmed. Default status.

CANCELLED

The session is cancelled. A cancelled session can be the cancellation of a recurring session that should no longer be displayed or a deleted single session. The ListSessions returns cancelled sessions only if 'includeDelete' flag is set to true.
Example
"UNDEFINED"

BookingsSchedulesV1SessionVersion

Fields
Field Name Description
number - Long Incremental version number, which is updated on each change to the session or on changes affecting the session.
Example
{"number": {}}

BookingsServicesV1BusinessServicesPolicy

Fields
Field Name Description
bookUpToXMinutesBefore - Int Minimum amount of time to make a booking before the start of the booked item. For sessions, this is relative to the start time of the session. For schedules, this is relative to the start time of the first session, excluding past sessions. Defaults to 0.
cancellationPolicy - String User defined cancellation policy message.
cancelRescheduleUpToXMinutesBefore - Int Minimum time that a booking can be canceled or rescheduled before the session starts. Defaults to 0.
futureBookingsPolicy - BookingsServicesV1FutureBookingPolicy An object specifying how far in advance a booking can be made.
waitingListPolicy - BookingsServicesV1WaitingListPolicy Waitlist policy for the service. Empty by default.
Example
{
  "bookUpToXMinutesBefore": 987,
  "cancellationPolicy": "abc123",
  "cancelRescheduleUpToXMinutesBefore": 123,
  "futureBookingsPolicy": BookingsServicesV1FutureBookingPolicy,
  "waitingListPolicy": BookingsServicesV1WaitingListPolicy
}

BookingsServicesV1BusinessServicesPolicyInput

Fields
Input Field Description
bookUpToXMinutesBefore - Int Minimum amount of time to make a booking before the start of the booked item. For sessions, this is relative to the start time of the session. For schedules, this is relative to the start time of the first session, excluding past sessions. Defaults to 0.
cancellationPolicy - String User defined cancellation policy message.
cancelRescheduleUpToXMinutesBefore - Int Minimum time that a booking can be canceled or rescheduled before the session starts. Defaults to 0.
futureBookingsPolicy - BookingsServicesV1FutureBookingPolicyInput An object specifying how far in advance a booking can be made.
waitingListPolicy - BookingsServicesV1WaitingListPolicyInput Waitlist policy for the service. Empty by default.
Example
{
  "bookUpToXMinutesBefore": 987,
  "cancellationPolicy": "abc123",
  "cancelRescheduleUpToXMinutesBefore": 123,
  "futureBookingsPolicy": BookingsServicesV1FutureBookingPolicyInput,
  "waitingListPolicy": BookingsServicesV1WaitingListPolicyInput
}

BookingsServicesV1FutureBookingPolicy

Fields
Field Name Description
limitXMinutesToTheFuture - Int How far in advance, in minutes, a session can be booked. Defaults to 10,080 minutes (3 days).
shouldLimit - Boolean Whether a limit is imposed on advance bookings.
Example
{"limitXMinutesToTheFuture": 987, "shouldLimit": true}

BookingsServicesV1FutureBookingPolicyInput

Fields
Input Field Description
limitXMinutesToTheFuture - Int How far in advance, in minutes, a session can be booked. Defaults to 10,080 minutes (3 days).
shouldLimit - Boolean Whether a limit is imposed on advance bookings.
Example
{"limitXMinutesToTheFuture": 123, "shouldLimit": true}

BookingsServicesV1GetPolicyResponse

Fields
Field Name Description
policy - BookingsServicesV1BusinessServicesPolicy Service policy.
Example
{"policy": BookingsServicesV1BusinessServicesPolicy}

BookingsServicesV1UpdatePolicyRequestInput

Fields
Input Field Description
policy - BookingsServicesV1BusinessServicesPolicyInput Service policy.
Example
{"policy": BookingsServicesV1BusinessServicesPolicyInput}

BookingsServicesV1WaitingListPolicy

Fields
Field Name Description
capacity - Int Number of spots available in the waitlist. Defaults to 10 spots.
isEnabled - Boolean Whether waitlisting is enabled for the service.
timeWindowMinutes - Int Amount of time a participant is given to book, once notified that a spot is available. Defaults to 10 minutes.
Example
{"capacity": 987, "isEnabled": false, "timeWindowMinutes": 987}

BookingsServicesV1WaitingListPolicyInput

Fields
Input Field Description
capacity - Int Number of spots available in the waitlist. Defaults to 10 spots.
isEnabled - Boolean Whether waitlisting is enabled for the service.
timeWindowMinutes - Int Amount of time a participant is given to book, once notified that a spot is available. Defaults to 10 minutes.
Example
{"capacity": 987, "isEnabled": true, "timeWindowMinutes": 123}

BookingsServicesV2AvailabilityConstraints

Fields
Field Name Description
sessionDurations - [Int]

A list of duration options for sessions, in minutes.

The availability calculation generates slots for sessions with these durations, unless there is a conflict with existing sessions or other availability constraints exist. Required for services of type APPOINTMENT to allow the customer to book a session of the service. Not relevant for other service types.

Min: 1 minute, Max: 30 days, 23 hours, and 59 minutes

timeBetweenSessions - Int

The number of minutes between the end of a session and the start of the next.

Min: 0 minutes Max: 720 minutes

Example
{"sessionDurations": [123], "timeBetweenSessions": 987}

BookingsServicesV2AvailabilityConstraintsInput

Fields
Input Field Description
sessionDurations - [Int]

A list of duration options for sessions, in minutes.

The availability calculation generates slots for sessions with these durations, unless there is a conflict with existing sessions or other availability constraints exist. Required for services of type APPOINTMENT to allow the customer to book a session of the service. Not relevant for other service types.

Min: 1 minute, Max: 30 days, 23 hours, and 59 minutes

timeBetweenSessions - Int

The number of minutes between the end of a session and the start of the next.

Min: 0 minutes Max: 720 minutes

Example
{"sessionDurations": [123], "timeBetweenSessions": 987}

BookingsServicesV2BookingPolicyWithServices

Fields
Field Name Description
bookingPolicy - BookingsServicesV2UpstreamBookingsV1BookingPolicy The booking policy.
countOfServices - Int The number of services associated with the booking policy.
hasMoreServices - Boolean Whether there are more services associated with the booking policy.
services - [BookingsServicesV2Service]
Example
{
  "bookingPolicy": BookingsServicesV2UpstreamBookingsV1BookingPolicy,
  "countOfServices": 987,
  "hasMoreServices": true,
  "services": [BookingsServicesV2Service]
}

BookingsServicesV2BulkDeleteServicesRequestInput

Fields
Input Field Description
ids - [String] Ids of the services for deletion.
participantNotification - BookingsServicesV2ParticipantNotificationInput Whether to notify participants about the change and an optional
preserveFutureSessionsWithParticipants - Boolean

Whether to preserve future sessions with participants.

Default: false.

Example
{
  "ids": ["abc123"],
  "participantNotification": BookingsServicesV2ParticipantNotificationInput,
  "preserveFutureSessionsWithParticipants": true
}

BookingsServicesV2BulkDeleteServicesResponse

Fields
Field Name Description
bulkActionMetadata - BookingsServicesV2UpstreamCommonBulkActionMetadata Update statistics.
results - [BookingsServicesV2BulkServiceResult] The result of each service removal.
Example
{
  "bulkActionMetadata": BookingsServicesV2UpstreamCommonBulkActionMetadata,
  "results": [BookingsServicesV2BulkServiceResult]
}

BookingsServicesV2BulkServiceResult

Fields
Field Name Description
item - BookingsServicesV2Service The updated service.
itemMetadata - BookingsServicesV2UpstreamCommonItemMetadata Updated service metadata.
Example
{
  "item": BookingsServicesV2Service,
  "itemMetadata": BookingsServicesV2UpstreamCommonItemMetadata
}

BookingsServicesV2BulkUpdateServicesRequestInput

Fields
Input Field Description
returnEntity - Boolean true if the updated entities must be included in the response,
services - [BookingsServicesV2BulkUpdateServicesRequestMaskedServiceInput]
Example
{
  "returnEntity": false,
  "services": [
    BookingsServicesV2BulkUpdateServicesRequestMaskedServiceInput
  ]
}

BookingsServicesV2BulkUpdateServicesResponse

Fields
Field Name Description
bulkActionMetadata - BookingsServicesV2UpstreamCommonBulkActionMetadata Update statistics.
results - [BookingsServicesV2BulkServiceResult] The result of each service update.
Example
{
  "bulkActionMetadata": BookingsServicesV2UpstreamCommonBulkActionMetadata,
  "results": [BookingsServicesV2BulkServiceResult]
}

BookingsServicesV2BusinessLocationOptions

Fields
Field Name Description
address - BookingsServicesV2UpstreamCommonAddress Business location address. The address is derived from the business location and is read-only.
default - Boolean Whether this is the default location. There can only be 1 default location per site. The default location can't be archived.
email - String Business location email
id - String Business location ID.
location - LocationsLocation Business location ID.
name - String Business location name.
phone - String Business location phone
Example
{
  "address": BookingsServicesV2UpstreamCommonAddress,
  "default": true,
  "email": "abc123",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "location": "62b7b87d-a24a-434d-8666-e270489eac09",
  "name": "xyz789",
  "phone": "abc123"
}

BookingsServicesV2BusinessLocationOptionsInput

Fields
Input Field Description
address - BookingsServicesV2UpstreamCommonAddressInput Business location address. The address is derived from the business location and is read-only.
default - Boolean Whether this is the default location. There can only be 1 default location per site. The default location can't be archived.
email - String Business location email
id - String Business location ID.
name - String Business location name.
phone - String Business location phone
Example
{
  "address": BookingsServicesV2UpstreamCommonAddressInput,
  "default": false,
  "email": "abc123",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "name": "xyz789",
  "phone": "xyz789"
}

BookingsServicesV2BusinessLocations

Fields
Field Name Description
exists - Boolean Whether there are any services with business locations
locations - [BookingsServicesV2Location] The retrieved locations sorted according to the Sort in Query.
Example
{
  "exists": false,
  "locations": [BookingsServicesV2Location]
}

BookingsServicesV2Category

Fields
Field Name Description
category - BookingsCategoriesV2Category Category ID.
id - String Category ID.
name - String Category name.
sortOrder - Int Order of a category within a category list.
Example
{
  "category": "62b7b87d-a24a-434d-8666-e270489eac09",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "name": "abc123",
  "sortOrder": 987
}

BookingsServicesV2CategoryInput

Fields
Input Field Description
id - String Category ID.
name - String Category name.
sortOrder - Int Order of a category within a category list.
Example
{
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "name": "xyz789",
  "sortOrder": 123
}

BookingsServicesV2CloneServiceRequestInput

Fields
Input Field Description
cloneServiceName - String copy this value from the source service without overriding it
copyPricingPlans - Boolean copy benefits with pricing plans that are connected to the source
copyRecurringSessions - Boolean copy recurring sessions of an active service's schedule
hideService - Boolean service. If the source service is connected to more than 120 benefits with pricing plans then they will not be copied. In that case the field error_types in the response will include PRICING_PLANS.
sourceServiceId - String
Example
{
  "cloneServiceName": "xyz789",
  "copyPricingPlans": true,
  "copyRecurringSessions": false,
  "hideService": false,
  "sourceServiceId": "62b7b87d-a24a-434d-8666-e270489eac09"
}

BookingsServicesV2CloneServiceResponse

Fields
Field Name Description
errors - [BookingsServicesV2CloneErrorsEnumCloneErrors] List of entity types that we failed to clone
service - BookingsServicesV2Service Cloned service
Example
{
  "errors": ["UNKNOWN_CLONE_ERROR"],
  "service": BookingsServicesV2Service
}

BookingsServicesV2Conferencing

Fields
Field Name Description
enabled - Boolean Whether a conference link is generated for the service's sessions.
Example
{"enabled": false}

BookingsServicesV2ConferencingInput

Fields
Input Field Description
enabled - Boolean Whether a conference link is generated for the service's sessions.
Example
{"enabled": false}

BookingsServicesV2CountServicesRequestInput

Fields
Input Field Description
filter - JSON The filters for performing the count.
Example
{"filter": {}}

BookingsServicesV2CountServicesResponse

Fields
Field Name Description
count - Int The number of services matching the given filter.
Example
{"count": 123}

BookingsServicesV2CreateServiceRequestInput

Fields
Input Field Description
service - BookingsServicesV2ServiceInput Service to be created.
Example
{"service": BookingsServicesV2ServiceInput}

BookingsServicesV2CreateServiceResponse

Fields
Field Name Description
service - BookingsServicesV2Service The created service.
Example
{"service": BookingsServicesV2Service}

BookingsServicesV2CustomLocationOptions

Fields
Field Name Description
address - BookingsServicesV2UpstreamCommonAddress A custom address for the location.
id - String A constant id for the custom location.
Example
{
  "address": BookingsServicesV2UpstreamCommonAddress,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09"
}

BookingsServicesV2CustomLocationOptionsInput

Fields
Input Field Description
address - BookingsServicesV2UpstreamCommonAddressInput A custom address for the location.
id - String A constant id for the custom location.
Example
{
  "address": BookingsServicesV2UpstreamCommonAddressInput,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09"
}

BookingsServicesV2CustomLocations

Fields
Field Name Description
exists - Boolean Whether there are any services with custom location
Example
{"exists": false}

BookingsServicesV2CustomPayment

Fields
Field Name Description
description - String A custom description explaining to the customer how to pay for the service.
Example
{"description": "abc123"}

BookingsServicesV2CustomPaymentInput

Fields
Input Field Description
description - String A custom description explaining to the customer how to pay for the service.
Example
{"description": "abc123"}

BookingsServicesV2CustomerLocations

Fields
Field Name Description
exists - Boolean Whether there are any services with customer location
Example
{"exists": false}

BookingsServicesV2DeleteServiceRequestInput

Fields
Input Field Description
participantNotification - BookingsServicesV2ParticipantNotificationInput Whether to notify participants about the change and an optional
preserveFutureSessionsWithParticipants - Boolean

Whether to preserve future sessions with participants.

Default: false

serviceId - String
Example
{
  "participantNotification": BookingsServicesV2ParticipantNotificationInput,
  "preserveFutureSessionsWithParticipants": true,
  "serviceId": "62b7b87d-a24a-434d-8666-e270489eac09"
}

BookingsServicesV2DisablePricingPlansForServiceRequestInput

Fields
Input Field Description
pricingPlanIds - [String]
serviceId - String
Example
{
  "pricingPlanIds": ["abc123"],
  "serviceId": "62b7b87d-a24a-434d-8666-e270489eac09"
}

BookingsServicesV2DisablePricingPlansForServiceResponse

Fields
Field Name Description
service - BookingsServicesV2Service The service after the pricing plans update.
Example
{"service": BookingsServicesV2Service}

BookingsServicesV2EnablePricingPlansForServiceRequestInput

Fields
Input Field Description
pricingPlanIds - [String]
serviceId - String
Example
{
  "pricingPlanIds": ["abc123"],
  "serviceId": "62b7b87d-a24a-434d-8666-e270489eac09"
}

BookingsServicesV2EnablePricingPlansForServiceResponse

Fields
Field Name Description
pricingPlanIds - [String]
service - BookingsServicesV2Service The service after the pricing plans update.
Example
{
  "pricingPlanIds": ["xyz789"],
  "service": BookingsServicesV2Service
}

BookingsServicesV2FixedPayment

Fields
Field Name Description
deposit - CommonMoney

The deposit price required to book the service.

Required when: rateType is FIXED and paymentOptions.deposit is true

price - CommonMoney

The fixed price required to book the service.

Required when: rateType is FIXED

Example
{
  "deposit": CommonMoney,
  "price": CommonMoney
}

BookingsServicesV2FixedPaymentInput

Fields
Input Field Description
deposit - CommonMoneyInput

The deposit price required to book the service.

Required when: rateType is FIXED and paymentOptions.deposit is true

price - CommonMoneyInput

The fixed price required to book the service.

Required when: rateType is FIXED

Example
{
  "deposit": CommonMoneyInput,
  "price": CommonMoneyInput
}

BookingsServicesV2Form

Fields
Field Name Description
id - String ID of the form associated with the service. The form information that is submitted when booking includes contact details, participants, and other form fields set up for the service. You can manage the service booking form fields using the Bookings Forms API.
Example
{"id": "62b7b87d-a24a-434d-8666-e270489eac09"}

BookingsServicesV2FormInput

Fields
Input Field Description
id - String ID of the form associated with the service. The form information that is submitted when booking includes contact details, participants, and other form fields set up for the service. You can manage the service booking form fields using the Bookings Forms API.
Example
{"id": "62b7b87d-a24a-434d-8666-e270489eac09"}

BookingsServicesV2Location

Fields
Field Name Description
business - BookingsServicesV2BusinessLocationOptions The service is offered at the referenced business location, the location has to reference a location from the Business Info Locations API.
calculatedAddress - BookingsServicesV2UpstreamCommonAddress The location address, based on the location type. If type is CUSTOMER, this address is empty.
custom - BookingsServicesV2CustomLocationOptions The service is offered at a custom location.
id - String

The type of location:

  • CUSTOM: The location is specific to this service, and is not derived from the business location.
  • BUSINESS: A business location, either the default business address, or locations defined for the business by the Business Info Locations API.
  • CUSTOMER: Will be determined by the customer. For appointments only.
type - BookingsServicesV2LocationTypeEnumLocationType
Example
{
  "business": BookingsServicesV2BusinessLocationOptions,
  "calculatedAddress": BookingsServicesV2UpstreamCommonAddress,
  "custom": BookingsServicesV2CustomLocationOptions,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "type": "UNKNOWN_LOCATION_TYPE"
}

BookingsServicesV2LocationInput

Fields
Input Field Description
business - BookingsServicesV2BusinessLocationOptionsInput The service is offered at the referenced business location, the location has to reference a location from the Business Info Locations API.
calculatedAddress - BookingsServicesV2UpstreamCommonAddressInput The location address, based on the location type. If type is CUSTOMER, this address is empty.
custom - BookingsServicesV2CustomLocationOptionsInput The service is offered at a custom location.
id - String

The type of location:

  • CUSTOM: The location is specific to this service, and is not derived from the business location.
  • BUSINESS: A business location, either the default business address, or locations defined for the business by the Business Info Locations API.
  • CUSTOMER: Will be determined by the customer. For appointments only.
type - BookingsServicesV2LocationTypeEnumLocationType
Example
{
  "business": BookingsServicesV2BusinessLocationOptionsInput,
  "calculatedAddress": BookingsServicesV2UpstreamCommonAddressInput,
  "custom": BookingsServicesV2CustomLocationOptionsInput,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "type": "UNKNOWN_LOCATION_TYPE"
}

BookingsServicesV2Media

Fields
Field Name Description
coverMedia - BookingsServicesV2MediaItem Cover media associated with the service.
items - [BookingsServicesV2MediaItem] Media items associated with the service.
mainMedia - BookingsServicesV2MediaItem Primary media associated with the service.
Example
{
  "coverMedia": BookingsServicesV2MediaItem,
  "items": [BookingsServicesV2MediaItem],
  "mainMedia": BookingsServicesV2MediaItem
}

BookingsServicesV2MediaInput

Fields
Input Field Description
coverMedia - BookingsServicesV2MediaItemInput Cover media associated with the service.
items - [BookingsServicesV2MediaItemInput] Media items associated with the service.
mainMedia - BookingsServicesV2MediaItemInput Primary media associated with the service.
Example
{
  "coverMedia": BookingsServicesV2MediaItemInput,
  "items": [BookingsServicesV2MediaItemInput],
  "mainMedia": BookingsServicesV2MediaItemInput
}

BookingsServicesV2MediaItem

Fields
Field Name Description
image - BookingsServicesV2UpstreamCommonImage Details of the image associated with the service, such as URL and size.
Example
{"image": BookingsServicesV2UpstreamCommonImage}

BookingsServicesV2MediaItemInput

Fields
Input Field Description
image - BookingsServicesV2UpstreamCommonImageInput Details of the image associated with the service, such as URL and size.
Example
{"image": BookingsServicesV2UpstreamCommonImageInput}

BookingsServicesV2MoveToNewLocationsOptionsInput

Fields
Input Field Description
newLocation - BookingsServicesV2LocationInput The new location to move existing sessions currently set to a removed location, used when action is MOVE_TO_LOCATION.
Example
{"newLocation": BookingsServicesV2LocationInput}

BookingsServicesV2OnlineBooking

Fields
Field Name Description
allowMultipleRequests - Boolean Multiple customers can request to book the same time slot. Relevant when requireManualApproval is true.
enabled - Boolean Whether this service can be booked online. When set to true, customers can book the service online. Configuring the payment options is done via service.payment property. When set to false, customers cannot book the service online, and the service can only be paid for in person.
requireManualApproval - Boolean Booking the service requires approval by the business owner.
Example
{"allowMultipleRequests": true, "enabled": true, "requireManualApproval": false}

BookingsServicesV2OnlineBookingInput

Fields
Input Field Description
allowMultipleRequests - Boolean Multiple customers can request to book the same time slot. Relevant when requireManualApproval is true.
enabled - Boolean Whether this service can be booked online. When set to true, customers can book the service online. Configuring the payment options is done via service.payment property. When set to false, customers cannot book the service online, and the service can only be paid for in person.
requireManualApproval - Boolean Booking the service requires approval by the business owner.
Example
{"allowMultipleRequests": false, "enabled": true, "requireManualApproval": true}

BookingsServicesV2ParticipantNotificationInput

Fields
Input Field Description
message - String Custom message to send to the participants about the changes to the booking.
notifyParticipants - Boolean

Whether to send the message about the changes to the customer.

Default: false

Example
{
  "message": "abc123",
  "notifyParticipants": true
}

BookingsServicesV2Payment

Fields
Field Name Description
custom - BookingsServicesV2CustomPayment

The details for the custom price of the service.

Required when: rateType is CUSTOM

fixed - BookingsServicesV2FixedPayment

The details for the fixed price of the service.

Required when: rateType is FIXED

options - BookingsServicesV2PaymentOptions The payment options a customer can use to pay for the service.
pricingPlanIds - [String] IDs of pricing plans that can be used as payment for the service.
rateType - BookingsServicesV2RateTypeEnumRateType

The rate the customer is expected to pay for the service. Can be:

  • FIXED: The service has a fixed price.
  • CUSTOM: The service has a custom price, expressed as a price description.
  • VARIED: This service is offered with a set of different prices based on different terms.
  • NO_FEE: This service is offered free of charge.
varied - BookingsServicesV2VariedPayment

The details for the varied pricing of the service. Read more about varied price options.

Required when: rateType is VARIED

Example
{
  "custom": BookingsServicesV2CustomPayment,
  "fixed": BookingsServicesV2FixedPayment,
  "options": BookingsServicesV2PaymentOptions,
  "pricingPlanIds": ["xyz789"],
  "rateType": "UNKNOWN_RATE_TYPE",
  "varied": BookingsServicesV2VariedPayment
}

BookingsServicesV2PaymentInput

Fields
Input Field Description
custom - BookingsServicesV2CustomPaymentInput

The details for the custom price of the service.

Required when: rateType is CUSTOM

fixed - BookingsServicesV2FixedPaymentInput

The details for the fixed price of the service.

Required when: rateType is FIXED

options - BookingsServicesV2PaymentOptionsInput The payment options a customer can use to pay for the service.
pricingPlanIds - [String] IDs of pricing plans that can be used as payment for the service.
rateType - BookingsServicesV2RateTypeEnumRateType

The rate the customer is expected to pay for the service. Can be:

  • FIXED: The service has a fixed price.
  • CUSTOM: The service has a custom price, expressed as a price description.
  • VARIED: This service is offered with a set of different prices based on different terms.
  • NO_FEE: This service is offered free of charge.
varied - BookingsServicesV2VariedPaymentInput

The details for the varied pricing of the service. Read more about varied price options.

Required when: rateType is VARIED

Example
{
  "custom": BookingsServicesV2CustomPaymentInput,
  "fixed": BookingsServicesV2FixedPaymentInput,
  "options": BookingsServicesV2PaymentOptionsInput,
  "pricingPlanIds": ["abc123"],
  "rateType": "UNKNOWN_RATE_TYPE",
  "varied": BookingsServicesV2VariedPaymentInput
}

BookingsServicesV2PaymentOptions

Fields
Field Name Description
deposit - Boolean

This service requires a deposit to be made online in order to book it. When true:

  • rateType must be VARIED or FIXED.
  • A deposit must be specified.
inPerson - Boolean Customers can pay for the service in person.
online - Boolean

Customers can pay for the service online. When true:

  • rateType must be either FIXED or VARIED.
  • fixed.price or varied.default_price must be specified respectively. Read more about getting paid online.
pricingPlan - Boolean Customers can pay for the service using a pricing plan.
Example
{"deposit": true, "inPerson": false, "online": false, "pricingPlan": true}

BookingsServicesV2PaymentOptionsInput

Fields
Input Field Description
deposit - Boolean

This service requires a deposit to be made online in order to book it. When true:

  • rateType must be VARIED or FIXED.
  • A deposit must be specified.
inPerson - Boolean Customers can pay for the service in person.
online - Boolean

Customers can pay for the service online. When true:

  • rateType must be either FIXED or VARIED.
  • fixed.price or varied.default_price must be specified respectively. Read more about getting paid online.
pricingPlan - Boolean Customers can pay for the service using a pricing plan.
Example
{"deposit": true, "inPerson": false, "online": true, "pricingPlan": false}

BookingsServicesV2QueryLocationsFilterInput

Fields
Input Field Description
businessLocationIds - [String] IDs of business locations to query.
services - JSON The filter sent to search services.
Example
{
  "businessLocationIds": ["abc123"],
  "services": {}
}

BookingsServicesV2QueryLocationsRequestInput

Fields
Input Field Description
filter - BookingsServicesV2QueryLocationsFilterInput The filter for the query.
Example
{"filter": BookingsServicesV2QueryLocationsFilterInput}

BookingsServicesV2QueryLocationsResponse

Fields
Field Name Description
businessLocations - BookingsServicesV2BusinessLocations business locations on non hidden services.
customerLocations - BookingsServicesV2CustomerLocations customer location on non hidden services.
customLocations - BookingsServicesV2CustomLocations custom locations on non hidden services.
Example
{
  "businessLocations": BookingsServicesV2BusinessLocations,
  "customerLocations": BookingsServicesV2CustomerLocations,
  "customLocations": BookingsServicesV2CustomLocations
}

BookingsServicesV2QueryPoliciesRequestInput

Fields
Input Field Description
query - BookingsServicesV2UpstreamCommonCursorQueryInput WQL expression.
Example
{
  "query": BookingsServicesV2UpstreamCommonCursorQueryInput
}

BookingsServicesV2QueryPoliciesResponse

Fields
Field Name Description
bookingPolicies - [BookingsServicesV2BookingPolicyWithServices] The retrieved policies.
pagingMetadata - BookingsServicesV2UpstreamCommonCursorPagingMetadata Paging metadata, including offset and count.
Example
{
  "bookingPolicies": [
    BookingsServicesV2BookingPolicyWithServices
  ],
  "pagingMetadata": BookingsServicesV2UpstreamCommonCursorPagingMetadata
}

BookingsServicesV2QueryServicesRequestInput

Fields
Input Field Description
query - BookingsServicesV2UpstreamCommonQueryV2Input WQL expression.
Example
{"query": BookingsServicesV2UpstreamCommonQueryV2Input}

BookingsServicesV2QueryServicesResponse

Fields
Field Name Description
items - [BookingsServicesV2Service] Query results
pageInfo - PageInfo Pagination data
Example
{
  "items": [BookingsServicesV2Service],
  "pageInfo": PageInfo
}

BookingsServicesV2RemovedLocationSessionsActionInput

Fields
Input Field Description
action - BookingsServicesV2RemovedLocationSessionsActionAction The action to perform on sessions currently set to a removed location. For example, move existing sessions to a new specified location.
moveToLocationOptions - BookingsServicesV2MoveToNewLocationsOptionsInput Options related to the action, such as a new location to move existing sessions to.
Example
{
  "action": "UNKNOWN_ACTION_TYPE",
  "moveToLocationOptions": BookingsServicesV2MoveToNewLocationsOptionsInput
}

BookingsServicesV2Schedule

Fields
Field Name Description
availabilityConstraints - BookingsServicesV2AvailabilityConstraints Limitations dictating the way session availability is calculated. For appointments only.
firstSessionStart - String Start time of the first session in the schedule. For courses only.
id - String Schedule ID, used to manage the service's sessions.
lastSessionEnd - String End time of the last session in the schedule. For courses only.
Example
{
  "availabilityConstraints": BookingsServicesV2AvailabilityConstraints,
  "firstSessionStart": "abc123",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "lastSessionEnd": "xyz789"
}

BookingsServicesV2ScheduleInput

Fields
Input Field Description
availabilityConstraints - BookingsServicesV2AvailabilityConstraintsInput Limitations dictating the way session availability is calculated. For appointments only.
firstSessionStart - String Start time of the first session in the schedule. For courses only.
id - String Schedule ID, used to manage the service's sessions.
lastSessionEnd - String End time of the last session in the schedule. For courses only.
Example
{
  "availabilityConstraints": BookingsServicesV2AvailabilityConstraintsInput,
  "firstSessionStart": "abc123",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "lastSessionEnd": "abc123"
}

BookingsServicesV2SearchServicesRequestInput

Fields
Input Field Description
search - BookingsServicesV2UpstreamCommonCursorSearchInput WQL, search or aggregation expression.
Example
{
  "search": BookingsServicesV2UpstreamCommonCursorSearchInput
}

BookingsServicesV2SearchServicesResponse

Fields
Field Name Description
aggregationData - BookingsServicesV2UpstreamCommonAggregationData Response aggregation data
pagingMetadata - BookingsServicesV2UpstreamCommonCursorPagingMetadata Cursor paging metadata
services - [BookingsServicesV2Service] The retrieved services.
Example
{
  "aggregationData": BookingsServicesV2UpstreamCommonAggregationData,
  "pagingMetadata": BookingsServicesV2UpstreamCommonCursorPagingMetadata,
  "services": [BookingsServicesV2Service]
}

BookingsServicesV2Service

Fields
Field Name Description
bookingPolicy - BookingsServicesV2UpstreamBookingsV1BookingPolicy Policy determining under what conditions this service can be booked. For example, whether the service can only be booked up to 30 minutes before it begins.
category - BookingsServicesV2Category The category the service is associated with.
conferencing - BookingsServicesV2Conferencing Conferencing options for this service.
createdDate - String Date and time the service was created.
defaultCapacity - Int Default maximum number of customers that can book the service. The service cannot be booked beyond this capacity.
description - String
extendedFields - CommonDataDataextensionsExtendedFields Extensions enabling users to save custom data related to the service.
form - BookingsServicesV2Form The form used when booking the service.
hidden - Boolean Whether the service is hidden from the site.
id - String Service ID.
locations - [BookingsServicesV2Location] The locations this service is offered at. In case of multiple (more than 1) location, All locations must be of type BUSINESS. For courses only: Currently, only 1 location is supported, for all location types.
mainSlug - BookingsServicesV2Slug The main slug for the service. mainSlug is either taken from the current service name or is a custom slug set by the business owner. mainSlug is used to construct the service's URLs.
media - BookingsServicesV2Media Media associated with the service.
name - String
onlineBooking - BookingsServicesV2OnlineBooking Online booking settings.
payment - BookingsServicesV2Payment Payment options for booking the service.
revision - Long Revision number, which increments by 1 each time the service is updated. To prevent conflicting changes, the existing revision must be used when updating a service.
schedule - BookingsServicesV2Schedule The service's schedule, which can be used to manage the service's sessions.
seoData - AdvancedSeoSeoSchema Custom SEO data for the service.
sortOrder - Int Order of a service within a category.
staffMemberIds - [String] IDs of the staff members providing the service. For appointments only.
supportedSlugs - [BookingsServicesV2Slug] A slug is the last part of the URL address that serves as a unique identifier of the service. The list of supported slugs includes past service names for backwards compatibility, and a custom slug if one was set by the business owner.
tagLine - String
type - BookingsServicesV2ServiceTypeEnumServiceType Service type.
updatedDate - String Date and time the service was updated.
urls - BookingsServicesV2URLs URLs to various service-related pages, such as the calendar page and the booking page.
Example
{
  "bookingPolicy": BookingsServicesV2UpstreamBookingsV1BookingPolicy,
  "category": BookingsServicesV2Category,
  "conferencing": BookingsServicesV2Conferencing,
  "createdDate": "abc123",
  "defaultCapacity": 123,
  "description": "xyz789",
  "extendedFields": CommonDataDataextensionsExtendedFields,
  "form": BookingsServicesV2Form,
  "hidden": false,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "locations": [BookingsServicesV2Location],
  "mainSlug": BookingsServicesV2Slug,
  "media": BookingsServicesV2Media,
  "name": "abc123",
  "onlineBooking": BookingsServicesV2OnlineBooking,
  "payment": BookingsServicesV2Payment,
  "revision": {},
  "schedule": BookingsServicesV2Schedule,
  "seoData": AdvancedSeoSeoSchema,
  "sortOrder": 987,
  "staffMemberIds": ["abc123"],
  "supportedSlugs": [BookingsServicesV2Slug],
  "tagLine": "abc123",
  "type": "UNKNOWN_SERVICE_TYPE",
  "updatedDate": "abc123",
  "urls": BookingsServicesV2URLs
}

BookingsServicesV2ServiceInput

Fields
Input Field Description
bookingPolicy - BookingsServicesV2UpstreamBookingsV1BookingPolicyInput Policy determining under what conditions this service can be booked. For example, whether the service can only be booked up to 30 minutes before it begins.
category - BookingsServicesV2CategoryInput The category the service is associated with.
conferencing - BookingsServicesV2ConferencingInput Conferencing options for this service.
createdDate - String Date and time the service was created.
defaultCapacity - Int Default maximum number of customers that can book the service. The service cannot be booked beyond this capacity.
description - String
extendedFields - CommonDataDataextensionsExtendedFieldsInput Extensions enabling users to save custom data related to the service.
form - BookingsServicesV2FormInput The form used when booking the service.
hidden - Boolean Whether the service is hidden from the site.
id - String Service ID.
locations - [BookingsServicesV2LocationInput] The locations this service is offered at. In case of multiple (more than 1) location, All locations must be of type BUSINESS. For courses only: Currently, only 1 location is supported, for all location types.
mainSlug - BookingsServicesV2SlugInput The main slug for the service. mainSlug is either taken from the current service name or is a custom slug set by the business owner. mainSlug is used to construct the service's URLs.
media - BookingsServicesV2MediaInput Media associated with the service.
name - String
onlineBooking - BookingsServicesV2OnlineBookingInput Online booking settings.
payment - BookingsServicesV2PaymentInput Payment options for booking the service.
revision - Long Revision number, which increments by 1 each time the service is updated. To prevent conflicting changes, the existing revision must be used when updating a service.
schedule - BookingsServicesV2ScheduleInput The service's schedule, which can be used to manage the service's sessions.
seoData - AdvancedSeoSeoSchemaInput Custom SEO data for the service.
sortOrder - Int Order of a service within a category.
staffMemberIds - [String] IDs of the staff members providing the service. For appointments only.
supportedSlugs - [BookingsServicesV2SlugInput] A slug is the last part of the URL address that serves as a unique identifier of the service. The list of supported slugs includes past service names for backwards compatibility, and a custom slug if one was set by the business owner.
tagLine - String
type - BookingsServicesV2ServiceTypeEnumServiceType Service type.
updatedDate - String Date and time the service was updated.
urls - BookingsServicesV2URLsInput URLs to various service-related pages, such as the calendar page and the booking page.
Example
{
  "bookingPolicy": BookingsServicesV2UpstreamBookingsV1BookingPolicyInput,
  "category": BookingsServicesV2CategoryInput,
  "conferencing": BookingsServicesV2ConferencingInput,
  "createdDate": "abc123",
  "defaultCapacity": 987,
  "description": "abc123",
  "extendedFields": CommonDataDataextensionsExtendedFieldsInput,
  "form": BookingsServicesV2FormInput,
  "hidden": false,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "locations": [BookingsServicesV2LocationInput],
  "mainSlug": BookingsServicesV2SlugInput,
  "media": BookingsServicesV2MediaInput,
  "name": "abc123",
  "onlineBooking": BookingsServicesV2OnlineBookingInput,
  "payment": BookingsServicesV2PaymentInput,
  "revision": {},
  "schedule": BookingsServicesV2ScheduleInput,
  "seoData": AdvancedSeoSeoSchemaInput,
  "sortOrder": 987,
  "staffMemberIds": ["xyz789"],
  "supportedSlugs": [BookingsServicesV2SlugInput],
  "tagLine": "abc123",
  "type": "UNKNOWN_SERVICE_TYPE",
  "updatedDate": "abc123",
  "urls": BookingsServicesV2URLsInput
}

BookingsServicesV2ServiceRequestInput

Fields
Input Field Description
id - ID!
Example
{"id": "4"}

BookingsServicesV2SetCustomSlugRequestInput

Fields
Input Field Description
serviceId - String
slugName - String
Example
{
  "serviceId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "slugName": "xyz789"
}

BookingsServicesV2SetCustomSlugResponse

Fields
Field Name Description
service - BookingsServicesV2Service The service after the custom slug update.
slug - BookingsServicesV2Slug The new slug set as the active slug for the service.
Example
{
  "service": BookingsServicesV2Service,
  "slug": BookingsServicesV2Slug
}

BookingsServicesV2SetServiceLocationsRequestInput

Fields
Input Field Description
locations - [BookingsServicesV2LocationInput] The locations you specify replace the existing service locations.
participantNotification - BookingsServicesV2ParticipantNotificationInput Whether to notify participants about the change of location, and an optional custom message.
removedLocationSessionsAction - BookingsServicesV2RemovedLocationSessionsActionInput The action to perform on sessions currently set to a removed location. For example, move existing sessions to a new specified location.
serviceId - String ID of the service.
Example
{
  "locations": [BookingsServicesV2LocationInput],
  "participantNotification": BookingsServicesV2ParticipantNotificationInput,
  "removedLocationSessionsAction": BookingsServicesV2RemovedLocationSessionsActionInput,
  "serviceId": "62b7b87d-a24a-434d-8666-e270489eac09"
}

BookingsServicesV2SetServiceLocationsResponse

Fields
Field Name Description
service - BookingsServicesV2Service The updated service with the newly set locations.
Example
{"service": BookingsServicesV2Service}

BookingsServicesV2Slug

Fields
Field Name Description
createdDate - String Date and time the slug was created. This is a system field.
custom - Boolean Whether the slug was generated or customized. If true, the slug was customized manually by the business owner. Otherwise, the slug was automatically generated from the service name.
name - String The unique part of service's URL that identifies the service's information page. For example, service-1 in https:/example.com/services/service-1.
Example
{
  "createdDate": "abc123",
  "custom": true,
  "name": "abc123"
}

BookingsServicesV2SlugInput

Fields
Input Field Description
createdDate - String Date and time the slug was created. This is a system field.
custom - Boolean Whether the slug was generated or customized. If true, the slug was customized manually by the business owner. Otherwise, the slug was automatically generated from the service name.
name - String The unique part of service's URL that identifies the service's information page. For example, service-1 in https:/example.com/services/service-1.
Example
{
  "createdDate": "abc123",
  "custom": true,
  "name": "xyz789"
}

BookingsServicesV2URLs

Fields
Field Name Description
bookingPage - CommonPageUrlV2 The URL for the booking entry point. It can be either to the calendar or to the service page.
calendarPage - CommonPageUrlV2 The URL for the calendar. Can be empty if no calendar exists.
servicePage - CommonPageUrlV2 The URL for the service page.
Example
{
  "bookingPage": CommonPageUrlV2,
  "calendarPage": CommonPageUrlV2,
  "servicePage": CommonPageUrlV2
}

BookingsServicesV2URLsInput

Fields
Input Field Description
bookingPage - CommonPageUrlV2Input The URL for the booking entry point. It can be either to the calendar or to the service page.
calendarPage - CommonPageUrlV2Input The URL for the calendar. Can be empty if no calendar exists.
servicePage - CommonPageUrlV2Input The URL for the service page.
Example
{
  "bookingPage": CommonPageUrlV2Input,
  "calendarPage": CommonPageUrlV2Input,
  "servicePage": CommonPageUrlV2Input
}

BookingsServicesV2UpdateServiceRequestInput

Fields
Input Field Description
service - BookingsServicesV2ServiceInput Service to update. [Partial
Example
{"service": BookingsServicesV2ServiceInput}

BookingsServicesV2UpdateServiceResponse

Fields
Field Name Description
service - BookingsServicesV2Service The updated service.
Example
{"service": BookingsServicesV2Service}

BookingsServicesV2ValidateSlugRequestInput

Fields
Input Field Description
serviceId - String
slugName - String
Example
{
  "serviceId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "slugName": "xyz789"
}

BookingsServicesV2ValidateSlugResponse

Fields
Field Name Description
errors - [BookingsServicesV2InvalidSlugErrorEnumInvalidSlugError] be set as a slug for the service and is populated with the requested slug. Otherwise, slugName is empty. If the slug is invalid, this field is populated with the reasons why the slug is invalid. Validation errors may include SLUG_IS_TOO_LONG, SLUG_CONTAIN_ILLEGAL_CHARACTERS, and SLUG_ALREADY_EXISTS.
slugName - String
valid - Boolean Whether the requested slug name is valid.
Example
{
  "errors": ["UNKNOWN_SLUG_ERROR"],
  "slugName": "abc123",
  "valid": false
}

BookingsServicesV2VariedPayment

Fields
Field Name Description
defaultPrice - CommonMoney The default price for the service without any variants. It will also be used as the default price for any new variant.
deposit - CommonMoney

The deposit price required to book the service.

Required when: rateType is VARIED and paymentOptions.deposit is true

maxPrice - CommonMoney The maximum price a customer may pay for this service, based on its variants.
minPrice - CommonMoney The minimal price a customer may pay for this service, based on its variants.
Example
{
  "defaultPrice": CommonMoney,
  "deposit": CommonMoney,
  "maxPrice": CommonMoney,
  "minPrice": CommonMoney
}

BookingsServicesV2VariedPaymentInput

Fields
Input Field Description
defaultPrice - CommonMoneyInput The default price for the service without any variants. It will also be used as the default price for any new variant.
deposit - CommonMoneyInput

The deposit price required to book the service.

Required when: rateType is VARIED and paymentOptions.deposit is true

maxPrice - CommonMoneyInput The maximum price a customer may pay for this service, based on its variants.
minPrice - CommonMoneyInput The minimal price a customer may pay for this service, based on its variants.
Example
{
  "defaultPrice": CommonMoneyInput,
  "deposit": CommonMoneyInput,
  "maxPrice": CommonMoneyInput,
  "minPrice": CommonMoneyInput
}

BookingsServicesV2BulkUpdateServicesRequestMaskedServiceInput

Fields
Input Field Description
service - BookingsServicesV2ServiceInput Service to update. [Partial
Example
{"service": BookingsServicesV2ServiceInput}

BookingsServicesV2CloneErrorsEnumCloneErrors

Values
Enum Value Description

UNKNOWN_CLONE_ERROR

SESSIONS

Failed to clone sessions of active service's schedule

OPTIONS_AND_VARIANTS

Failed to clone service's options and variants even though source service have them

FORM

Failed to clone service's form

PRICING_PLANS

Failed to clone pricing plans connected to the source service
Example
"UNKNOWN_CLONE_ERROR"

BookingsServicesV2InvalidSlugErrorEnumInvalidSlugError

Values
Enum Value Description

UNKNOWN_SLUG_ERROR

SLUG_CONTAINS_ILLEGAL_CHARACTERS

The provided slug name contains illegal characters.

SLUG_ALREADY_EXISTS

The provided slug name already exists for another service.
Example
"UNKNOWN_SLUG_ERROR"

BookingsServicesV2LocationTypeEnumLocationType

Values
Enum Value Description

UNKNOWN_LOCATION_TYPE

CUSTOM

The location is unique to this service and isn't defined as one of the business locations. CUSTOM is the equivalent of the OWNER_CUSTOM location type in Schedules & Sessions API.

BUSINESS

The location is one of the business locations available using the Business Info Locations API.

CUSTOMER

The location can be determined by the customer and is not set up beforehand. This is applicable to services of type APPOINTMENT only.
Example
"UNKNOWN_LOCATION_TYPE"

BookingsServicesV2RateTypeEnumRateType

Values
Enum Value Description

UNKNOWN_RATE_TYPE

FIXED

The service has a fixed price.

CUSTOM

The service has a custom price, expressed as a price description.

VARIED

This service is offered with a set of different prices based on different terms.

NO_FEE

This service is offered free of charge.
Example
"UNKNOWN_RATE_TYPE"

BookingsServicesV2RemovedLocationSessionsActionAction

Values
Enum Value Description

UNKNOWN_ACTION_TYPE

KEEP_AT_CURRENT_LOCATION

Keep future sessions at their current location. This is the default. Note: The location will be set directly on the session. i.e, if the location is currently inherited from the schedule, the inheritance will be overridden.

MOVE_TO_LOCATION

Move future sessions to a new location. The new location must be specified in the availability locations to set ('SetAvailabilityLocationsRequest.locations').

DELETE

Delete future sessions. Currently not supported.
Example
"UNKNOWN_ACTION_TYPE"

BookingsServicesV2ServiceTypeEnumServiceType

Values
Enum Value Description

UNKNOWN_SERVICE_TYPE

APPOINTMENT

Service is an appointment.

CLASS

Service is a class.

COURSE

Service is a course.
Example
"UNKNOWN_SERVICE_TYPE"

BookingsServicesV2UpstreamBookingsV1BookAfterStartPolicy

Fields
Field Name Description
enabled - Boolean

Whether booking is allowed after the start of the schedule. When true, customers can book after the start of the schedule.

Default: false

Example
{"enabled": false}

BookingsServicesV2UpstreamBookingsV1BookAfterStartPolicyInput

Fields
Input Field Description
enabled - Boolean

Whether booking is allowed after the start of the schedule. When true, customers can book after the start of the schedule.

Default: false

Example
{"enabled": true}

BookingsServicesV2UpstreamBookingsV1BookingPolicy

Fields
Field Name Description
bookAfterStartPolicy - BookingsServicesV2UpstreamBookingsV1BookAfterStartPolicy Policy on booking an entity after the start of the schedule.
bookingPolicy - BookingsV1BookingPolicy The ID to the policy for the booking.
cancellationFeePolicy - BookingsServicesV2UpstreamBookingsV1CancellationFeePolicy Rules for cancellation fees.
cancellationPolicy - BookingsServicesV2UpstreamBookingsV1CancellationPolicy Policy for canceling a booked entity.
createdDate - String Date and time the policy was created.
customPolicyDescription - BookingsServicesV2UpstreamBookingsV1PolicyDescription Custom description for the policy. This policy is displayed to the participant.
default - Boolean Whether the policy is the default for the meta site.
id - String The ID to the policy for the booking.
limitEarlyBookingPolicy - BookingsServicesV2UpstreamBookingsV1LimitEarlyBookingPolicy Policy for limiting early bookings.
limitLateBookingPolicy - BookingsServicesV2UpstreamBookingsV1LimitLateBookingPolicy Policy for limiting late bookings.
name - String Name of the policy.
participantsPolicy - BookingsServicesV2UpstreamBookingsV1ParticipantsPolicy Policy regarding the participants per booking.
reschedulePolicy - BookingsServicesV2UpstreamBookingsV1ReschedulePolicy Policy for rescheduling a booked entity.
resourcesPolicy - BookingsServicesV2UpstreamBookingsV1ResourcesPolicy Policy for allocating resources.
saveCreditCardPolicy - BookingsServicesV2UpstreamBookingsV1SaveCreditCardPolicy Rule for saving credit card.
updatedDate - String Date and time the policy was updated.
waitlistPolicy - BookingsServicesV2UpstreamBookingsV1WaitlistPolicy Waitlist policy for the service.
Example
{
  "bookAfterStartPolicy": BookingsServicesV2UpstreamBookingsV1BookAfterStartPolicy,
  "bookingPolicy": "62b7b87d-a24a-434d-8666-e270489eac09",
  "cancellationFeePolicy": BookingsServicesV2UpstreamBookingsV1CancellationFeePolicy,
  "cancellationPolicy": BookingsServicesV2UpstreamBookingsV1CancellationPolicy,
  "createdDate": "xyz789",
  "customPolicyDescription": BookingsServicesV2UpstreamBookingsV1PolicyDescription,
  "default": false,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "limitEarlyBookingPolicy": BookingsServicesV2UpstreamBookingsV1LimitEarlyBookingPolicy,
  "limitLateBookingPolicy": BookingsServicesV2UpstreamBookingsV1LimitLateBookingPolicy,
  "name": "xyz789",
  "participantsPolicy": BookingsServicesV2UpstreamBookingsV1ParticipantsPolicy,
  "reschedulePolicy": BookingsServicesV2UpstreamBookingsV1ReschedulePolicy,
  "resourcesPolicy": BookingsServicesV2UpstreamBookingsV1ResourcesPolicy,
  "saveCreditCardPolicy": BookingsServicesV2UpstreamBookingsV1SaveCreditCardPolicy,
  "updatedDate": "xyz789",
  "waitlistPolicy": BookingsServicesV2UpstreamBookingsV1WaitlistPolicy
}

BookingsServicesV2UpstreamBookingsV1BookingPolicyInput

Fields
Input Field Description
bookAfterStartPolicy - BookingsServicesV2UpstreamBookingsV1BookAfterStartPolicyInput Policy on booking an entity after the start of the schedule.
cancellationFeePolicy - BookingsServicesV2UpstreamBookingsV1CancellationFeePolicyInput Rules for cancellation fees.
cancellationPolicy - BookingsServicesV2UpstreamBookingsV1CancellationPolicyInput Policy for canceling a booked entity.
createdDate - String Date and time the policy was created.
customPolicyDescription - BookingsServicesV2UpstreamBookingsV1PolicyDescriptionInput Custom description for the policy. This policy is displayed to the participant.
default - Boolean Whether the policy is the default for the meta site.
id - String The ID to the policy for the booking.
limitEarlyBookingPolicy - BookingsServicesV2UpstreamBookingsV1LimitEarlyBookingPolicyInput Policy for limiting early bookings.
limitLateBookingPolicy - BookingsServicesV2UpstreamBookingsV1LimitLateBookingPolicyInput Policy for limiting late bookings.
name - String Name of the policy.
participantsPolicy - BookingsServicesV2UpstreamBookingsV1ParticipantsPolicyInput Policy regarding the participants per booking.
reschedulePolicy - BookingsServicesV2UpstreamBookingsV1ReschedulePolicyInput Policy for rescheduling a booked entity.
resourcesPolicy - BookingsServicesV2UpstreamBookingsV1ResourcesPolicyInput Policy for allocating resources.
saveCreditCardPolicy - BookingsServicesV2UpstreamBookingsV1SaveCreditCardPolicyInput Rule for saving credit card.
updatedDate - String Date and time the policy was updated.
waitlistPolicy - BookingsServicesV2UpstreamBookingsV1WaitlistPolicyInput Waitlist policy for the service.
Example
{
  "bookAfterStartPolicy": BookingsServicesV2UpstreamBookingsV1BookAfterStartPolicyInput,
  "cancellationFeePolicy": BookingsServicesV2UpstreamBookingsV1CancellationFeePolicyInput,
  "cancellationPolicy": BookingsServicesV2UpstreamBookingsV1CancellationPolicyInput,
  "createdDate": "xyz789",
  "customPolicyDescription": BookingsServicesV2UpstreamBookingsV1PolicyDescriptionInput,
  "default": true,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "limitEarlyBookingPolicy": BookingsServicesV2UpstreamBookingsV1LimitEarlyBookingPolicyInput,
  "limitLateBookingPolicy": BookingsServicesV2UpstreamBookingsV1LimitLateBookingPolicyInput,
  "name": "abc123",
  "participantsPolicy": BookingsServicesV2UpstreamBookingsV1ParticipantsPolicyInput,
  "reschedulePolicy": BookingsServicesV2UpstreamBookingsV1ReschedulePolicyInput,
  "resourcesPolicy": BookingsServicesV2UpstreamBookingsV1ResourcesPolicyInput,
  "saveCreditCardPolicy": BookingsServicesV2UpstreamBookingsV1SaveCreditCardPolicyInput,
  "updatedDate": "xyz789",
  "waitlistPolicy": BookingsServicesV2UpstreamBookingsV1WaitlistPolicyInput
}

BookingsServicesV2UpstreamBookingsV1CancellationFeePolicy

Fields
Field Name Description
autoCollectFeeEnabled - Boolean

Whether the cancellation fee should not be automatically collected when customer cancels the booking.

Default: true

cancellationWindows - [BookingsServicesV2UpstreamBookingsV1CancellationFeePolicyCancellationWindow] Cancellation windows describing the time of cancellation and the fee to charge.
enabled - Boolean

Whether canceling a booking will result in a cancellation fee

Default: false

Example
{
  "autoCollectFeeEnabled": true,
  "cancellationWindows": [
    BookingsServicesV2UpstreamBookingsV1CancellationFeePolicyCancellationWindow
  ],
  "enabled": false
}

BookingsServicesV2UpstreamBookingsV1CancellationFeePolicyInput

Fields
Input Field Description
autoCollectFeeEnabled - Boolean

Whether the cancellation fee should not be automatically collected when customer cancels the booking.

Default: true

cancellationWindows - [BookingsServicesV2UpstreamBookingsV1CancellationFeePolicyCancellationWindowInput] Cancellation windows describing the time of cancellation and the fee to charge.
enabled - Boolean

Whether canceling a booking will result in a cancellation fee

Default: false

Example
{
  "autoCollectFeeEnabled": true,
  "cancellationWindows": [
    BookingsServicesV2UpstreamBookingsV1CancellationFeePolicyCancellationWindowInput
  ],
  "enabled": false
}

BookingsServicesV2UpstreamBookingsV1CancellationPolicy

Fields
Field Name Description
enabled - Boolean

Whether canceling a booking is allowed. When true, customers can cancel the booking.

Default: false

latestCancellationInMinutes - Int

Minimum number of minutes before the start of the booked session that the booking can be canceled.

Default: 1440 minutes (1 day) Min: 1 minute

limitLatestCancellation - Boolean

Whether there is a limit on the latest cancellation time. When true, a time limit is enforced.

Default: false

Example
{
  "enabled": true,
  "latestCancellationInMinutes": 123,
  "limitLatestCancellation": false
}

BookingsServicesV2UpstreamBookingsV1CancellationPolicyInput

Fields
Input Field Description
enabled - Boolean

Whether canceling a booking is allowed. When true, customers can cancel the booking.

Default: false

latestCancellationInMinutes - Int

Minimum number of minutes before the start of the booked session that the booking can be canceled.

Default: 1440 minutes (1 day) Min: 1 minute

limitLatestCancellation - Boolean

Whether there is a limit on the latest cancellation time. When true, a time limit is enforced.

Default: false

Example
{
  "enabled": true,
  "latestCancellationInMinutes": 987,
  "limitLatestCancellation": false
}

BookingsServicesV2UpstreamBookingsV1LimitEarlyBookingPolicy

Fields
Field Name Description
earliestBookingInMinutes - Int

Maximum number of minutes before the start of the session that a booking can be made. This value must be greater than latest_booking_in_minutes in the LimitLateBookingPolicy policy.

Default: 10080 minutes (7 days) Min: 1 minute

enabled - Boolean

Whether there is a limit on how early a customer can book. When false, there is no limit on the earliest booking time and customers can book in advance, as early as they like.

Default: false

Example
{"earliestBookingInMinutes": 987, "enabled": true}

BookingsServicesV2UpstreamBookingsV1LimitEarlyBookingPolicyInput

Fields
Input Field Description
earliestBookingInMinutes - Int

Maximum number of minutes before the start of the session that a booking can be made. This value must be greater than latest_booking_in_minutes in the LimitLateBookingPolicy policy.

Default: 10080 minutes (7 days) Min: 1 minute

enabled - Boolean

Whether there is a limit on how early a customer can book. When false, there is no limit on the earliest booking time and customers can book in advance, as early as they like.

Default: false

Example
{"earliestBookingInMinutes": 987, "enabled": true}

BookingsServicesV2UpstreamBookingsV1LimitLateBookingPolicy

Fields
Field Name Description
enabled - Boolean

Whether there is a limit on how late a customer can book. When false, there is no limit on the latest booking time and customers can book up to the last minute.

Default: false

latestBookingInMinutes - Int

Minimum number of minutes before the start of the session that a booking can be made. For a schedule, this is relative to the start time of the next booked session, excluding past-booked sessions. This value must be less than earliest_booking_in_minutes in the LimitEarlyBookingPolicy policy.

Default: 1440 minutes (1 day) Min: 1 minute

Example
{"enabled": false, "latestBookingInMinutes": 123}

BookingsServicesV2UpstreamBookingsV1LimitLateBookingPolicyInput

Fields
Input Field Description
enabled - Boolean

Whether there is a limit on how late a customer can book. When false, there is no limit on the latest booking time and customers can book up to the last minute.

Default: false

latestBookingInMinutes - Int

Minimum number of minutes before the start of the session that a booking can be made. For a schedule, this is relative to the start time of the next booked session, excluding past-booked sessions. This value must be less than earliest_booking_in_minutes in the LimitEarlyBookingPolicy policy.

Default: 1440 minutes (1 day) Min: 1 minute

Example
{"enabled": true, "latestBookingInMinutes": 123}

BookingsServicesV2UpstreamBookingsV1ParticipantsPolicy

Fields
Field Name Description
maxParticipantsPerBooking - Int

Maximum number of participants allowed.

Default: 1 participant Min: 1 participant

Example
{"maxParticipantsPerBooking": 123}

BookingsServicesV2UpstreamBookingsV1ParticipantsPolicyInput

Fields
Input Field Description
maxParticipantsPerBooking - Int

Maximum number of participants allowed.

Default: 1 participant Min: 1 participant

Example
{"maxParticipantsPerBooking": 123}

BookingsServicesV2UpstreamBookingsV1PolicyDescription

Fields
Field Name Description
description - String

The description to display.

Default: Empty Max length: 2500 characters

enabled - Boolean

Whether the description should be displayed. If true, the description is displayed.

Default: false

Example
{"description": "abc123", "enabled": false}

BookingsServicesV2UpstreamBookingsV1PolicyDescriptionInput

Fields
Input Field Description
description - String

The description to display.

Default: Empty Max length: 2500 characters

enabled - Boolean

Whether the description should be displayed. If true, the description is displayed.

Default: false

Example
{"description": "abc123", "enabled": false}

BookingsServicesV2UpstreamBookingsV1ReschedulePolicy

Fields
Field Name Description
enabled - Boolean

Whether rescheduling a booking is allowed. When true, customers can reschedule the booking.

Default: false

latestRescheduleInMinutes - Int

Minimum number of minutes before the start of the booked session that the booking can be rescheduled.

Default: 1440 minutes (1 day) Min: 1 minute

limitLatestReschedule - Boolean

Whether there is a limit on the latest reschedule time. When true, a time limit is enforced.

Default: false

Example
{
  "enabled": false,
  "latestRescheduleInMinutes": 123,
  "limitLatestReschedule": true
}

BookingsServicesV2UpstreamBookingsV1ReschedulePolicyInput

Fields
Input Field Description
enabled - Boolean

Whether rescheduling a booking is allowed. When true, customers can reschedule the booking.

Default: false

latestRescheduleInMinutes - Int

Minimum number of minutes before the start of the booked session that the booking can be rescheduled.

Default: 1440 minutes (1 day) Min: 1 minute

limitLatestReschedule - Boolean

Whether there is a limit on the latest reschedule time. When true, a time limit is enforced.

Default: false

Example
{
  "enabled": false,
  "latestRescheduleInMinutes": 123,
  "limitLatestReschedule": true
}

BookingsServicesV2UpstreamBookingsV1ResourcesPolicy

Fields
Field Name Description
autoAssignAllowed - Boolean

true, if it is allowed to automatically assign a resource when booking an appointment, false, if the client must always select a resource.

Default: false

enabled - Boolean true if this policy is enabled, false otherwise. When false then the client must always select a resource when booking an appointment.
Example
{"autoAssignAllowed": true, "enabled": true}

BookingsServicesV2UpstreamBookingsV1ResourcesPolicyInput

Fields
Input Field Description
autoAssignAllowed - Boolean

true, if it is allowed to automatically assign a resource when booking an appointment, false, if the client must always select a resource.

Default: false

enabled - Boolean true if this policy is enabled, false otherwise. When false then the client must always select a resource when booking an appointment.
Example
{"autoAssignAllowed": false, "enabled": false}

BookingsServicesV2UpstreamBookingsV1SaveCreditCardPolicy

Fields
Field Name Description
enabled - Boolean Default: false
Example
{"enabled": true}

BookingsServicesV2UpstreamBookingsV1SaveCreditCardPolicyInput

Fields
Input Field Description
enabled - Boolean Default: false
Example
{"enabled": false}

BookingsServicesV2UpstreamBookingsV1WaitlistPolicy

Fields
Field Name Description
capacity - Int

Number of spots available in the waitlist.

Default: 10 spots Min: 1 spot

enabled - Boolean

Whether the session has a waitlist. If true, there is a waitlist.

Default: false

reservationTimeInMinutes - Int

Amount of time a participant is given to book, once notified that a spot is available.

Default: 10 minutes Min: 1 spot

Example
{"capacity": 123, "enabled": false, "reservationTimeInMinutes": 987}

BookingsServicesV2UpstreamBookingsV1WaitlistPolicyInput

Fields
Input Field Description
capacity - Int

Number of spots available in the waitlist.

Default: 10 spots Min: 1 spot

enabled - Boolean

Whether the session has a waitlist. If true, there is a waitlist.

Default: false

reservationTimeInMinutes - Int

Amount of time a participant is given to book, once notified that a spot is available.

Default: 10 minutes Min: 1 spot

Example
{"capacity": 123, "enabled": true, "reservationTimeInMinutes": 123}

BookingsServicesV2UpstreamBookingsV1CancellationFeePolicyCancellationWindow

Fields
Field Name Description
amount - BookingsServicesV2UpstreamCommonMoney Amount to be charged as a cancellation fee.
percentage - String Percentage of the original price to be charged as a cancellation fee.
startInMinutes - Int The fee will be applied if the booked session starts within this start time in minutes.
Example
{
  "amount": BookingsServicesV2UpstreamCommonMoney,
  "percentage": "xyz789",
  "startInMinutes": 987
}

BookingsServicesV2UpstreamBookingsV1CancellationFeePolicyCancellationWindowInput

Fields
Input Field Description
amount - BookingsServicesV2UpstreamCommonMoneyInput Amount to be charged as a cancellation fee.
percentage - String Percentage of the original price to be charged as a cancellation fee.
startInMinutes - Int The fee will be applied if the booked session starts within this start time in minutes.
Example
{
  "amount": BookingsServicesV2UpstreamCommonMoneyInput,
  "percentage": "abc123",
  "startInMinutes": 987
}

BookingsServicesV2UpstreamCommonAddress

Fields
Field Name Description
addressLine - String
city - String City name.
country - String 2-letter country code in an ISO-3166 alpha-2 format.
formattedAddress - String Full address of the location.
postalCode - String Postal or zip code.
streetAddress - BookingsServicesV2UpstreamCommonStreetAddress Street name and number.
subdivision - String Code for a subdivision (such as state, prefecture, or province) in ISO 3166-2 format.
Example
{
  "addressLine": "xyz789",
  "city": "xyz789",
  "country": "xyz789",
  "formattedAddress": "abc123",
  "postalCode": "abc123",
  "streetAddress": BookingsServicesV2UpstreamCommonStreetAddress,
  "subdivision": "abc123"
}

BookingsServicesV2UpstreamCommonAddressInput

Fields
Input Field Description
addressLine - String
city - String City name.
country - String 2-letter country code in an ISO-3166 alpha-2 format.
formattedAddress - String Full address of the location.
postalCode - String Postal or zip code.
streetAddress - BookingsServicesV2UpstreamCommonStreetAddressInput Street name and number.
subdivision - String Code for a subdivision (such as state, prefecture, or province) in ISO 3166-2 format.
Example
{
  "addressLine": "abc123",
  "city": "abc123",
  "country": "abc123",
  "formattedAddress": "xyz789",
  "postalCode": "abc123",
  "streetAddress": BookingsServicesV2UpstreamCommonStreetAddressInput,
  "subdivision": "abc123"
}

BookingsServicesV2UpstreamCommonAggregationData

Fields
Field Name Description
results - [BookingsServicesV2UpstreamCommonAggregationDataAggregationResults] key = aggregation name (as derived from search request)
Example
{
  "results": [
    BookingsServicesV2UpstreamCommonAggregationDataAggregationResults
  ]
}

BookingsServicesV2UpstreamCommonAggregationInput

Example
{
  "dateHistogram": BookingsServicesV2UpstreamCommonAggregationDateHistogramAggregationInput,
  "fieldPath": "xyz789",
  "groupBy": BookingsServicesV2UpstreamCommonAggregationGroupByAggregationInput,
  "name": "xyz789",
  "nested": BookingsServicesV2UpstreamCommonAggregationNestedAggregationInput,
  "range": BookingsServicesV2UpstreamCommonAggregationRangeAggregationInput,
  "scalar": BookingsServicesV2UpstreamCommonAggregationScalarAggregationInput,
  "type": "UNKNOWN_AGGREGATION_TYPE",
  "value": BookingsServicesV2UpstreamCommonAggregationValueAggregationInput
}

BookingsServicesV2UpstreamCommonAggregationType

Values
Enum Value Description

UNKNOWN_AGGREGATION_TYPE

VALUE

RANGE

SCALAR

DATE_HISTOGRAM

NESTED

Example
"UNKNOWN_AGGREGATION_TYPE"

BookingsServicesV2UpstreamCommonBulkActionMetadata

Fields
Field Name Description
totalFailures - Int Number of items that couldn't be processed.
totalSuccesses - Int Number of items that were successfully processed.
undetailedFailures - Int Number of failures without details because detailed failure threshold was exceeded.
Example
{"totalFailures": 123, "totalSuccesses": 987, "undetailedFailures": 987}

BookingsServicesV2UpstreamCommonCursorPagingInput

Fields
Input Field Description
cursor - String

Pointer to the next or previous page in the list of results.

You can get the relevant cursor token from the pagingMetadata object in the previous call's response. Not relevant for the first request.

limit - Int Number of items to load.
Example
{"cursor": "abc123", "limit": 123}

BookingsServicesV2UpstreamCommonCursorPagingMetadata

Fields
Field Name Description
count - Int Number of items returned in the response.
cursors - BookingsServicesV2UpstreamCommonCursors Use these cursor to paginate between results. Read more.
hasNext - Boolean Indicates if there are more results after the current page. If true, another page of results can be retrieved. If false, this is the last page.
Example
{
  "count": 987,
  "cursors": BookingsServicesV2UpstreamCommonCursors,
  "hasNext": false
}

BookingsServicesV2UpstreamCommonCursorQueryInput

Fields
Input Field Description
cursorPaging - BookingsServicesV2UpstreamCommonCursorPagingInput Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not filter or sort.
filter - JSON Filter object in the following format: "filter" : { "fieldName1": "value1", "fieldName2":{"$operator":"value2"} } Example of operators: $eq, $ne, $lt, $lte, $gt, $gte, $in, $hasSome, $hasAll, $startsWith
sort - [BookingsServicesV2UpstreamCommonSortingInput] Sort object in the following format: [{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]
Example
{
  "cursorPaging": BookingsServicesV2UpstreamCommonCursorPagingInput,
  "filter": {},
  "sort": [BookingsServicesV2UpstreamCommonSortingInput]
}

BookingsServicesV2UpstreamCommonCursorSearchInput

Fields
Input Field Description
aggregations - [BookingsServicesV2UpstreamCommonAggregationInput] Aggregations | Faceted search: refers to a way to explore large amounts of data by displaying summaries about various partitions of the data and later allowing to narrow the navigation to a specific partition.
cursorPaging - BookingsServicesV2UpstreamCommonCursorPagingInput Cursor pointing to page of results. When requesting 'cursor_paging.cursor', no filter, sort or search can be provided.
filter - JSON A filter object. See documentation here
search - BookingsServicesV2UpstreamCommonSearchDetailsInput Free text to match in searchable fields
sort - [BookingsServicesV2UpstreamCommonSortingInput] Sort object in the form [{"fieldName":"sortField1"},{"fieldName":"sortField2","direction":"DESC"}]
timeZone - String

UTC offset or IANA time zone. Valid values are ISO 8601 UTC offsets, such as +02:00 or -06:00, and IANA time zone IDs, such as Europe/Rome

Affects all filters and aggregations returned values. You may override this behavior in a specific filter by providing timestamps including time zone. e.g. "2023-12-20T10:52:34.795Z"

Example
{
  "aggregations": [
    BookingsServicesV2UpstreamCommonAggregationInput
  ],
  "cursorPaging": BookingsServicesV2UpstreamCommonCursorPagingInput,
  "filter": {},
  "search": BookingsServicesV2UpstreamCommonSearchDetailsInput,
  "sort": [BookingsServicesV2UpstreamCommonSortingInput],
  "timeZone": "xyz789"
}

BookingsServicesV2UpstreamCommonCursors

Fields
Field Name Description
next - String Cursor pointing to next page in the list of results.
prev - String Cursor pointing to previous page in the list of results.
Example
{
  "next": "xyz789",
  "prev": "xyz789"
}

BookingsServicesV2UpstreamCommonImage

Fields
Field Name Description
altText - String Image alt text.
filename - String Image file name.
height - Int Original image height.
id - String WixMedia image ID. (e.g. "4b3901ffcb8d7ad81a613779d92c9702.jpg")
url - String Image URL. (similar to image.id e.g. "4b3901ffcb8d7ad81a613779d92c9702.jpg")
width - Int Original image width.
Example
{
  "altText": "xyz789",
  "filename": "xyz789",
  "height": 987,
  "id": "xyz789",
  "url": "xyz789",
  "width": 987
}

BookingsServicesV2UpstreamCommonImageInput

Fields
Input Field Description
altText - String Image alt text.
filename - String Image file name.
height - Int Original image height.
id - String WixMedia image ID. (e.g. "4b3901ffcb8d7ad81a613779d92c9702.jpg")
url - String Image URL. (similar to image.id e.g. "4b3901ffcb8d7ad81a613779d92c9702.jpg")
width - Int Original image width.
Example
{
  "altText": "abc123",
  "filename": "xyz789",
  "height": 123,
  "id": "xyz789",
  "url": "xyz789",
  "width": 987
}

BookingsServicesV2UpstreamCommonItemMetadata

Fields
Field Name Description
error - ApiApplicationError Details about the error in case of failure.
id - String Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).
originalIndex - Int Index of the item within the request array. Allows for correlation between request and response items.
success - Boolean Whether the requested action was successful for this item. When false, the error field is populated.
Example
{
  "error": ApiApplicationError,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "originalIndex": 123,
  "success": false
}

BookingsServicesV2UpstreamCommonMoney

Fields
Field Name Description
currency - String Currency code. Must be valid ISO 4217 currency code (e.g., USD).
formattedValue - String Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.
value - String Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.
Example
{
  "currency": "xyz789",
  "formattedValue": "xyz789",
  "value": "xyz789"
}

BookingsServicesV2UpstreamCommonMoneyInput

Fields
Input Field Description
currency - String Currency code. Must be valid ISO 4217 currency code (e.g., USD).
formattedValue - String Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.
value - String Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.
Example
{
  "currency": "xyz789",
  "formattedValue": "xyz789",
  "value": "xyz789"
}

BookingsServicesV2UpstreamCommonPagingInput

Fields
Input Field Description
limit - Int Number of items to load.
offset - Int Number of items to skip in the current sort order.
Example
{"limit": 987, "offset": 987}

BookingsServicesV2UpstreamCommonQueryV2Input

Fields
Input Field Description
filter - JSON

Filter object in the following format:

"filter" : { "fieldName1": "value1", "fieldName2":{"$operator":"value2"} }

Example of operators: $eq, $ne, $lt, $lte, $gt, $gte, $in, $hasSome, $hasAll, $startsWith

Read more about supported fields and operators.

paging - BookingsServicesV2UpstreamCommonPagingInput Paging options to limit and skip the number of items.
sort - [BookingsServicesV2UpstreamCommonSortingInput]

Sort object in the following format: [ {"fieldName":"sortField1","order":"ASC"}, {"fieldName":"sortField2","order":"DESC"} ]

Read more about sorting.

Example
{
  "filter": {},
  "paging": BookingsServicesV2UpstreamCommonPagingInput,
  "sort": [BookingsServicesV2UpstreamCommonSortingInput]
}

BookingsServicesV2UpstreamCommonScalarType

Values
Enum Value Description

UNKNOWN_SCALAR_TYPE

COUNT_DISTINCT

MIN

MAX

SUM

AVG

Example
"UNKNOWN_SCALAR_TYPE"

BookingsServicesV2UpstreamCommonSearchDetailsInput

Fields
Input Field Description
expression - String Search term or expression
fields - [String] Fields to search in. If empty - server will search in own default fields
fuzzy - Boolean Flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm)
mode - BookingsServicesV2UpstreamCommonSearchDetailsMode Boolean search mode
Example
{
  "expression": "xyz789",
  "fields": ["abc123"],
  "fuzzy": false,
  "mode": "OR"
}

BookingsServicesV2UpstreamCommonSortOrder

Values
Enum Value Description

ASC

DESC

Example
"ASC"

BookingsServicesV2UpstreamCommonSortingInput

Fields
Input Field Description
fieldName - String Name of the field to sort by.
order - BookingsServicesV2UpstreamCommonSortOrder Sort order.
Example
{"fieldName": "xyz789", "order": "ASC"}

BookingsServicesV2UpstreamCommonStreetAddress

Fields
Field Name Description
apt - String Apartment number.
name - String Street name.
number - String Street number.
Example
{
  "apt": "abc123",
  "name": "xyz789",
  "number": "abc123"
}

BookingsServicesV2UpstreamCommonStreetAddressInput

Fields
Input Field Description
apt - String Apartment number.
name - String Street name.
number - String Street number.
Example
{
  "apt": "xyz789",
  "name": "abc123",
  "number": "xyz789"
}

BookingsServicesV2UpstreamCommonAggregationDateHistogramAggregationInput

Example
{"interval": "UNKNOWN_INTERVAL"}

BookingsServicesV2UpstreamCommonAggregationGroupByAggregationInput

Fields
Input Field Description
fieldPath - String
name - String
value - BookingsServicesV2UpstreamCommonAggregationValueAggregationInput
Example
{
  "fieldPath": "xyz789",
  "name": "abc123",
  "value": BookingsServicesV2UpstreamCommonAggregationValueAggregationInput
}

BookingsServicesV2UpstreamCommonAggregationNestedAggregationInput

Example
{
  "nestedAggregations": [
    BookingsServicesV2UpstreamCommonAggregationNestedAggregationNestedAggregationItemInput
  ]
}

BookingsServicesV2UpstreamCommonAggregationRangeAggregationInput

Fields
Input Field Description
buckets - [BookingsServicesV2UpstreamCommonAggregationRangeAggregationRangeBucketInput] Range buckets
Example
{
  "buckets": [
    BookingsServicesV2UpstreamCommonAggregationRangeAggregationRangeBucketInput
  ]
}

BookingsServicesV2UpstreamCommonAggregationScalarAggregationInput

Fields
Input Field Description
type - BookingsServicesV2UpstreamCommonScalarType
Example
{"type": "UNKNOWN_SCALAR_TYPE"}

BookingsServicesV2UpstreamCommonAggregationValueAggregationInput

Fields
Input Field Description
includeOptions - BookingsServicesV2UpstreamCommonAggregationValueAggregationIncludeMissingValuesOptionsInput options for including missing values
limit - Int How many aggregations would you like to return? Can be between 1 and 250. 10 is the default.
missingValues - BookingsServicesV2UpstreamCommonAggregationValueAggregationMissingValues should missing values be included or excluded from the aggregation results. Default is EXCLUDE
sortDirection - BookingsServicesV2UpstreamCommonAggregationValueAggregationSortDirection
sortType - BookingsServicesV2UpstreamCommonAggregationValueAggregationSortType
Example
{
  "includeOptions": BookingsServicesV2UpstreamCommonAggregationValueAggregationIncludeMissingValuesOptionsInput,
  "limit": 987,
  "missingValues": "EXCLUDE",
  "sortDirection": "DESC",
  "sortType": "COUNT"
}

BookingsServicesV2UpstreamCommonAggregationDataAggregationResults

Example
{
  "dateHistogram": BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsDateHistogramResults,
  "fieldPath": "abc123",
  "groupedByValue": BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsGroupByValueResults,
  "name": "xyz789",
  "nested": BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsNestedResults,
  "ranges": BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsRangeResults,
  "scalar": BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsScalarResult,
  "type": "UNKNOWN_AGGREGATION_TYPE",
  "values": BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsValueResults
}

BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsDateHistogramResults

Example
{
  "results": [
    BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsDateHistogramResultsDateHistogramResult
  ]
}

BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsGroupByValueResults

Example
{
  "results": [
    BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsGroupByValueResultsNestedValueAggregationResult
  ]
}

BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsNestedAggregationResults

Example
{
  "fieldPath": "xyz789",
  "name": "xyz789",
  "ranges": BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsRangeResults,
  "scalar": BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsScalarResult,
  "type": "UNKNOWN_AGGREGATION_TYPE",
  "values": BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsValueResults
}

BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsNestedResults

Example
{
  "results": [
    BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsNestedResultsResults
  ]
}

BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsRangeResults

Example
{
  "results": [
    BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsRangeResultsRangeAggregationResult
  ]
}

BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsScalarResult

Fields
Field Name Description
type - BookingsServicesV2UpstreamCommonScalarType
value - Float
Example
{"type": "UNKNOWN_SCALAR_TYPE", "value": 123.45}

BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsValueResults

Example
{
  "results": [
    BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsValueResultsValueAggregationResult
  ]
}

BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsDateHistogramResultsDateHistogramResult

Fields
Field Name Description
count - Int
value - String
Example
{"count": 123, "value": "xyz789"}

BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsGroupByValueResultsNestedValueAggregationResult

Example
{
  "nestedResults": BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsNestedAggregationResults,
  "value": "abc123"
}

BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsNestedResultsNestedResultValue

Example
{
  "dateHistogram": BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsNestedResultsValueResult,
  "range": BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsNestedResultsRangeResult,
  "scalar": BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsNestedResultsScalarResult,
  "value": BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsNestedResultsValueResult
}

BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsNestedResultsRangeResult

Fields
Field Name Description
count - Int
from - Float
to - Float
Example
{"count": 123, "from": 987.65, "to": 987.65}

BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsNestedResultsResults

Example
{
  "results": BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsNestedResultsNestedResultValue
}

BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsNestedResultsScalarResult

Fields
Field Name Description
value - Float
Example
{"value": 987.65}

BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsNestedResultsValueResult

Fields
Field Name Description
count - Int
value - String
Example
{"count": 123, "value": "xyz789"}

BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsRangeResultsRangeAggregationResult

Fields
Field Name Description
count - Int
from - Float
to - Float
Example
{"count": 987, "from": 123.45, "to": 123.45}

BookingsServicesV2UpstreamCommonAggregationDataAggregationResultsValueResultsValueAggregationResult

Fields
Field Name Description
count - Int
value - String
Example
{"count": 987, "value": "xyz789"}

BookingsServicesV2UpstreamCommonAggregationDateHistogramAggregationInterval

Values
Enum Value Description

UNKNOWN_INTERVAL

YEAR

MONTH

WEEK

DAY

HOUR

MINUTE

SECOND

Example
"UNKNOWN_INTERVAL"

BookingsServicesV2UpstreamCommonAggregationNestedAggregationNestedAggregationItemInput

Example
{
  "dateHistogram": BookingsServicesV2UpstreamCommonAggregationDateHistogramAggregationInput,
  "fieldPath": "abc123",
  "name": "abc123",
  "range": BookingsServicesV2UpstreamCommonAggregationRangeAggregationInput,
  "scalar": BookingsServicesV2UpstreamCommonAggregationScalarAggregationInput,
  "type": "UNKNOWN_AGGREGATION_TYPE",
  "value": BookingsServicesV2UpstreamCommonAggregationValueAggregationInput
}

BookingsServicesV2UpstreamCommonAggregationNestedAggregationNestedAggregationType

Values
Enum Value Description

UNKNOWN_AGGREGATION_TYPE

VALUE

RANGE

SCALAR

DATE_HISTOGRAM

Example
"UNKNOWN_AGGREGATION_TYPE"

BookingsServicesV2UpstreamCommonAggregationRangeAggregationRangeBucketInput

Fields
Input Field Description
from - Float Inclusive lower bound of the range. Required if to is not given.
to - Float Exclusive upper bound of the range. Required if from is not given.
Example
{"from": 987.65, "to": 123.45}

BookingsServicesV2UpstreamCommonAggregationValueAggregationIncludeMissingValuesOptionsInput

Fields
Input Field Description
addToBucket - String can specify custom bucket name. Defaults are [string -> "N/A"], [int -> "0"], [bool -> "false"] ...
Example
{"addToBucket": "abc123"}

BookingsServicesV2UpstreamCommonAggregationValueAggregationMissingValues

Values
Enum Value Description

EXCLUDE

INCLUDE

Example
"EXCLUDE"

BookingsServicesV2UpstreamCommonAggregationValueAggregationSortDirection

Values
Enum Value Description

DESC

ASC

Example
"DESC"

BookingsServicesV2UpstreamCommonAggregationValueAggregationSortType

Values
Enum Value Description

COUNT

VALUE

Example
"COUNT"

BookingsServicesV2UpstreamCommonSearchDetailsMode

Values
Enum Value Description

OR

Any

AND

All
Example
"OR"

BookingsUpstreamCommonAddress

Fields
Field Name Description
addressLine - String Main address line, usually street and number, as free text.
addressLine2 - String Free text providing more detailed address info. Usually contains Apt, Suite, and Floor.
city - String City name.
country - String Country code.
countryFullname - String Country full name.
formattedAddress - String A string containing the full address of this location.
geocode - BookingsUpstreamCommonAddressLocation Coordinates of the physical address.
hint - String Free text to help find the address.
postalCode - String Zip/postal code.
streetAddress - BookingsUpstreamCommonStreetAddress Street name, number and apartment number.
subdivision - String Subdivision. Usually state, region, prefecture or province code, according to ISO 3166-2.
subdivisions - [BookingsUpstreamCommonSubdivision] Multi-level subdivisions from top to bottom.
Example
{
  "addressLine": "xyz789",
  "addressLine2": "abc123",
  "city": "abc123",
  "country": "abc123",
  "countryFullname": "abc123",
  "formattedAddress": "abc123",
  "geocode": BookingsUpstreamCommonAddressLocation,
  "hint": "abc123",
  "postalCode": "abc123",
  "streetAddress": BookingsUpstreamCommonStreetAddress,
  "subdivision": "abc123",
  "subdivisions": [BookingsUpstreamCommonSubdivision]
}

BookingsUpstreamCommonAddressLocation

Fields
Field Name Description
latitude - Float Address latitude.
longitude - Float Address longitude.
Example
{"latitude": 987.65, "longitude": 123.45}

BookingsUpstreamCommonStreetAddress

Fields
Field Name Description
apt - String Apartment number.
name - String Street name.
number - String Street number.
Example
{
  "apt": "xyz789",
  "name": "xyz789",
  "number": "abc123"
}

BookingsUpstreamCommonSubdivision

Fields
Field Name Description
code - String Subdivision code. Usually state, region, prefecture or province code, according to ISO 3166-2.
name - String Subdivision full name.
Example
{
  "code": "xyz789",
  "name": "xyz789"
}

BookingsBookingPoliciesV1BookingPolicyRequestInput

Fields
Input Field Description
id - ID!
Example
{"id": "4"}
V1

BookingsV1BookAfterStartPolicy

Fields
Field Name Description
enabled - Boolean

Whether booking is allowed after the start of the schedule. When true, customers can book after the start of the schedule.

Default: false

Example
{"enabled": true}
V1

BookingsV1BookAfterStartPolicyInput

Fields
Input Field Description
enabled - Boolean

Whether booking is allowed after the start of the schedule. When true, customers can book after the start of the schedule.

Default: false

Example
{"enabled": true}
V1

BookingsV1BookingPolicy

Fields
Field Name Description
bookAfterStartPolicy - BookingsV1BookAfterStartPolicy Rule for booking after the start of the schedule.
cancellationFeePolicy - BookingsV1CancellationFeePolicy Rules for cancellation fees.
cancellationPolicy - BookingsV1CancellationPolicy Rule for canceling a booking.
createdDate - String Date and time the booking policy was created.
customPolicyDescription - BookingsV1PolicyDescription Custom description for the booking policy and whether the booking policy is displayed to the participant.
default - Boolean Whether the booking policy is the default.
id - String Booking policy ID.
limitEarlyBookingPolicy - BookingsV1LimitEarlyBookingPolicy Rule for limiting early bookings.
limitLateBookingPolicy - BookingsV1LimitLateBookingPolicy Rule for limiting late bookings.
name - String
participantsPolicy - BookingsV1ParticipantsPolicy Rule for participants per booking.
reschedulePolicy - BookingsV1ReschedulePolicy Rule for rescheduling a booking.
resourcesPolicy - BookingsV1ResourcesPolicy Rule for allocating resources.
revision - Long Revision number, which increments by 1 each time the booking policy is updated. To prevent conflicting changes, the current `revision`` must be passed when updating the booking policy.
saveCreditCardPolicy - BookingsV1SaveCreditCardPolicy Rule for saving credit card.
updatedDate - String Date and time the booking policy was updated.
waitlistPolicy - BookingsV1WaitlistPolicy Waitlist rule for the service.
Example
{
  "bookAfterStartPolicy": BookingsV1BookAfterStartPolicy,
  "cancellationFeePolicy": BookingsV1CancellationFeePolicy,
  "cancellationPolicy": BookingsV1CancellationPolicy,
  "createdDate": "abc123",
  "customPolicyDescription": BookingsV1PolicyDescription,
  "default": true,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "limitEarlyBookingPolicy": BookingsV1LimitEarlyBookingPolicy,
  "limitLateBookingPolicy": BookingsV1LimitLateBookingPolicy,
  "name": "xyz789",
  "participantsPolicy": BookingsV1ParticipantsPolicy,
  "reschedulePolicy": BookingsV1ReschedulePolicy,
  "resourcesPolicy": BookingsV1ResourcesPolicy,
  "revision": {},
  "saveCreditCardPolicy": BookingsV1SaveCreditCardPolicy,
  "updatedDate": "xyz789",
  "waitlistPolicy": BookingsV1WaitlistPolicy
}
V1

BookingsV1BookingPolicyInput

Fields
Input Field Description
bookAfterStartPolicy - BookingsV1BookAfterStartPolicyInput Rule for booking after the start of the schedule.
cancellationFeePolicy - BookingsV1CancellationFeePolicyInput Rules for cancellation fees.
cancellationPolicy - BookingsV1CancellationPolicyInput Rule for canceling a booking.
createdDate - String Date and time the booking policy was created.
customPolicyDescription - BookingsV1PolicyDescriptionInput Custom description for the booking policy and whether the booking policy is displayed to the participant.
default - Boolean Whether the booking policy is the default.
id - String Booking policy ID.
limitEarlyBookingPolicy - BookingsV1LimitEarlyBookingPolicyInput Rule for limiting early bookings.
limitLateBookingPolicy - BookingsV1LimitLateBookingPolicyInput Rule for limiting late bookings.
name - String
participantsPolicy - BookingsV1ParticipantsPolicyInput Rule for participants per booking.
reschedulePolicy - BookingsV1ReschedulePolicyInput Rule for rescheduling a booking.
resourcesPolicy - BookingsV1ResourcesPolicyInput Rule for allocating resources.
revision - Long Revision number, which increments by 1 each time the booking policy is updated. To prevent conflicting changes, the current `revision`` must be passed when updating the booking policy.
saveCreditCardPolicy - BookingsV1SaveCreditCardPolicyInput Rule for saving credit card.
updatedDate - String Date and time the booking policy was updated.
waitlistPolicy - BookingsV1WaitlistPolicyInput Waitlist rule for the service.
Example
{
  "bookAfterStartPolicy": BookingsV1BookAfterStartPolicyInput,
  "cancellationFeePolicy": BookingsV1CancellationFeePolicyInput,
  "cancellationPolicy": BookingsV1CancellationPolicyInput,
  "createdDate": "abc123",
  "customPolicyDescription": BookingsV1PolicyDescriptionInput,
  "default": true,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "limitEarlyBookingPolicy": BookingsV1LimitEarlyBookingPolicyInput,
  "limitLateBookingPolicy": BookingsV1LimitLateBookingPolicyInput,
  "name": "xyz789",
  "participantsPolicy": BookingsV1ParticipantsPolicyInput,
  "reschedulePolicy": BookingsV1ReschedulePolicyInput,
  "resourcesPolicy": BookingsV1ResourcesPolicyInput,
  "revision": {},
  "saveCreditCardPolicy": BookingsV1SaveCreditCardPolicyInput,
  "updatedDate": "abc123",
  "waitlistPolicy": BookingsV1WaitlistPolicyInput
}
V1

BookingsV1CancellationFeePolicy

Fields
Field Name Description
autoCollectFeeEnabled - Boolean

Whether the cancellation fee should not be automatically collected when customer cancels the booking.

Default: true

cancellationWindows - [BookingsV1CancellationFeePolicyCancellationWindow] Cancellation windows describing the time of cancellation and the fee to charge.
enabled - Boolean

Whether canceling a booking will result in a cancellation fee

Default: false

Example
{
  "autoCollectFeeEnabled": false,
  "cancellationWindows": [
    BookingsV1CancellationFeePolicyCancellationWindow
  ],
  "enabled": false
}
V1

BookingsV1CancellationFeePolicyInput

Fields
Input Field Description
autoCollectFeeEnabled - Boolean

Whether the cancellation fee should not be automatically collected when customer cancels the booking.

Default: true

cancellationWindows - [BookingsV1CancellationFeePolicyCancellationWindowInput] Cancellation windows describing the time of cancellation and the fee to charge.
enabled - Boolean

Whether canceling a booking will result in a cancellation fee

Default: false

Example
{
  "autoCollectFeeEnabled": true,
  "cancellationWindows": [
    BookingsV1CancellationFeePolicyCancellationWindowInput
  ],
  "enabled": false
}
V1

BookingsV1CancellationPolicy

Fields
Field Name Description
enabled - Boolean

Whether canceling a booking is allowed. When true, customers can cancel the booking.

Default: false

latestCancellationInMinutes - Int

Minimum number of minutes before the start of the booked session that the booking can be canceled.

Default: 1440 minutes (1 day) Min: 1 minute

limitLatestCancellation - Boolean

Whether there is a limit on the latest cancellation time. When true, a time limit is enforced.

Default: false

Example
{
  "enabled": false,
  "latestCancellationInMinutes": 987,
  "limitLatestCancellation": false
}
V1

BookingsV1CancellationPolicyInput

Fields
Input Field Description
enabled - Boolean

Whether canceling a booking is allowed. When true, customers can cancel the booking.

Default: false

latestCancellationInMinutes - Int

Minimum number of minutes before the start of the booked session that the booking can be canceled.

Default: 1440 minutes (1 day) Min: 1 minute

limitLatestCancellation - Boolean

Whether there is a limit on the latest cancellation time. When true, a time limit is enforced.

Default: false

Example
{
  "enabled": true,
  "latestCancellationInMinutes": 123,
  "limitLatestCancellation": true
}
V1

BookingsV1CountBookingPoliciesRequestInput

Fields
Input Field Description
filter - JSON The filters to perform the count by.
Example
{"filter": {}}
V1

BookingsV1CountBookingPoliciesResponse

Fields
Field Name Description
count - Int The number of Booking Policies matching the provided filter in the request.
Example
{"count": 987}
V1

BookingsV1CreateBookingPolicyRequestInput

Fields
Input Field Description
bookingPolicy - BookingsV1BookingPolicyInput Booking policy to be created
Example
{"bookingPolicy": BookingsV1BookingPolicyInput}
V1

BookingsV1CreateBookingPolicyResponse

Fields
Field Name Description
bookingPolicy - BookingsV1BookingPolicy The created booking policy
Example
{"bookingPolicy": BookingsV1BookingPolicy}
V1

BookingsV1DeleteBookingPolicyRequestInput

Fields
Input Field Description
bookingPolicyId - String ID of the booking policy to delete
Example
{"bookingPolicyId": "62b7b87d-a24a-434d-8666-e270489eac09"}
V1

BookingsV1GetStrictestBookingPolicyRequestInput

Fields
Input Field Description
bookingPolicyIds - [String] IDs of the booking policies to retrieve the strictest rules from.
Example
{"bookingPolicyIds": ["xyz789"]}
V1

BookingsV1GetStrictestBookingPolicyResponse

Fields
Field Name Description
bookingPolicy - BookingsV1BookingPolicy Object with the strictest rules
Example
{"bookingPolicy": BookingsV1BookingPolicy}
V1

BookingsV1LimitEarlyBookingPolicy

Fields
Field Name Description
earliestBookingInMinutes - Int

Maximum number of minutes before the start of the session that a booking can be made. This value must be greater than latest_booking_in_minutes in the LimitLateBookingPolicy rule.

Default: 10080 minutes (7 days) Min: 1 minute

enabled - Boolean

Whether there is a limit on how early a customer can book. When false, there is no limit to the earliest customers can book in advance.

Default: false

Example
{"earliestBookingInMinutes": 123, "enabled": true}
V1

BookingsV1LimitEarlyBookingPolicyInput

Fields
Input Field Description
earliestBookingInMinutes - Int

Maximum number of minutes before the start of the session that a booking can be made. This value must be greater than latest_booking_in_minutes in the LimitLateBookingPolicy rule.

Default: 10080 minutes (7 days) Min: 1 minute

enabled - Boolean

Whether there is a limit on how early a customer can book. When false, there is no limit to the earliest customers can book in advance.

Default: false

Example
{"earliestBookingInMinutes": 123, "enabled": true}
V1

BookingsV1LimitLateBookingPolicy

Fields
Field Name Description
enabled - Boolean

Whether there is a limit on how late a customer can book. When false, there is no limit on the latest booking time and customers can book up to the last minute.

Default: false

latestBookingInMinutes - Int

Minimum number of minutes before the start of the session that a booking can be made. For a schedule, this is relative to the start time of the next booked session, excluding past-booked sessions. This value must be less than earliest_booking_in_minutes in the LimitEarlyBookingPolicy rule.

Default: 1440 minutes (1 day) Min: 1 minute

Example
{"enabled": true, "latestBookingInMinutes": 987}
V1

BookingsV1LimitLateBookingPolicyInput

Fields
Input Field Description
enabled - Boolean

Whether there is a limit on how late a customer can book. When false, there is no limit on the latest booking time and customers can book up to the last minute.

Default: false

latestBookingInMinutes - Int

Minimum number of minutes before the start of the session that a booking can be made. For a schedule, this is relative to the start time of the next booked session, excluding past-booked sessions. This value must be less than earliest_booking_in_minutes in the LimitEarlyBookingPolicy rule.

Default: 1440 minutes (1 day) Min: 1 minute

Example
{"enabled": false, "latestBookingInMinutes": 987}
V1

BookingsV1ParticipantsPolicy

Fields
Field Name Description
maxParticipantsPerBooking - Int

Maximum number of participants allowed.

Default: 1 participant Min: 1 participant

Example
{"maxParticipantsPerBooking": 123}
V1

BookingsV1ParticipantsPolicyInput

Fields
Input Field Description
maxParticipantsPerBooking - Int

Maximum number of participants allowed.

Default: 1 participant Min: 1 participant

Example
{"maxParticipantsPerBooking": 987}
V1

BookingsV1PolicyDescription

Fields
Field Name Description
description - String

The description to display.

Default: Empty Max length: 2500 characters

enabled - Boolean

Whether the description should be displayed. If true, the description is displayed.

Default: false

Example
{"description": "abc123", "enabled": true}
V1

BookingsV1PolicyDescriptionInput

Fields
Input Field Description
description - String

The description to display.

Default: Empty Max length: 2500 characters

enabled - Boolean

Whether the description should be displayed. If true, the description is displayed.

Default: false

Example
{"description": "xyz789", "enabled": true}
V1

BookingsV1QueryBookingPoliciesRequestInput

Fields
Input Field Description
query - BookingsV1UpstreamCommonCursorQueryInput WQL expression
Example
{"query": BookingsV1UpstreamCommonCursorQueryInput}
V1

BookingsV1QueryBookingPoliciesResponse

Fields
Field Name Description
items - [BookingsV1BookingPolicy] Query results
pageInfo - PageInfo Pagination data
Example
{
  "items": [BookingsV1BookingPolicy],
  "pageInfo": PageInfo
}
V1

BookingsV1ReschedulePolicy

Fields
Field Name Description
enabled - Boolean

Whether rescheduling a booking is allowed. When true, customers can reschedule the booking.

Default: false

latestRescheduleInMinutes - Int

Minimum number of minutes before the start of the booked session that the booking can be rescheduled.

Default: 1440 minutes (1 day) Min: 1 minute

limitLatestReschedule - Boolean

Whether there is a limit on the latest reschedule time. When true, a time limit is enforced.

Default: false

Example
{
  "enabled": false,
  "latestRescheduleInMinutes": 123,
  "limitLatestReschedule": true
}
V1

BookingsV1ReschedulePolicyInput

Fields
Input Field Description
enabled - Boolean

Whether rescheduling a booking is allowed. When true, customers can reschedule the booking.

Default: false

latestRescheduleInMinutes - Int

Minimum number of minutes before the start of the booked session that the booking can be rescheduled.

Default: 1440 minutes (1 day) Min: 1 minute

limitLatestReschedule - Boolean

Whether there is a limit on the latest reschedule time. When true, a time limit is enforced.

Default: false

Example
{
  "enabled": true,
  "latestRescheduleInMinutes": 987,
  "limitLatestReschedule": false
}
V1

BookingsV1ResourcesPolicy

Fields
Field Name Description
autoAssignAllowed - Boolean

true, if it is allowed to automatically assign a resource when booking an appointment, false, if the client must always select a resource.

Default: false

enabled - Boolean true if this rule is enabled, false otherwise. When false then the client must always select a resource when booking an appointment.
Example
{"autoAssignAllowed": false, "enabled": true}
V1

BookingsV1ResourcesPolicyInput

Fields
Input Field Description
autoAssignAllowed - Boolean

true, if it is allowed to automatically assign a resource when booking an appointment, false, if the client must always select a resource.

Default: false

enabled - Boolean true if this rule is enabled, false otherwise. When false then the client must always select a resource when booking an appointment.
Example
{"autoAssignAllowed": false, "enabled": true}
V1

BookingsV1SaveCreditCardPolicy

Fields
Field Name Description
enabled - Boolean

Whether customer credit card details should be stored.

Default: false

Example
{"enabled": true}
V1

BookingsV1SaveCreditCardPolicyInput

Fields
Input Field Description
enabled - Boolean

Whether customer credit card details should be stored.

Default: false

Example
{"enabled": false}
V1

BookingsV1SetDefaultBookingPolicyRequestInput

Fields
Input Field Description
bookingPolicyId - String The ID of the booking policy that will be set as default booking policy.
Example
{"bookingPolicyId": "62b7b87d-a24a-434d-8666-e270489eac09"}
V1

BookingsV1SetDefaultBookingPolicyResponse

Fields
Field Name Description
currentDefaultBookingPolicy - BookingsV1BookingPolicy The updated booking policy that is the new default.
previousDefaultBookingPolicy - BookingsV1BookingPolicy The booking policy that was the default before this endpoint was called. This field will be empty if there was no default policy or if the supplied booking policy was already the default.
Example
{
  "currentDefaultBookingPolicy": BookingsV1BookingPolicy,
  "previousDefaultBookingPolicy": BookingsV1BookingPolicy
}
V1

BookingsV1UpdateBookingPolicyRequestInput

Fields
Input Field Description
bookingPolicy - BookingsV1BookingPolicyInput The booking policy to be updated, may be partial
Example
{"bookingPolicy": BookingsV1BookingPolicyInput}
V1

BookingsV1UpdateBookingPolicyResponse

Fields
Field Name Description
bookingPolicy - BookingsV1BookingPolicy The updated booking policy
Example
{"bookingPolicy": BookingsV1BookingPolicy}
V1

BookingsV1WaitlistPolicy

Fields
Field Name Description
capacity - Int

Number of spots available in the waitlist.

Default: 10 spots Min: 1 spot

enabled - Boolean

Whether the session has a waitlist. If true, there is a waitlist.

Default: false

reservationTimeInMinutes - Int

Amount of time a participant is given to book, once notified that a spot is available.

Default: 10 minutes Min: 1 spot

Example
{"capacity": 987, "enabled": true, "reservationTimeInMinutes": 123}
V1

BookingsV1WaitlistPolicyInput

Fields
Input Field Description
capacity - Int

Number of spots available in the waitlist.

Default: 10 spots Min: 1 spot

enabled - Boolean

Whether the session has a waitlist. If true, there is a waitlist.

Default: false

reservationTimeInMinutes - Int

Amount of time a participant is given to book, once notified that a spot is available.

Default: 10 minutes Min: 1 spot

Example
{"capacity": 123, "enabled": true, "reservationTimeInMinutes": 123}

BookingsV1CancellationFeePolicyCancellationWindow

Fields
Field Name Description
amount - BookingsV1UpstreamCommonMoney Amount to be charged as a cancellation fee.
percentage - String Percentage of the original price to be charged as a cancellation fee.
startInMinutes - Int The fee will be applied if the booked session starts within this start time in minutes.
Example
{
  "amount": BookingsV1UpstreamCommonMoney,
  "percentage": "xyz789",
  "startInMinutes": 123
}

BookingsV1CancellationFeePolicyCancellationWindowInput

Fields
Input Field Description
amount - BookingsV1UpstreamCommonMoneyInput Amount to be charged as a cancellation fee.
percentage - String Percentage of the original price to be charged as a cancellation fee.
startInMinutes - Int The fee will be applied if the booked session starts within this start time in minutes.
Example
{
  "amount": BookingsV1UpstreamCommonMoneyInput,
  "percentage": "abc123",
  "startInMinutes": 123
}

BookingsV1UpstreamCommonCursorPagingInput

Fields
Input Field Description
cursor - String

Pointer to the next or previous page in the list of results.

You can get the relevant cursor token from the pagingMetadata object in the previous call's response. Not relevant for the first request.

limit - Int Number of items to load.
Example
{"cursor": "xyz789", "limit": 123}

BookingsV1UpstreamCommonCursorQueryInput

Fields
Input Field Description
cursorPaging - BookingsV1UpstreamCommonCursorPagingInput Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not filter or sort.
filter - JSON Filter object in the following format: "filter" : { "fieldName1": "value1", "fieldName2":{"$operator":"value2"} } Example of operators: $eq, $ne, $lt, $lte, $gt, $gte, $in, $hasSome, $hasAll, $startsWith, $contains
sort - [BookingsV1UpstreamCommonSortingInput] Sort object in the following format: [{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]
Example
{
  "cursorPaging": BookingsV1UpstreamCommonCursorPagingInput,
  "filter": {},
  "sort": [BookingsV1UpstreamCommonSortingInput]
}

BookingsV1UpstreamCommonMoney

Fields
Field Name Description
currency - String Currency code. Must be valid ISO 4217 currency code (e.g., USD).
formattedValue - String Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.
value - String Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.
Example
{
  "currency": "abc123",
  "formattedValue": "xyz789",
  "value": "abc123"
}

BookingsV1UpstreamCommonMoneyInput

Fields
Input Field Description
currency - String Currency code. Must be valid ISO 4217 currency code (e.g., USD).
formattedValue - String Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.
value - String Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.
Example
{
  "currency": "xyz789",
  "formattedValue": "xyz789",
  "value": "abc123"
}

BookingsV1UpstreamCommonSortOrder

Values
Enum Value Description

ASC

DESC

Example
"ASC"

BookingsV1UpstreamCommonSortingInput

Fields
Input Field Description
fieldName - String Name of the field to sort by.
order - BookingsV1UpstreamCommonSortOrder Sort order.
Example
{"fieldName": "abc123", "order": "ASC"}

CatalogV1AddProductMediaRequestInput

Fields
Input Field Description
id - String Product ID.
media - [CatalogV1MediaDataForWriteInput] Sources of media items already uploaded to the Wix site.
Example
{
  "id": "abc123",
  "media": [CatalogV1MediaDataForWriteInput]
}
V1

CatalogV1AddProductMediaToChoicesRequestInput

Fields
Input Field Description
id - String Product ID.
media - [CatalogV1MediaAssignmentToChoiceInput] Product media items and the choices to add the media to.
Example
{
  "id": "xyz789",
  "media": [CatalogV1MediaAssignmentToChoiceInput]
}
V1

CatalogV1AddProductsToCollectionRequestInput

Fields
Input Field Description
id - String Collection ID.
productIds - [String] IDs of the products to add to the collection, separated by commas.
Example
{
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "productIds": ["abc123"]
}
V1

CatalogV1AdditionalInfoSection

Fields
Field Name Description
description - String Product info section description
title - String Product info section title
Example
{
  "description": "xyz789",
  "title": "abc123"
}
V1

CatalogV1AdditionalInfoSectionInput

Fields
Input Field Description
description - String Product info section description
title - String Product info section title
Example
{
  "description": "abc123",
  "title": "xyz789"
}
V1

CatalogV1AdjustValueInput

Fields
Input Field Description
cost - CatalogV1PropertyAdjustmentDataInput Adjust product cost of goods. If variant management is enabled, cost of goods will be adjusted per variant.
price - CatalogV1PropertyAdjustmentDataInput Adjust product price. If variant management is enabled, variants prices will be calculated according to the adjusted price. If variant price is negative after the adjustment, the update will fail.
weight - CatalogV1PropertyAdjustmentDataInput Adjust product weight. If variant management is enabled, weight will be adjusted per variant.
Example
{
  "cost": CatalogV1PropertyAdjustmentDataInput,
  "price": CatalogV1PropertyAdjustmentDataInput,
  "weight": CatalogV1PropertyAdjustmentDataInput
}
V1

CatalogV1BulkAdjustProductPropertiesRequestInput

Fields
Input Field Description
adjust - CatalogV1AdjustValueInput Numerical property to adjust.
ids - [String] Product IDs.
Example
{
  "adjust": CatalogV1AdjustValueInput,
  "ids": ["abc123"]
}
V1

CatalogV1BulkAdjustProductPropertiesResponse

Fields
Field Name Description
bulkActionMetadata - CommonBulkActionMetadata Bulk action metadata.
results - [CatalogV1BulkProductResult] Bulk action results.
Example
{
  "bulkActionMetadata": CommonBulkActionMetadata,
  "results": [CatalogV1BulkProductResult]
}
V1

CatalogV1BulkProductResult

Fields
Field Name Description
itemMetadata - CommonItemMetadata Item metadata.
Example
{"itemMetadata": CommonItemMetadata}
V1

CatalogV1BulkUpdateProductsRequestInput

Fields
Input Field Description
ids - [String] Product IDs.
set - CatalogV1SetValueInput Field to update.
Example
{
  "ids": ["xyz789"],
  "set": CatalogV1SetValueInput
}
V1

CatalogV1BulkUpdateProductsResponse

Fields
Field Name Description
bulkActionMetadata - CommonBulkActionMetadata Bulk action metadata.
results - [CatalogV1BulkProductResult] Bulk action results.
Example
{
  "bulkActionMetadata": CommonBulkActionMetadata,
  "results": [CatalogV1BulkProductResult]
}
V1

CatalogV1Choice

Fields
Field Name Description
description - String Choice description.
inStock - Boolean Based on the customer’s choices, which (if any) variants that include the selected choices are in stock
media - CatalogV1Media Media items (images, videos) associated with this choice
value - String Choice value.
visible - Boolean Based on the customer’s choices, which (if any) variants that include the selected choices are visible
Example
{
  "description": "abc123",
  "inStock": false,
  "media": CatalogV1Media,
  "value": "abc123",
  "visible": false
}
V1

CatalogV1ChoiceInput

Fields
Input Field Description
description - String Choice description.
inStock - Boolean Based on the customer’s choices, which (if any) variants that include the selected choices are in stock
media - CatalogV1MediaInput Media items (images, videos) associated with this choice
value - String Choice value.
visible - Boolean Based on the customer’s choices, which (if any) variants that include the selected choices are visible
Example
{
  "description": "xyz789",
  "inStock": true,
  "media": CatalogV1MediaInput,
  "value": "abc123",
  "visible": false
}
V1

CatalogV1Collection

Fields
Field Name Description
description - String Collection description.
id - String Collection ID (generated automatically by the catalog).
media - CatalogV1Media Media items (images, videos etc) associated with this collection. Read only.
name - String Collection name.
numberOfProducts - Int Number of products in the collection. Read only.
products - CatalogV1QueryProductsPlatformizedResponse
slug - String Collection slug.
visible - Boolean Collection visibility. Only impacts dynamic pages, no impact on static pages. Default: true.
Example
{
  "description": "abc123",
  "id": "abc123",
  "media": CatalogV1Media,
  "name": "abc123",
  "numberOfProducts": 123,
  "products": CatalogV1QueryProductsPlatformizedResponse,
  "slug": "xyz789",
  "visible": true
}
V1

CatalogV1CollectionInput

Fields
Input Field Description
description - String Collection description.
id - String Collection ID (generated automatically by the catalog).
media - CatalogV1MediaInput Media items (images, videos etc) associated with this collection. Read only.
name - String Collection name.
numberOfProducts - Int Number of products in the collection. Read only.
slug - String Collection slug.
visible - Boolean Collection visibility. Only impacts dynamic pages, no impact on static pages. Default: true.
Example
{
  "description": "xyz789",
  "id": "abc123",
  "media": CatalogV1MediaInput,
  "name": "xyz789",
  "numberOfProducts": 987,
  "slug": "xyz789",
  "visible": true
}
V1

CatalogV1CostAndProfitData

Fields
Field Name Description
formattedItemCost - String Item cost formatted with currency symbol.
formattedProfit - String Profit formatted with currency symbol.
itemCost - Float Item cost.
profit - Float Profit. Calculated by reducing cost from discounted_price.
profitMargin - Float Profit Margin. Calculated by dividing profit by discounted_price. The result is rounded to 4 decimal places.
Example
{
  "formattedItemCost": "abc123",
  "formattedProfit": "abc123",
  "itemCost": 123.45,
  "profit": 123.45,
  "profitMargin": 987.65
}
V1

CatalogV1CostAndProfitDataInput

Fields
Input Field Description
formattedItemCost - String Item cost formatted with currency symbol.
formattedProfit - String Profit formatted with currency symbol.
itemCost - Float Item cost.
profit - Float Profit. Calculated by reducing cost from discounted_price.
profitMargin - Float Profit Margin. Calculated by dividing profit by discounted_price. The result is rounded to 4 decimal places.
Example
{
  "formattedItemCost": "xyz789",
  "formattedProfit": "xyz789",
  "itemCost": 123.45,
  "profit": 987.65,
  "profitMargin": 987.65
}
V1

CatalogV1CreateCollectionRequestInput

Fields
Input Field Description
collection - CatalogV1CollectionInput Collection info.
Example
{"collection": CatalogV1CollectionInput}
V1

CatalogV1CreateCollectionResponse

Fields
Field Name Description
collection - CatalogV1Collection Collection.
Example
{"collection": CatalogV1Collection}
V1

CatalogV1CreateProductPlatformizedRequestInput

Fields
Input Field Description
product - CatalogV1ProductInput Product information.
Example
{"product": CatalogV1ProductInput}
V1

CatalogV1CreateProductPlatformizedResponse

Fields
Field Name Description
product - CatalogV1Product
Example
{"product": CatalogV1Product}
V1

CatalogV1CreateProductRequestInput

Fields
Input Field Description
product - CatalogV1ProductInput Product information.
Example
{"product": CatalogV1ProductInput}
V1

CatalogV1CreateProductResponse

Fields
Field Name Description
product - CatalogV1Product
Example
{"product": CatalogV1Product}
V1

CatalogV1CustomTextField

Fields
Field Name Description
mandatory - Boolean Whether this text box is mandatory
maxLength - Int Text box input max length
title - String Text box title
Example
{
  "mandatory": true,
  "maxLength": 987,
  "title": "abc123"
}
V1

CatalogV1CustomTextFieldInput

Fields
Input Field Description
mandatory - Boolean Whether this text box is mandatory
maxLength - Int Text box input max length
title - String Text box title
Example
{
  "mandatory": true,
  "maxLength": 123,
  "title": "abc123"
}
V1

CatalogV1DeleteCollectionRequestInput

Fields
Input Field Description
id - String ID of the collection to delete.
Example
{"id": "62b7b87d-a24a-434d-8666-e270489eac09"}
V1

CatalogV1DeleteProductOptionsRequestInput

Fields
Input Field Description
id - String ID of the product with options to delete.
Example
{"id": "abc123"}
V1

CatalogV1DeleteProductPlatformizedRequestInput

Fields
Input Field Description
id - String ID of the product to delete.
Example
{"id": "abc123"}
V1

CatalogV1DeleteProductRequestInput

Fields
Input Field Description
id - String ID of the product to delete.
Example
{"id": "abc123"}
V1

CatalogV1Discount

Fields
Field Name Description
type - CatalogV1DiscountDiscountType

Discount type:

  • "AMOUNT"
  • "PERCENT"
value - Float Discount value
Example
{"type": "UNDEFINED", "value": 987.65}
V1

CatalogV1DiscountInput

Fields
Input Field Description
type - CatalogV1DiscountDiscountType

Discount type:

  • "AMOUNT"
  • "PERCENT"
value - Float Discount value
Example
{"type": "UNDEFINED", "value": 987.65}
V1

CatalogV1FormattedPrice

Fields
Field Name Description
discountedPrice - String Discounted product price formatted with the currency (if no discounted price is set, the product formatted price is returned)
price - String Product price formatted with the currency
pricePerUnit - String Price per unit
Example
{
  "discountedPrice": "xyz789",
  "price": "xyz789",
  "pricePerUnit": "xyz789"
}
V1

CatalogV1FormattedPriceInput

Fields
Input Field Description
discountedPrice - String Discounted product price formatted with the currency (if no discounted price is set, the product formatted price is returned)
price - String Product price formatted with the currency
pricePerUnit - String Price per unit
Example
{
  "discountedPrice": "xyz789",
  "price": "xyz789",
  "pricePerUnit": "xyz789"
}
V1

CatalogV1GetCollectionBySlugRequestInput

Fields
Input Field Description
slug - String Slug of the collection to retrieve.
Example
{"slug": "abc123"}
V1

CatalogV1GetCollectionBySlugResponse

Fields
Field Name Description
collection - CatalogV1Collection The requested collection.
Example
{"collection": CatalogV1Collection}
V1

CatalogV1GetProductRequestInput

Fields
Input Field Description
id - String Requested product ID.
includeMerchantSpecificData - Boolean Whether merchant specific data, such as cost and profit data, should be included in the response. Requires permissions to manage products.
Example
{
  "id": "abc123",
  "includeMerchantSpecificData": true
}
V1

CatalogV1GetProductResponse

Fields
Field Name Description
product - CatalogV1Product Requested product data.
Example
{"product": CatalogV1Product}
V1

CatalogV1GetStoreVariantRequestInput

Fields
Input Field Description
id - String Store variant ID. Comprised of the productId and the variantId, separated by a hyphen. For example, {productId}-{variantId}.
Example
{"id": "xyz789"}
V1

CatalogV1GetStoreVariantResponse

Fields
Field Name Description
variant - CatalogV1StoreVariant The requested store variant.
Example
{"variant": CatalogV1StoreVariant}
V1

CatalogV1Media

Fields
Field Name Description
items - [CatalogV1MediaItem] Media (images, videos etc) associated with this product.
mainMedia - CatalogV1MediaItem Primary media (image, video etc) associated with this product.
Example
{
  "items": [CatalogV1MediaItem],
  "mainMedia": CatalogV1MediaItem
}
V1

CatalogV1MediaAssignmentToChoiceInput

Fields
Input Field Description
choice - String Choice name.
mediaIds - [String] Media IDs (available via the Query Product endpoint).
option - String Option name.
Example
{
  "choice": "abc123",
  "mediaIds": ["xyz789"],
  "option": "abc123"
}
V1

CatalogV1MediaDataForWriteInput

Fields
Input Field Description
choice - CatalogV1MediaDataForWriteOptionAndChoiceInput Assign this media item to a specific product choice. Note that you may set media items for choices under only one option (e.g., if Colors blue, green, and red have media items, Sizes S, M, and L can't have media items assigned to them). You may clear existing media from choices with the Remove Product Media From Choices.
mediaId - String Media ID. For media items previously saved in Wix Media, the media ID is returned in the Query Product response.
url - String Media external URL (for new media items).
Example
{
  "choice": CatalogV1MediaDataForWriteOptionAndChoiceInput,
  "mediaId": "xyz789",
  "url": "abc123"
}
V1

CatalogV1MediaInput

Fields
Input Field Description
items - [CatalogV1MediaItemInput] Media (images, videos etc) associated with this product.
mainMedia - CatalogV1MediaItemInput Primary media (image, video etc) associated with this product.
Example
{
  "items": [CatalogV1MediaItemInput],
  "mainMedia": CatalogV1MediaItemInput
}
V1

CatalogV1MediaItem

Fields
Field Name Description
id - String Media ID (for example, "nsplsh_306d666a123a4a74306459~mv2_d_4517_2992_s_4_2.jpg").
image - CatalogV1MediaItemUrlAndSize Image data (URL, size).
mediaType - CatalogV1MediaItemType Media item type (image, video, etc.).
thumbnail - CatalogV1MediaItemUrlAndSize Media item thumbnail details.
title - String Media item title.
video - CatalogV1MediaItemVideo Video data (URL, size).
Example
{
  "id": "xyz789",
  "image": CatalogV1MediaItemUrlAndSize,
  "mediaType": "unspecified_media_item_type",
  "thumbnail": CatalogV1MediaItemUrlAndSize,
  "title": "xyz789",
  "video": CatalogV1MediaItemVideo
}
V1

CatalogV1MediaItemInput

Fields
Input Field Description
id - String Media ID (for example, "nsplsh_306d666a123a4a74306459~mv2_d_4517_2992_s_4_2.jpg").
image - CatalogV1MediaItemUrlAndSizeInput Image data (URL, size).
mediaType - CatalogV1MediaItemType Media item type (image, video, etc.).
thumbnail - CatalogV1MediaItemUrlAndSizeInput Media item thumbnail details.
title - String Media item title.
video - CatalogV1MediaItemVideoInput Video data (URL, size).
Example
{
  "id": "xyz789",
  "image": CatalogV1MediaItemUrlAndSizeInput,
  "mediaType": "unspecified_media_item_type",
  "thumbnail": CatalogV1MediaItemUrlAndSizeInput,
  "title": "abc123",
  "video": CatalogV1MediaItemVideoInput
}
V1

CatalogV1MediaItemType

Values
Enum Value Description

unspecified_media_item_type

image

video

audio

document

zip

Example
"unspecified_media_item_type"
V1

CatalogV1MediaItemUrlAndSize

Fields
Field Name Description
altText - String Alt text. This text will be shown in case the image is not available.
format - String Media format (mp4, png, etc.).
height - Int Media item height.
url - String Media item URL.
width - Int Media item width.
Example
{
  "altText": "abc123",
  "format": "xyz789",
  "height": 123,
  "url": "xyz789",
  "width": 123
}
V1

CatalogV1MediaItemUrlAndSizeInput

Fields
Input Field Description
altText - String Alt text. This text will be shown in case the image is not available.
format - String Media format (mp4, png, etc.).
height - Int Media item height.
url - String Media item URL.
width - Int Media item width.
Example
{
  "altText": "xyz789",
  "format": "xyz789",
  "height": 987,
  "url": "xyz789",
  "width": 987
}
V1

CatalogV1MediaItemVideo

Fields
Field Name Description
files - [CatalogV1MediaItemUrlAndSize] Data (URL, size) about each resolution for which this video is available.
stillFrameMediaId - String ID of an image taken from the video. Used primarily for Wix Search indexing. For example, "nsplsh_306d666a123a4a74306459~mv2_d_4517_2992_s_4_2.jpg".
Example
{
  "files": [CatalogV1MediaItemUrlAndSize],
  "stillFrameMediaId": "abc123"
}
V1

CatalogV1MediaItemVideoInput

Fields
Input Field Description
files - [CatalogV1MediaItemUrlAndSizeInput] Data (URL, size) about each resolution for which this video is available.
stillFrameMediaId - String ID of an image taken from the video. Used primarily for Wix Search indexing. For example, "nsplsh_306d666a123a4a74306459~mv2_d_4517_2992_s_4_2.jpg".
Example
{
  "files": [CatalogV1MediaItemUrlAndSizeInput],
  "stillFrameMediaId": "xyz789"
}
V1

CatalogV1OptionType

Values
Enum Value Description

unspecified_option_type

drop_down

color

Example
"unspecified_option_type"
V1

CatalogV1PageUrl

Fields
Field Name Description
base - String Base URL. For premium sites, this is the domain. For free sites, this is the site URL (e.g mysite.wixsite.com/mysite).
path - String Path to the product page - e.g /product-page/a-product.
Example
{
  "base": "abc123",
  "path": "abc123"
}
V1

CatalogV1PageUrlInput

Fields
Input Field Description
base - String Base URL. For premium sites, this is the domain. For free sites, this is the site URL (e.g mysite.wixsite.com/mysite).
path - String Path to the product page - e.g /product-page/a-product.
Example
{
  "base": "abc123",
  "path": "xyz789"
}
V1

CatalogV1PagingInput

Fields
Input Field Description
limit - Int Amount of items to load per page
offset - Int Number of items to skip in the display (relevant for all pages after the first)
Example
{"limit": 987, "offset": 123}
V1

CatalogV1PagingMetadata

Fields
Field Name Description
items - Int Amount of items to load per page
offset - Int Number of items to skip in the display (relevant for all pages after the first)
Example
{"items": 987, "offset": 123}
V1

CatalogV1PercentageDataInput

Fields
Input Field Description
rate - Int

Percentage value, as a whole number (integer) between -100 and 1000.

For example:

  • Pass 100 to increase value by 100% (multiply original value by 2).
  • Pass 1000 to increase value by 1000% (multiply original value by 10).
  • Pass -50 to decrease value by 50% (original value is halved).
roundToInt - Boolean If true, result will be rounded to the nearest whole number. If false, result will be rounded to 2 places after the decimal point.
Example
{"rate": 987, "roundToInt": true}
V1

CatalogV1PriceData

Fields
Field Name Description
currency - String Product price currency
discountedPrice - Float Discounted product price (if no discounted price is set, the product price is returned)
formatted - CatalogV1FormattedPrice The product price and discounted price, formatted with the currency
price - Float Product price
pricePerUnit - Float Price per unit
Example
{
  "currency": "abc123",
  "discountedPrice": 987.65,
  "formatted": CatalogV1FormattedPrice,
  "price": 987.65,
  "pricePerUnit": 987.65
}
V1

CatalogV1PriceDataInput

Fields
Input Field Description
currency - String Product price currency
discountedPrice - Float Discounted product price (if no discounted price is set, the product price is returned)
formatted - CatalogV1FormattedPriceInput The product price and discounted price, formatted with the currency
price - Float Product price
pricePerUnit - Float Price per unit
Example
{
  "currency": "abc123",
  "discountedPrice": 123.45,
  "formatted": CatalogV1FormattedPriceInput,
  "price": 123.45,
  "pricePerUnit": 987.65
}
V1

CatalogV1PricePerUnitData

Fields
Field Name Description
baseMeasurementUnit - EcommerceCommonsMeasurementUnitEnumMeasurementUnit Base measurement unit
baseQuantity - Float Base quantity
totalMeasurementUnit - EcommerceCommonsMeasurementUnitEnumMeasurementUnit Total measurement unit
totalQuantity - Float Total quantity
Example
{
  "baseMeasurementUnit": "UNSPECIFIED",
  "baseQuantity": 123.45,
  "totalMeasurementUnit": "UNSPECIFIED",
  "totalQuantity": 987.65
}
V1

CatalogV1PricePerUnitDataInput

Fields
Input Field Description
baseMeasurementUnit - EcommerceCommonsMeasurementUnitEnumMeasurementUnit Base measurement unit
baseQuantity - Float Base quantity
totalMeasurementUnit - EcommerceCommonsMeasurementUnitEnumMeasurementUnit Total measurement unit
totalQuantity - Float Total quantity
Example
{
  "baseMeasurementUnit": "UNSPECIFIED",
  "baseQuantity": 123.45,
  "totalMeasurementUnit": "UNSPECIFIED",
  "totalQuantity": 987.65
}
V1

CatalogV1Product

Fields
Field Name Description
additionalInfoSections - [CatalogV1AdditionalInfoSection] Additional text that the store owner can assign to the product (e.g. shipping details, refund policy, etc.).
brand - String Product brand. Including a brand name can help improve site and product visibility on search engines.
collectionIds - [String] A list of all collection IDs that this product is included in (writable via the Catalog > Collection APIs).
collections - CatalogV2QueryCollectionsResponse A list of all collection IDs that this product is included in (writable via the Catalog > Collection APIs).
Arguments
convertedPriceData - CatalogV1PriceData Price data, converted to the currency specified in request header.
costAndProfitData - CatalogV1CostAndProfitData Cost and profit data.
costRange - EcommerceCatalogSpiV1NumericPropertyRange Product cost range. The minimum and maximum costs of all the variants.
createdDate - String Date and time the product was created.
customTextFields - [CatalogV1CustomTextField] Text box for the customer to add a message to their order (e.g., customization request). Currently writable only from the UI.
description - String Product description. Accepts rich text.
discount - CatalogV1Discount Discount deducted from the product's original price.
id - String Product ID (generated automatically by the catalog).
inventoryItemId - String Inventory item ID - ID referencing the inventory system.
lastUpdated - String Date and time the product was last updated.
manageVariants - Boolean Whether variants are being managed for this product - enables unique SKU, price and weight per variant. Also affects inventory data.
media - CatalogV1Media Media items (images, videos etc) associated with this product (writable via Add Product Media endpoint).
name - String

Product name.

Min: 1 character Max: 80 characters

numericId - Long Product’s unique numeric ID (assigned in ascending order). Primarily used for sorting and filtering when crawling all products.
price - CatalogV1PriceData Deprecated (use priceData instead).
priceData - CatalogV1PriceData Price data.
pricePerUnitData - CatalogV1PricePerUnitData Price per unit data.
priceRange - EcommerceCatalogSpiV1NumericPropertyRange Product price range. The minimum and maximum prices of all the variants.
productOptions - [CatalogV1ProductOption] Options for this product.
productPageUrl - CatalogV1PageUrl Product page URL for this product (generated automatically by the server).
productType - CatalogV1ProductType Currently, only creating physical products ( "productType": "physical" ) is supported via the API.
ribbon - String Product ribbon. Used to highlight relevant information about a product. For example, "Sale", "New Arrival", "Sold Out".
ribbons - [CatalogV1Ribbon] Deprecated (use ribbon instead).
seoData - AdvancedSeoSeoSchema Custom SEO data for the product.
sku - String Stock keeping unit. If variant management is enabled, SKUs will be set per variant, and this field will be empty.
slug - String A friendly URL name (generated automatically by the catalog when a product is created), can be updated.
stock - CatalogV1Stock Product inventory status (in future this will be writable via Inventory API).
variants - [CatalogV1Variant]

Product variants, will be provided if the the request was sent with the includeVariants: true.

Max: 1,000 variants

visible - Boolean Whether the product is visible to site visitors.
weight - Float Product weight. If variant management is enabled, weight will be set per variant, and this field will be empty.
weightRange - EcommerceCatalogSpiV1NumericPropertyRange Product weight range. The minimum and maximum weights of all the variants.
Example
{
  "additionalInfoSections": [
    CatalogV1AdditionalInfoSection
  ],
  "brand": "abc123",
  "collectionIds": ["abc123"],
  "collections": CatalogV2QueryCollectionsResponse,
  "convertedPriceData": CatalogV1PriceData,
  "costAndProfitData": CatalogV1CostAndProfitData,
  "costRange": EcommerceCatalogSpiV1NumericPropertyRange,
  "createdDate": "xyz789",
  "customTextFields": [CatalogV1CustomTextField],
  "description": "xyz789",
  "discount": CatalogV1Discount,
  "id": "abc123",
  "inventoryItemId": "abc123",
  "lastUpdated": "xyz789",
  "manageVariants": false,
  "media": CatalogV1Media,
  "name": "xyz789",
  "numericId": {},
  "price": CatalogV1PriceData,
  "priceData": CatalogV1PriceData,
  "pricePerUnitData": CatalogV1PricePerUnitData,
  "priceRange": EcommerceCatalogSpiV1NumericPropertyRange,
  "productOptions": [CatalogV1ProductOption],
  "productPageUrl": CatalogV1PageUrl,
  "productType": "unspecified_product_type",
  "ribbon": "abc123",
  "ribbons": [CatalogV1Ribbon],
  "seoData": AdvancedSeoSeoSchema,
  "sku": "xyz789",
  "slug": "xyz789",
  "stock": CatalogV1Stock,
  "variants": [CatalogV1Variant],
  "visible": false,
  "weight": 987.65,
  "weightRange": EcommerceCatalogSpiV1NumericPropertyRange
}
V1

CatalogV1ProductInput

Fields
Input Field Description
additionalInfoSections - [CatalogV1AdditionalInfoSectionInput] Additional text that the store owner can assign to the product (e.g. shipping details, refund policy, etc.).
brand - String Product brand. Including a brand name can help improve site and product visibility on search engines.
collectionIds - [String] A list of all collection IDs that this product is included in (writable via the Catalog > Collection APIs).
convertedPriceData - CatalogV1PriceDataInput Price data, converted to the currency specified in request header.
costAndProfitData - CatalogV1CostAndProfitDataInput Cost and profit data.
costRange - EcommerceCatalogSpiV1NumericPropertyRangeInput Product cost range. The minimum and maximum costs of all the variants.
createdDate - String Date and time the product was created.
customTextFields - [CatalogV1CustomTextFieldInput] Text box for the customer to add a message to their order (e.g., customization request). Currently writable only from the UI.
description - String Product description. Accepts rich text.
discount - CatalogV1DiscountInput Discount deducted from the product's original price.
id - String Product ID (generated automatically by the catalog).
inventoryItemId - String Inventory item ID - ID referencing the inventory system.
lastUpdated - String Date and time the product was last updated.
manageVariants - Boolean Whether variants are being managed for this product - enables unique SKU, price and weight per variant. Also affects inventory data.
media - CatalogV1MediaInput Media items (images, videos etc) associated with this product (writable via Add Product Media endpoint).
name - String

Product name.

Min: 1 character Max: 80 characters

numericId - Long Product’s unique numeric ID (assigned in ascending order). Primarily used for sorting and filtering when crawling all products.
price - CatalogV1PriceDataInput Deprecated (use priceData instead).
priceData - CatalogV1PriceDataInput Price data.
pricePerUnitData - CatalogV1PricePerUnitDataInput Price per unit data.
priceRange - EcommerceCatalogSpiV1NumericPropertyRangeInput Product price range. The minimum and maximum prices of all the variants.
productOptions - [CatalogV1ProductOptionInput] Options for this product.
productPageUrl - CatalogV1PageUrlInput Product page URL for this product (generated automatically by the server).
productType - CatalogV1ProductType Currently, only creating physical products ( "productType": "physical" ) is supported via the API.
ribbon - String Product ribbon. Used to highlight relevant information about a product. For example, "Sale", "New Arrival", "Sold Out".
ribbons - [CatalogV1RibbonInput] Deprecated (use ribbon instead).
seoData - AdvancedSeoSeoSchemaInput Custom SEO data for the product.
sku - String Stock keeping unit. If variant management is enabled, SKUs will be set per variant, and this field will be empty.
slug - String A friendly URL name (generated automatically by the catalog when a product is created), can be updated.
stock - CatalogV1StockInput Product inventory status (in future this will be writable via Inventory API).
variants - [CatalogV1VariantInput]

Product variants, will be provided if the the request was sent with the includeVariants: true.

Max: 1,000 variants

visible - Boolean Whether the product is visible to site visitors.
weight - Float Product weight. If variant management is enabled, weight will be set per variant, and this field will be empty.
weightRange - EcommerceCatalogSpiV1NumericPropertyRangeInput Product weight range. The minimum and maximum weights of all the variants.
Example
{
  "additionalInfoSections": [
    CatalogV1AdditionalInfoSectionInput
  ],
  "brand": "abc123",
  "collectionIds": ["abc123"],
  "convertedPriceData": CatalogV1PriceDataInput,
  "costAndProfitData": CatalogV1CostAndProfitDataInput,
  "costRange": EcommerceCatalogSpiV1NumericPropertyRangeInput,
  "createdDate": "xyz789",
  "customTextFields": [CatalogV1CustomTextFieldInput],
  "description": "abc123",
  "discount": CatalogV1DiscountInput,
  "id": "xyz789",
  "inventoryItemId": "xyz789",
  "lastUpdated": "abc123",
  "manageVariants": false,
  "media": CatalogV1MediaInput,
  "name": "xyz789",
  "numericId": {},
  "price": CatalogV1PriceDataInput,
  "priceData": CatalogV1PriceDataInput,
  "pricePerUnitData": CatalogV1PricePerUnitDataInput,
  "priceRange": EcommerceCatalogSpiV1NumericPropertyRangeInput,
  "productOptions": [CatalogV1ProductOptionInput],
  "productPageUrl": CatalogV1PageUrlInput,
  "productType": "unspecified_product_type",
  "ribbon": "xyz789",
  "ribbons": [CatalogV1RibbonInput],
  "seoData": AdvancedSeoSeoSchemaInput,
  "sku": "abc123",
  "slug": "abc123",
  "stock": CatalogV1StockInput,
  "variants": [CatalogV1VariantInput],
  "visible": false,
  "weight": 123.45,
  "weightRange": EcommerceCatalogSpiV1NumericPropertyRangeInput
}
V1

CatalogV1ProductOption

Fields
Field Name Description
choices - [CatalogV1Choice] Choices available for this option.
name - String Option name.
optionType - CatalogV1OptionType Option type - color or other(drop down)
Example
{
  "choices": [CatalogV1Choice],
  "name": "xyz789",
  "optionType": "unspecified_option_type"
}
V1

CatalogV1ProductOptionInput

Fields
Input Field Description
choices - [CatalogV1ChoiceInput] Choices available for this option.
name - String Option name.
optionType - CatalogV1OptionType Option type - color or other(drop down)
Example
{
  "choices": [CatalogV1ChoiceInput],
  "name": "xyz789",
  "optionType": "unspecified_option_type"
}
V1

CatalogV1ProductOptionsAvailabilityRequestInput

Fields
Input Field Description
id - String Requested product ID.
options - JSON Array containing the selected options. For example, ["color": "Blue", "size": "Large"].
Example
{"id": "xyz789", "options": {}}
V1

CatalogV1ProductOptionsAvailabilityResponse

Fields
Field Name Description
availableForPurchase - Boolean Whether all the selected choices result in a visible, in-stock variant.
media - CatalogV1Media Information about media items (images, videos, etc.) associated with this choice.
productOptions - [CatalogV1ProductOption] Options information (color, size, etc.) for this product, with the inventory and visibility fields updated based on the provided choices.
selectedVariant - CatalogV1VariantData Variant information, given that all the choices were provided.
Example
{
  "availableForPurchase": true,
  "media": CatalogV1Media,
  "productOptions": [CatalogV1ProductOption],
  "selectedVariant": CatalogV1VariantData
}
V1

CatalogV1ProductType

Values
Enum Value Description

unspecified_product_type

physical

digital

Example
"unspecified_product_type"
V1

CatalogV1PropertyAdjustmentDataInput

Fields
Input Field Description
amount - Float Adjust by amount.
percentage - CatalogV1PercentageDataInput Adjust by percentage.
Example
{
  "amount": 987.65,
  "percentage": CatalogV1PercentageDataInput
}
V1

CatalogV1QueryProductVariantsRequestInput

Fields
Input Field Description
choices - JSON The specific choices available or chosen from within a selection (e.g., choosing the red Selection triggers the red Choice). You may specify all the relevant choices for a specific variant, or only some of the options, which will return all corresponding variants (not relevant when passing variant IDs).
id - String Requested product ID.
includeMerchantSpecificData - Boolean Whether merchant specific data should be included in the response. Requires permissions to manage products.
paging - CatalogV1PagingInput
variantIds - [String] List of variant IDs (not relevant when passing choices).
Example
{
  "choices": {},
  "id": "xyz789",
  "includeMerchantSpecificData": false,
  "paging": CatalogV1PagingInput,
  "variantIds": ["xyz789"]
}
V1

CatalogV1QueryProductVariantsResponse

Fields
Field Name Description
metadata - CatalogV1PagingMetadata
totalResults - Int
variants - [CatalogV1Variant] List of variants based on the specified filters and sorting.
Example
{
  "metadata": CatalogV1PagingMetadata,
  "totalResults": 123,
  "variants": [CatalogV1Variant]
}
V1

CatalogV1QueryProductsPlatformizedRequestInput

Fields
Input Field Description
query - EcommerceCommonsPlatformQueryInput
Example
{"query": EcommerceCommonsPlatformQueryInput}
V1

CatalogV1QueryProductsPlatformizedResponse

Fields
Field Name Description
items - [CatalogV1Product] Query results
pageInfo - PageInfo Pagination data
Example
{
  "items": [CatalogV1Product],
  "pageInfo": PageInfo
}
V1

CatalogV1QueryStoreVariantsRequestInput

Fields
Input Field Description
query - EcommerceCommonsPlatformQueryInput Query options.
Example
{"query": EcommerceCommonsPlatformQueryInput}
V1

CatalogV1QueryStoreVariantsResponse

Fields
Field Name Description
metadata - EcommerceCommonsPlatformPagingMetadata Details on the paged set of results returned.
variants - [CatalogV1StoreVariant] List of variants based on the specified filters and sorting.
Example
{
  "metadata": EcommerceCommonsPlatformPagingMetadata,
  "variants": [CatalogV1StoreVariant]
}
V1

CatalogV1RemoveProductBrandRequestInput

Fields
Input Field Description
id - String Product ID.
Example
{"id": "abc123"}
V1

CatalogV1RemoveProductMediaFromChoicesRequestInput

Fields
Input Field Description
id - String Product ID from whose choices to remove media items.
media - [CatalogV1MediaAssignmentToChoiceInput] Media to remove from choices. If an empty array is passed, all media will be removed from all choices for the given product.
Example
{
  "id": "xyz789",
  "media": [CatalogV1MediaAssignmentToChoiceInput]
}
V1

CatalogV1RemoveProductMediaRequestInput

Fields
Input Field Description
id - String Product ID.
mediaIds - [String] List of media IDs to remove. Pass an empty array to delete all media items for the product.
Example
{
  "id": "abc123",
  "mediaIds": ["xyz789"]
}
V1

CatalogV1RemoveProductRibbonRequestInput

Fields
Input Field Description
id - String Product ID.
Example
{"id": "abc123"}
V1

CatalogV1RemoveProductsFromCollectionRequestInput

Fields
Input Field Description
id - String Collection ID.
productIds - [String] IDs of the products to remove from the collection.
Example
{
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "productIds": ["abc123"]
}
V1

CatalogV1ResetAllVariantDataRequestInput

Fields
Input Field Description
id - String Product ID.
Example
{"id": "xyz789"}
V1

CatalogV1Ribbon

Fields
Field Name Description
text - String Ribbon text
Example
{"text": "abc123"}
V1

CatalogV1RibbonInput

Fields
Input Field Description
text - String Ribbon text
Example
{"text": "abc123"}
V1

CatalogV1SetValueInput

Fields
Input Field Description
brand - String Set product brand. Pass empty string to remove existing brand.
cost - Float Set product cost of goods. If variant management is enabled, cost of goods will be set per variant.
price - Float Set product price. If variant management is enabled, variant prices will be calculated according to the set product price. If variant price is negative after setting new price, the update will fail.
ribbon - String Set product ribbon. Pass empty string to remove existing ribbon.
weight - Float Set product weight. If variant management is enabled, weight will be set per variant.
Example
{
  "brand": "xyz789",
  "cost": 987.65,
  "price": 987.65,
  "ribbon": "abc123",
  "weight": 987.65
}
V1

CatalogV1Stock

Fields
Field Name Description
inStock - Boolean Whether the product is currently in stock (relevant only when tracking manually) Deprecated (use inventoryStatus instead)
inventoryStatus - CatalogV1StockInventoryStatus

The current status of the inventory

  • IN_STOCK - In stock
  • OUT_OF_STOCK - Not in stock
  • PARTIALLY_OUT_OF_STOCK - Some of the variants are not in stock
quantity - Int Quantity currently left in inventory
trackInventory - Boolean Whether inventory is being tracked
Example
{
  "inStock": true,
  "inventoryStatus": "IN_STOCK",
  "quantity": 123,
  "trackInventory": true
}
V1

CatalogV1StockInput

Fields
Input Field Description
inStock - Boolean Whether the product is currently in stock (relevant only when tracking manually) Deprecated (use inventoryStatus instead)
inventoryStatus - CatalogV1StockInventoryStatus

The current status of the inventory

  • IN_STOCK - In stock
  • OUT_OF_STOCK - Not in stock
  • PARTIALLY_OUT_OF_STOCK - Some of the variants are not in stock
quantity - Int Quantity currently left in inventory
trackInventory - Boolean Whether inventory is being tracked
Example
{
  "inStock": true,
  "inventoryStatus": "IN_STOCK",
  "quantity": 123,
  "trackInventory": true
}
V1

CatalogV1StoreVariant

Fields
Field Name Description
choices - JSON The selected options of this variant. For example, {"Color": "Blue", "Size": "Large"}.
collectionIds - [String] Collections that include this variant.
collections - CatalogV2QueryCollectionsResponse Collections that include this variant.
Arguments
id - String Store variant ID. Comprised of the productId and the variantId, separated by a hyphen: {productId}.{variantId}.
managedVariant - Boolean Whether the variant is managed or represents a product.
media - EcommerceCommonsPlatformMedia Media items (images, videos) associated with this variant.
preorderInfo - InventoryV1PreorderInfo Preorder information.
product - CatalogV1Product Product ID.
productId - String Product ID.
productName - String Product name.
sku - String Variant SKU (stock keeping unit).
stock - CatalogV1VariantStock Variant inventory status.
variantId - String Variant ID.
variantName - String Variant name.
Example
{
  "choices": {},
  "collectionIds": ["abc123"],
  "collections": CatalogV2QueryCollectionsResponse,
  "id": "abc123",
  "managedVariant": true,
  "media": EcommerceCommonsPlatformMedia,
  "preorderInfo": InventoryV1PreorderInfo,
  "product": CatalogV1Product,
  "productId": "xyz789",
  "productName": "abc123",
  "sku": "abc123",
  "stock": CatalogV1VariantStock,
  "variantId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "variantName": "xyz789"
}
V1

CatalogV1UpdateCollectionRequestInput

Fields
Input Field Description
collection - CatalogV1CollectionInput Collection info.
Example
{"collection": CatalogV1CollectionInput}
V1

CatalogV1UpdateCollectionResponse

Fields
Field Name Description
collection - CatalogV1Collection Updated collection.
Example
{"collection": CatalogV1Collection}
V1

CatalogV1UpdateProductPlatformizedRequestInput

Fields
Input Field Description
product - CatalogV1ProductInput
Example
{"product": CatalogV1ProductInput}
V1

CatalogV1UpdateProductPlatformizedResponse

Fields
Field Name Description
product - CatalogV1Product
Example
{"product": CatalogV1Product}
V1

CatalogV1UpdateProductRequestInput

Fields
Input Field Description
product - CatalogV1ProductInput
Example
{"product": CatalogV1ProductInput}
V1

CatalogV1UpdateProductResponse

Fields
Field Name Description
product - CatalogV1Product
Example
{"product": CatalogV1Product}
V1

CatalogV1UpdateVariantsRequestInput

Fields
Input Field Description
id - String ID of the product with managed variants.
variants - [CatalogV1VariantOverrideInput] Variant info to update.
Example
{
  "id": "abc123",
  "variants": [CatalogV1VariantOverrideInput]
}
V1

CatalogV1UpdateVariantsResponse

Fields
Field Name Description
variants - [CatalogV1Variant] List of the product's variants.
Example
{"variants": [CatalogV1Variant]}
V1

CatalogV1Variant

Fields
Field Name Description
choices - JSON Specific choices within a selection, as option-choice key-value pairs
id - String Requested Variant ID
stock - CatalogV1VariantStock Variant inventory status.
variant - CatalogV1VariantDataWithNoStock
Example
{
  "choices": {},
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "stock": CatalogV1VariantStock,
  "variant": CatalogV1VariantDataWithNoStock
}
V1

CatalogV1VariantData

Fields
Field Name Description
convertedPriceData - CatalogV1PriceData Variant price data converted to currency provided in header.
inStock - Boolean Whether the product is currently in stock (relevant only when tracking manually).
price - CatalogV1PriceData Variant price.
quantity - Int Quantity currently in inventory (relevant only when tracking by inventory).
sku - String Variant SKU (stock keeping unit).
visible - Boolean Whether the variant is visible to customers.
weight - Float Variant weight.
Example
{
  "convertedPriceData": CatalogV1PriceData,
  "inStock": false,
  "price": CatalogV1PriceData,
  "quantity": 987,
  "sku": "abc123",
  "visible": true,
  "weight": 123.45
}
V1

CatalogV1VariantDataWithNoStock

Fields
Field Name Description
convertedPriceData - CatalogV1PriceData Variant price data, converted to currency requested in header.
costAndProfitData - CatalogV1CostAndProfitData Cost and profit data.
priceData - CatalogV1PriceData Variant price.
sku - String Variant SKU (stock keeping unit).
visible - Boolean Whether the variant is visible to customers.
weight - Float Variant weight.
Example
{
  "convertedPriceData": CatalogV1PriceData,
  "costAndProfitData": CatalogV1CostAndProfitData,
  "priceData": CatalogV1PriceData,
  "sku": "abc123",
  "visible": true,
  "weight": 123.45
}
V1

CatalogV1VariantDataWithNoStockInput

Fields
Input Field Description
convertedPriceData - CatalogV1PriceDataInput Variant price data, converted to currency requested in header.
costAndProfitData - CatalogV1CostAndProfitDataInput Cost and profit data.
priceData - CatalogV1PriceDataInput Variant price.
sku - String Variant SKU (stock keeping unit).
visible - Boolean Whether the variant is visible to customers.
weight - Float Variant weight.
Example
{
  "convertedPriceData": CatalogV1PriceDataInput,
  "costAndProfitData": CatalogV1CostAndProfitDataInput,
  "priceData": CatalogV1PriceDataInput,
  "sku": "abc123",
  "visible": true,
  "weight": 123.45
}
V1

CatalogV1VariantInput

Fields
Input Field Description
choices - JSON Specific choices within a selection, as option-choice key-value pairs
id - String Requested Variant ID
stock - CatalogV1VariantStockInput Variant inventory status.
variant - CatalogV1VariantDataWithNoStockInput
Example
{
  "choices": {},
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "stock": CatalogV1VariantStockInput,
  "variant": CatalogV1VariantDataWithNoStockInput
}
V1

CatalogV1VariantOverrideInput

Fields
Input Field Description
choices - JSON The specific choices available or chosen from within a selection (e.g., choosing the red Selection triggers the red Choice). You may specify all the relevant choices for a specific variant, or only some of the options, which will return all corresponding variants (Not relevant when passing variant IDs)
cost - Float Variant cost of goods
price - Float Variant price
sku - String Variant SKU (stock keeping unit)
variantIds - [String] List of variant IDs (Not relevant when passing choices)
visible - Boolean Whether the variant is visible to customers
weight - Float Variant weight
Example
{
  "choices": {},
  "cost": 987.65,
  "price": 987.65,
  "sku": "xyz789",
  "variantIds": ["xyz789"],
  "visible": false,
  "weight": 987.65
}
V1

CatalogV1VariantStock

Fields
Field Name Description
inStock - Boolean Whether the product is currently in stock (relevant only when tracking manually).
quantity - Int Quantity currently left in inventory.
trackQuantity - Boolean Whether inventory is being tracked.
Example
{"inStock": true, "quantity": 987, "trackQuantity": true}
V1

CatalogV1VariantStockInput

Fields
Input Field Description
inStock - Boolean Whether the product is currently in stock (relevant only when tracking manually).
quantity - Int Quantity currently left in inventory.
trackQuantity - Boolean Whether inventory is being tracked.
Example
{"inStock": true, "quantity": 987, "trackQuantity": false}
V1

CatalogV2QueryCollectionsResponse

Fields
Field Name Description
items - [CatalogV1Collection] Query results
pageInfo - PageInfo Pagination data
Example
{
  "items": [CatalogV1Collection],
  "pageInfo": PageInfo
}
V1

StoresCollectionsV1CollectionRequestInput

Fields
Input Field Description
id - String Requested collection ID.
Example
{"id": "abc123"}
V1

StoresProductsV1ProductRequestInput

Fields
Input Field Description
id - ID!
Example
{"id": "4"}

CatalogV1DiscountDiscountType

Values
Enum Value Description

UNDEFINED

NONE

No discount

AMOUNT

PERCENT

Example
"UNDEFINED"

CatalogV1MediaDataForWriteOptionAndChoiceInput

Fields
Input Field Description
choice - String Choice to add the media to.
option - String Option to add the media to.
Example
{
  "choice": "xyz789",
  "option": "abc123"
}

CatalogV1StockInventoryStatus

Values
Enum Value Description

IN_STOCK

OUT_OF_STOCK

PARTIALLY_OUT_OF_STOCK

Example
"IN_STOCK"

CatalogV2GetCollectionBySlugRequestInput

Fields
Input Field Description
slug - String Slug of the collection to retrieve.
Example
{"slug": "xyz789"}
V2

CatalogV2GetCollectionBySlugResponse

Fields
Field Name Description
collection - CatalogV1Collection The requested collection.
Example
{"collection": CatalogV1Collection}
V2

CatalogV2QueryCollectionsRequestInput

Fields
Input Field Description
query - EcommerceCommonsPlatformQueryInput
Example
{"query": EcommerceCommonsPlatformQueryInput}

CatalogWriteProxyV1CreateProductPlatformizedRequestInput

Fields
Input Field Description
product - CatalogV1ProductInput Product information.
Example
{"product": CatalogV1ProductInput}

CatalogWriteProxyV1CreateProductPlatformizedResponse

Fields
Field Name Description
product - CatalogV1Product
Example
{"product": CatalogV1Product}

CatalogWriteProxyV1DeleteProductPlatformizedRequestInput

Fields
Input Field Description
id - String ID of the product to delete.
Example
{"id": "xyz789"}

CatalogWriteProxyV1UpdateProductPlatformizedRequestInput

Fields
Input Field Description
product - CatalogV1ProductInput
Example
{"product": CatalogV1ProductInput}

CatalogWriteProxyV1UpdateProductPlatformizedResponse

Fields
Field Name Description
product - CatalogV1Product
Example
{"product": CatalogV1Product}

CloudDataDataAggregateDataItemsRequestInput

Fields
Input Field Description
aggregation - CloudDataDataAggregateDataItemsRequestAggregationInput Aggregation applied to the data.
consistentRead - Boolean

Whether to retrieve data from the primary database instance. This decreases performance but ensures data retrieved is up to date even immediately after an update. Learn more about Wix Data and eventual consistency.

Default: false

cursorPaging - CloudDataDataUpstreamCommonCursorPagingInput Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not filter or sort.
dataCollectionId - String ID of the collection on which to run the aggregation.
finalFilter - JSON Filter applied to the processed data following the aggregation. See API Query Language for information on how to structure a filter object. Note: The values you provide for each filter field must adhere to that field's type. For example, when filtering by a field whose type is Date and Time, use an object in the following format: "someDateAndTimeFieldKey": { "$date": "YYYY-MM-DDTHH:mm:ss.sssZ"}. Learn more about data types in Wix Data.
initialFilter - JSON

Filter applied to the collection's data prior to running the aggregation. See API Query Language for information on how to structure a filter object.

Note: The values you provide for each filter field must adhere to that field's type. For example, when filtering by a field whose type is Date and Time, use an object in the following format: "someDateAndTimeFieldKey": { "$date": "YYYY-MM-DDTHH:mm:ss.sssZ"}. Learn more about data types in Wix Data.

language - String

Language to translate result text into, in IETF BCP 47 language tag format. If provided, the result text is returned in the specified language. Note: Translation for the specified language must be enabled for the collection in Wix Multilingual.

If not provided, result text is not translated.

paging - CloudDataDataUpstreamCommonPagingInput Paging options to limit and skip the number of items.
returnTotalCount - Boolean

Whether to return the total count in the response for a query with offset paging. When true, the pagingMetadata object in the response contains a total field.

Default: false

sort - [CloudDataDataUpstreamCommonSortingInput] Sort object in the following format: [{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]
Example
{
  "aggregation": CloudDataDataAggregateDataItemsRequestAggregationInput,
  "consistentRead": false,
  "cursorPaging": CloudDataDataUpstreamCommonCursorPagingInput,
  "dataCollectionId": "abc123",
  "finalFilter": {},
  "initialFilter": {},
  "language": "abc123",
  "paging": CloudDataDataUpstreamCommonPagingInput,
  "returnTotalCount": true,
  "sort": [CloudDataDataUpstreamCommonSortingInput]
}

CloudDataDataAggregateDataItemsResponse

Fields
Field Name Description
pagingMetadata - CloudDataDataUpstreamCommonPagingMetadataV2 Paging information.
results - [JSON] Aggregation results.
Example
{
  "pagingMetadata": CloudDataDataUpstreamCommonPagingMetadataV2,
  "results": [{}]
}

CloudDataDataBulkDataItemReferenceResult

Fields
Field Name Description
action - CloudDataDataUpstreamCommonBulkActionType The action attempted for the reference.
dataItemReference - CloudDataDataDataItemReference The reference for which the action was attempted. Only returned if returnEntity is true in the request and the action is successful.
referenceMetadata - CloudDataDataUpstreamCommonItemMetadata Metadata related to the reference for which the action was attempted.
Example
{
  "action": "UNKNOWN_ACTION_TYPE",
  "dataItemReference": CloudDataDataDataItemReference,
  "referenceMetadata": CloudDataDataUpstreamCommonItemMetadata
}

CloudDataDataBulkDataItemResult

Fields
Field Name Description
action - CloudDataDataUpstreamCommonBulkActionType The action attempted for the data item.
dataItem - CloudDataDataDataItem The data item for which the action was attempted. Only returned if returnEntity is true in the request and the action is successful.
itemMetadata - CloudDataDataUpstreamCommonItemMetadata Metadata related to the data item for which the action was attempted.
Example
{
  "action": "UNKNOWN_ACTION_TYPE",
  "dataItem": CloudDataDataDataItem,
  "itemMetadata": CloudDataDataUpstreamCommonItemMetadata
}

CloudDataDataBulkInsertDataItemReferencesRequestInput

Fields
Input Field Description
dataCollectionId - String ID of the collection containing the referring items.
dataItemReferences - [CloudDataDataDataItemReferenceInput] References to insert.
returnEntity - Boolean

Whether to return the inserted data item references. When true, the results objects contain a dataItemReference field.

Default: false

Example
{
  "dataCollectionId": "xyz789",
  "dataItemReferences": [
    CloudDataDataDataItemReferenceInput
  ],
  "returnEntity": true
}

CloudDataDataBulkInsertDataItemReferencesResponse

Fields
Field Name Description
bulkActionMetadata - CloudDataDataUpstreamCommonBulkActionMetadata Bulk action metadata.
results - [CloudDataDataBulkDataItemReferenceResult] Information about the inserted references.
Example
{
  "bulkActionMetadata": CloudDataDataUpstreamCommonBulkActionMetadata,
  "results": [CloudDataDataBulkDataItemReferenceResult]
}

CloudDataDataBulkInsertDataItemsRequestInput

Fields
Input Field Description
dataCollectionId - String ID of the collection in which to insert the items.
dataItems - [CloudDataDataDataItemInput] Data items to insert.
returnEntity - Boolean

Whether to return the inserted data items. When true, the results objects contain a dataItem field.

Default: false

Example
{
  "dataCollectionId": "xyz789",
  "dataItems": [CloudDataDataDataItemInput],
  "returnEntity": false
}

CloudDataDataBulkInsertDataItemsResponse

Fields
Field Name Description
bulkActionMetadata - CloudDataDataUpstreamCommonBulkActionMetadata Bulk action metadata.
results - [CloudDataDataBulkDataItemResult] Information about the inserted items.
Example
{
  "bulkActionMetadata": CloudDataDataUpstreamCommonBulkActionMetadata,
  "results": [CloudDataDataBulkDataItemResult]
}

CloudDataDataBulkRemoveDataItemReferencesRequestInput

Fields
Input Field Description
dataCollectionId - String ID of the collection containing the referring items.
dataItemReferences - [CloudDataDataDataItemReferenceInput] References to remove.
Example
{
  "dataCollectionId": "xyz789",
  "dataItemReferences": [
    CloudDataDataDataItemReferenceInput
  ]
}

CloudDataDataBulkRemoveDataItemReferencesResponse

Fields
Field Name Description
bulkActionMetadata - CloudDataDataUpstreamCommonBulkActionMetadata Bulk action metadata.
results - [CloudDataDataBulkDataItemReferenceResult] Information about the removed references.
Example
{
  "bulkActionMetadata": CloudDataDataUpstreamCommonBulkActionMetadata,
  "results": [CloudDataDataBulkDataItemReferenceResult]
}

CloudDataDataBulkRemoveDataItemsRequestInput

Fields
Input Field Description
dataCollectionId - String ID of the collection from which to remove the item.
dataItemIds - [String] IDs of data items to remove.
Example
{
  "dataCollectionId": "abc123",
  "dataItemIds": ["abc123"]
}

CloudDataDataBulkRemoveDataItemsResponse

Fields
Field Name Description
bulkActionMetadata - CloudDataDataUpstreamCommonBulkActionMetadata Bulk action metadata.
results - [CloudDataDataBulkDataItemResult] Information about the removed data items.
Example
{
  "bulkActionMetadata": CloudDataDataUpstreamCommonBulkActionMetadata,
  "results": [CloudDataDataBulkDataItemResult]
}

CloudDataDataBulkSaveDataItemsRequestInput

Fields
Input Field Description
dataCollectionId - String ID of the collection in which to insert or update the items.
dataItems - [CloudDataDataDataItemInput] Data items to insert or update.
returnEntity - Boolean

Whether to return the saved data item. When true, the results objects contain a dataItem field.

Default: false

Example
{
  "dataCollectionId": "xyz789",
  "dataItems": [CloudDataDataDataItemInput],
  "returnEntity": true
}

CloudDataDataBulkSaveDataItemsResponse

Fields
Field Name Description
bulkActionMetadata - CloudDataDataUpstreamCommonBulkActionMetadata Bulk action metadata.
results - [CloudDataDataBulkDataItemResult] Information about the saved items.
Example
{
  "bulkActionMetadata": CloudDataDataUpstreamCommonBulkActionMetadata,
  "results": [CloudDataDataBulkDataItemResult]
}

CloudDataDataBulkUpdateDataItemsRequestInput

Fields
Input Field Description
dataCollectionId - String ID of the collection in which to update items.
dataItems - [CloudDataDataDataItemInput] Data items to update.
returnEntity - Boolean

Whether to return the updated data items. When true, the results objects contain a dataItem field.

Default: false

Example
{
  "dataCollectionId": "xyz789",
  "dataItems": [CloudDataDataDataItemInput],
  "returnEntity": false
}

CloudDataDataBulkUpdateDataItemsResponse

Fields
Field Name Description
bulkActionMetadata - CloudDataDataUpstreamCommonBulkActionMetadata Bulk action metadata.
results - [CloudDataDataBulkDataItemResult] Information about the updated items.
Example
{
  "bulkActionMetadata": CloudDataDataUpstreamCommonBulkActionMetadata,
  "results": [CloudDataDataBulkDataItemResult]
}

CloudDataDataCountDataItemsRequestInput

Fields
Input Field Description
consistentRead - Boolean

Whether to retrieve data from the primary database instance. This decreases performance but ensures data retrieved is up to date even immediately after an update. Learn more about Wix Data and eventual consistency.

Default: false

dataCollectionId - String ID of the collection for which to count query results.
filter - JSON

Filter object in the following format:

"filter" : { "fieldName1": "value1", "fieldName2":{"$operator":"value2"} }.

Examples of operators: $eq, $ne, $lt, $lte, $gt, $gte, $in, $hasSome, $hasAll, $startsWith, $contains.

Note: The values you provide for each field must adhere to that field's type. For example, when filtering by a field whose type is Date and Time, use an object in the following format: "someDateAndTimeFieldKey": { "$date": "YYYY-MM-DDTHH:mm:ss.sssZ"}. Learn more about data types in Wix Data.

language - String

Language to translate result text into, in IETF BCP 47 language tag format. If provided, the result text is returned in the specified language. Note: Translation for the specified language must be enabled for the collection in Wix Multilingual.

If not provided, result text is not translated.

Example
{
  "consistentRead": false,
  "dataCollectionId": "xyz789",
  "filter": {},
  "language": "abc123"
}

CloudDataDataCountDataItemsResponse

Fields
Field Name Description
totalCount - Int Number of items matching the query.
Example
{"totalCount": 123}

CloudDataDataDataItem

Fields
Field Name Description
data - JSON

Data item contents.

Property-value pairs representing the data item's payload. When retrieving a data item, it also includes the following read-only fields:

  • _id: Item ID.
  • _createdDate: Date and time the item was added to the collection.
  • _updatedDate: Date and time the item was last modified. When the item is first inserted, _createdDate and _updatedDate have the same value.
  • _ownerId: ID of the user who created the item. Can be modified with site owner permissions.
dataCollectionId - String ID of the collection this item belongs to
id - String Data item ID.
Example
{
  "data": {},
  "dataCollectionId": "xyz789",
  "id": "abc123"
}

CloudDataDataDataItemInput

Fields
Input Field Description
data - JSON

Data item contents.

Property-value pairs representing the data item's payload. When retrieving a data item, it also includes the following read-only fields:

  • _id: Item ID.
  • _createdDate: Date and time the item was added to the collection.
  • _updatedDate: Date and time the item was last modified. When the item is first inserted, _createdDate and _updatedDate have the same value.
  • _ownerId: ID of the user who created the item. Can be modified with site owner permissions.
dataCollectionId - String ID of the collection this item belongs to
id - String Data item ID.
Example
{
  "data": {},
  "dataCollectionId": "xyz789",
  "id": "xyz789"
}

CloudDataDataDataItemReference

Fields
Field Name Description
referencedItemId - String ID of the referenced item.
referringItemFieldName - String Referring item field containing the references to the referenced items.
referringItemId - String ID of the referring item.
Example
{
  "referencedItemId": "xyz789",
  "referringItemFieldName": "abc123",
  "referringItemId": "xyz789"
}

CloudDataDataDataItemReferenceInput

Fields
Input Field Description
referencedItemId - String ID of the referenced item.
referringItemFieldName - String Referring item field containing the references to the referenced items.
referringItemId - String ID of the referring item.
Example
{
  "referencedItemId": "xyz789",
  "referringItemFieldName": "abc123",
  "referringItemId": "abc123"
}

CloudDataDataInsertDataItemReferenceRequestInput

Fields
Input Field Description
dataCollectionId - String ID of the collection in which to insert the reference.
dataItemReference - CloudDataDataDataItemReferenceInput Reference to insert
Example
{
  "dataCollectionId": "xyz789",
  "dataItemReference": CloudDataDataDataItemReferenceInput
}

CloudDataDataInsertDataItemReferenceResponse

Fields
Field Name Description
dataItemReference - CloudDataDataDataItemReference Inserted reference.
Example
{"dataItemReference": CloudDataDataDataItemReference}

CloudDataDataInsertDataItemRequestInput

Fields
Input Field Description
dataCollectionId - String ID of the collection in which to insert the item.
dataItem - CloudDataDataDataItemInput Item to insert.
Example
{
  "dataCollectionId": "abc123",
  "dataItem": CloudDataDataDataItemInput
}

CloudDataDataInsertDataItemResponse

Fields
Field Name Description
dataItem - CloudDataDataDataItem Inserted data item.
Example
{"dataItem": CloudDataDataDataItem}

CloudDataDataIsReferencedDataItemRequestInput

Fields
Input Field Description
consistentRead - Boolean

Whether to retrieve data from the primary database instance. This decreases performance but ensures data retrieved is up to date even immediately after an update. Learn more about Wix Data and eventual consistency.

Default: false

dataCollectionId - String ID of the collection containing the referring data item.
referencedItemId - String ID of the item that may be referenced.
referringItemFieldName - String Field to check for a reference to the item that may be referenced.
referringItemId - String ID of the referring item.
Example
{
  "consistentRead": true,
  "dataCollectionId": "abc123",
  "referencedItemId": "abc123",
  "referringItemFieldName": "xyz789",
  "referringItemId": "abc123"
}

CloudDataDataIsReferencedDataItemResponse

Fields
Field Name Description
isReferenced - Boolean Whether the specified reference exists.
Example
{"isReferenced": true}

CloudDataDataQueryDataItemsRequestInput

Fields
Input Field Description
consistentRead - Boolean

Whether to retrieve data from the primary database instance. This decreases performance but ensures data retrieved is up to date even immediately after an update. Learn more about Wix Data and eventual consistency.

Default: false

dataCollectionId - String ID of the collection to query.
includeReferencedItems - [String] Properties for which to include referenced items in the query's results. Up to 50 referenced items can be included for each item that matches the query.
language - String

Language to translate result text into, in IETF BCP 47 language tag format. If provided, the result text is returned in the specified language. Note: Translation for the specified language must be enabled for the collection in Wix Multilingual.

If not provided, result text is not translated.

query - CloudDataDataUpstreamCommonQueryV2Input Query preferences. For more details on using queries, see API Query Language.
referencedItemOptions - [CloudDataDataQueryDataItemsRequestReferencedItemOptionsInput] Options for retrieving referenced items.
returnTotalCount - Boolean

Whether to return the total count in the response for a query with offset paging. When true, the pagingMetadata object in the response contains a total field.

Default: false

Example
{
  "consistentRead": false,
  "dataCollectionId": "xyz789",
  "includeReferencedItems": ["xyz789"],
  "language": "abc123",
  "query": CloudDataDataUpstreamCommonQueryV2Input,
  "referencedItemOptions": [
    CloudDataDataQueryDataItemsRequestReferencedItemOptionsInput
  ],
  "returnTotalCount": false
}

CloudDataDataQueryDataItemsResponse

Fields
Field Name Description
items - [CloudDataDataDataItem] Query results
pageInfo - PageInfo Pagination data
Example
{
  "items": [CloudDataDataDataItem],
  "pageInfo": PageInfo
}

CloudDataDataQueryDistinctValuesRequestInput

Fields
Input Field Description
consistentRead - Boolean

Whether to retrieve data from the primary database instance. This decreases performance but ensures data retrieved is up to date even immediately after an update. Learn more about Wix Data and eventual consistency.

Default: false

cursorPaging - CloudDataDataUpstreamCommonCursorPagingInput Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not filter or sort.
dataCollectionId - String ID of the collection to query.
fieldName - String Item field name for which to return all distinct values.
filter - JSON

Filter object in the following format:

"filter" : { "fieldName1": "value1", "fieldName2":{"$operator":"value2"} }.

Examples of operators: $eq, $ne, $lt, $lte, $gt, $gte, $in, $hasSome, $hasAll, $startsWith, $contains.

Note: The values you provide for each field must adhere to that field's type. For example, when filtering by a field whose type is Date and Time, use an object in the following format: "someDateAndTimeFieldKey": { "$date": "YYYY-MM-DDTHH:mm:ss.sssZ"}. Learn more about data types in Wix Data.

language - String

Language to translate result text into, in IETF BCP 47 language tag format. If provided, the result text is returned in the specified language. Note: Translation for the specified language must be enabled for the collection in Wix Multilingual.

If not provided, result text is not translated.

order - CloudDataDataUpstreamCommonSortOrder Sort order.
paging - CloudDataDataUpstreamCommonPagingInput Paging options to limit and skip the number of items.
returnTotalCount - Boolean

Whether to return the total count in the response for a query with offset paging. When true, the pagingMetadata object in the response contains a total field.

Default: false

Example
{
  "consistentRead": false,
  "cursorPaging": CloudDataDataUpstreamCommonCursorPagingInput,
  "dataCollectionId": "abc123",
  "fieldName": "xyz789",
  "filter": {},
  "language": "abc123",
  "order": "ASC",
  "paging": CloudDataDataUpstreamCommonPagingInput,
  "returnTotalCount": true
}

CloudDataDataQueryDistinctValuesResponse

Fields
Field Name Description
distinctValues - [JSON] List of distinct values contained in the field specified in fieldName.
pagingMetadata - CloudDataDataUpstreamCommonPagingMetadataV2 Paging information.
Example
{
  "distinctValues": [{}],
  "pagingMetadata": CloudDataDataUpstreamCommonPagingMetadataV2
}

CloudDataDataQueryReferencedDataItemsRequestInput

Fields
Input Field Description
consistentRead - Boolean

Whether to retrieve data from the primary database instance. This decreases performance but ensures data retrieved is up to date even immediately after an update. Learn more about Wix Data and eventual consistency.

Default: false

cursorPaging - CloudDataDataUpstreamCommonCursorPagingInput Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not filter or sort.
dataCollectionId - String ID of the collection containing the referring item.
fields - [String] Fields to return for each referenced item. Only fields specified in the array are included in the response. If the array is empty, all fields are returned. Note: The _id system field is always returned.
language - String

Language to translate result text into, in IETF BCP 47 language tag format. If provided, the result text is returned in the specified language. Note: Translation for the specified language must be enabled for the collection in Wix Multilingual.

If not provided, result text is not translated.

order - CloudDataDataUpstreamCommonSortOrder Order of the returned referenced items. Sorted by the date each item was referenced.
paging - CloudDataDataUpstreamCommonPagingInput Paging options to limit and skip the number of items.
referringItemFieldName - String Field containing references in the referring item.
referringItemId - String ID of the referring item.
returnTotalCount - Boolean

Whether to return the total count in the response. When true, the pagingMetadata object in the response contains a total field.

Default: false

Example
{
  "consistentRead": true,
  "cursorPaging": CloudDataDataUpstreamCommonCursorPagingInput,
  "dataCollectionId": "abc123",
  "fields": ["xyz789"],
  "language": "xyz789",
  "order": "ASC",
  "paging": CloudDataDataUpstreamCommonPagingInput,
  "referringItemFieldName": "abc123",
  "referringItemId": "abc123",
  "returnTotalCount": true
}

CloudDataDataQueryReferencedDataItemsResponse

Fields
Field Name Description
pagingMetadata - CloudDataDataUpstreamCommonPagingMetadataV2 Paging information.
results - [CloudDataDataQueryReferencedDataItemsResponseReferencedResult] Referenced items and/or IDs. For successfully resolved references, the referenced data item is returned. For references that can't be resolved, the ID is returned.
Example
{
  "pagingMetadata": CloudDataDataUpstreamCommonPagingMetadataV2,
  "results": [
    CloudDataDataQueryReferencedDataItemsResponseReferencedResult
  ]
}

CloudDataDataRemoveDataItemReferenceRequestInput

Fields
Input Field Description
dataCollectionId - String ID of the collection containing the referring item.
dataItemReference - CloudDataDataDataItemReferenceInput Reference to remove.
Example
{
  "dataCollectionId": "abc123",
  "dataItemReference": CloudDataDataDataItemReferenceInput
}

CloudDataDataRemoveDataItemReferenceResponse

Fields
Field Name Description
dataItemReference - CloudDataDataDataItemReference Removed reference.
Example
{"dataItemReference": CloudDataDataDataItemReference}

CloudDataDataRemoveDataItemRequestInput

Fields
Input Field Description
dataCollectionId - String ID of the collection from which to remove the item.
dataItemId - String ID of the item to remove.
Example
{
  "dataCollectionId": "abc123",
  "dataItemId": "xyz789"
}

CloudDataDataRemoveDataItemResponse

Fields
Field Name Description
dataItem - CloudDataDataDataItem Removed item.
Example
{"dataItem": CloudDataDataDataItem}

CloudDataDataReplaceDataItemReferencesRequestInput

Fields
Input Field Description
dataCollectionId - String ID of the collection containing the referring item.
newReferencedItemIds - [String] List of new referenced item IDs to replace the existing ones.
referringItemFieldName - String Field containing references in the referring item.
referringItemId - String ID of the referring item.
Example
{
  "dataCollectionId": "abc123",
  "newReferencedItemIds": ["abc123"],
  "referringItemFieldName": "xyz789",
  "referringItemId": "abc123"
}

CloudDataDataReplaceDataItemReferencesResponse

Fields
Field Name Description
dataItemReferences - [CloudDataDataDataItemReference] Updated references.
Example
{"dataItemReferences": [CloudDataDataDataItemReference]}

CloudDataDataSaveDataItemRequestInput

Fields
Input Field Description
dataCollectionId - String ID of the collection in which to insert or update the item.
dataItem - CloudDataDataDataItemInput Data item to insert or update.
Example
{
  "dataCollectionId": "xyz789",
  "dataItem": CloudDataDataDataItemInput
}

CloudDataDataSaveDataItemResponse

Fields
Field Name Description
action - CloudDataDataSaveDataItemResponseAction

The action carried out for the item.

  • INSERTED: A new item was added to the collection.
  • UPDATED: An existing item in the collection was updated.
dataItem - CloudDataDataDataItem Inserted or updated data item.
Example
{
  "action": "UNKNOWN_ACTION",
  "dataItem": CloudDataDataDataItem
}

CloudDataDataTruncateDataItemsRequestInput

Fields
Input Field Description
dataCollectionId - String ID of the collection to truncate.
Example
{"dataCollectionId": "abc123"}

CloudDataDataUpdateDataItemRequestInput

Fields
Input Field Description
dataCollectionId - String ID of the collection containing the existing item.
dataItem - CloudDataDataDataItemInput Updated data item content. The existing data item's content is replaced entirely.
Example
{
  "dataCollectionId": "xyz789",
  "dataItem": CloudDataDataDataItemInput
}

CloudDataDataUpdateDataItemResponse

Fields
Field Name Description
dataItem - CloudDataDataDataItem Updated data item.
Example
{"dataItem": CloudDataDataDataItem}

DataItemsV2DataItemRequestInput

Fields
Input Field Description
consistentRead - Boolean

Whether to retrieve data from the primary database instance. This decreases performance but ensures data retrieved is up to date even immediately after an update. Learn more about Wix Data and eventual consistency.

Default: false

dataCollectionId - String ID of the collection from which to retrieve the data item.
fields - [String] Fields to return for the item. Only fields specified in the array are included in the response. If the array is empty, all fields are returned. Note: The _id system field is always returned.
id - ID!
language - String

Language to translate result text into, in IETF BCP 47 language tag format. If provided, the result text is returned in the specified language. Note: Translation for the specified language must be enabled for the collection in Wix Multilingual.

If not provided, result text is not translated.

Example
{
  "consistentRead": true,
  "dataCollectionId": "xyz789",
  "fields": ["abc123"],
  "id": 4,
  "language": "abc123"
}

CloudDataDataAggregateDataItemsRequestAggregationInput

Fields
Input Field Description
groupingFields - [String] Fields by which to group items for the aggregation. If empty, the aggregation is carried out on all items in the collection.
operations - [CloudDataDataAggregateDataItemsRequestAggregationOperationInput] Operations to carry out on the data in each grouping.
Example
{
  "groupingFields": ["abc123"],
  "operations": [
    CloudDataDataAggregateDataItemsRequestAggregationOperationInput
  ]
}

CloudDataDataAggregateDataItemsRequestAggregationOperationInput

Fields
Input Field Description
average - CloudDataDataAggregateDataItemsRequestAggregationOperationAverageInput Calculate the average value of a specified field for all items in the grouping.
itemCount - Void Calculate the number of items in the grouping.
max - CloudDataDataAggregateDataItemsRequestAggregationOperationMaxInput Calculate the maximum value of a specified field for all items in the grouping.
min - CloudDataDataAggregateDataItemsRequestAggregationOperationMinInput Calculate the minimum value of a specified field for all items in the grouping.
resultFieldName - String Name of the field containing results of the operation.
sum - CloudDataDataAggregateDataItemsRequestAggregationOperationSumInput Calculate the sum of values of a specified field for all items in the grouping.
Example
{
  "average": CloudDataDataAggregateDataItemsRequestAggregationOperationAverageInput,
  "itemCount": null,
  "max": CloudDataDataAggregateDataItemsRequestAggregationOperationMaxInput,
  "min": CloudDataDataAggregateDataItemsRequestAggregationOperationMinInput,
  "resultFieldName": "abc123",
  "sum": CloudDataDataAggregateDataItemsRequestAggregationOperationSumInput
}

CloudDataDataAggregateDataItemsRequestAggregationOperationAverageInput

Fields
Input Field Description
itemFieldName - String Name of the field for which to calculate the average value.
Example
{"itemFieldName": "abc123"}

CloudDataDataAggregateDataItemsRequestAggregationOperationMaxInput

Fields
Input Field Description
itemFieldName - String Name of the field for which to calculate the maximum value.
Example
{"itemFieldName": "xyz789"}

CloudDataDataAggregateDataItemsRequestAggregationOperationMinInput

Fields
Input Field Description
itemFieldName - String Name of the field for which to calculate the minimum value.
Example
{"itemFieldName": "xyz789"}

CloudDataDataAggregateDataItemsRequestAggregationOperationSumInput

Fields
Input Field Description
itemFieldName - String Name of the field for which to calculate the sum.
Example
{"itemFieldName": "xyz789"}

CloudDataDataQueryDataItemsRequestReferencedItemOptionsInput

Fields
Input Field Description
fieldName - String Field containing references in the queried item.
limit - Int Maximum number of referenced items to include for each queried item.
Example
{"fieldName": "abc123", "limit": 987}

CloudDataDataQueryReferencedDataItemsResponseReferencedResult

Fields
Field Name Description
dataItem - CloudDataDataDataItem Data item referenced.
unresolvedReference - CloudDataDataQueryReferencedDataItemsResponseUnresolvedReference Unresolved reference. Appears instead of the data item when the reference doesn't resolve, for example, when an ID isn't found or if an item is in draft state.
Example
{
  "dataItem": CloudDataDataDataItem,
  "unresolvedReference": CloudDataDataQueryReferencedDataItemsResponseUnresolvedReference
}

CloudDataDataQueryReferencedDataItemsResponseUnresolvedReference

Fields
Field Name Description
referringItemFieldName - String Field specified to query for references.
referringItemId - String ID of the referring item.
Example
{
  "referringItemFieldName": "xyz789",
  "referringItemId": "xyz789"
}

CloudDataDataSaveDataItemResponseAction

Values
Enum Value Description

UNKNOWN_ACTION

INSERTED

UPDATED

Example
"UNKNOWN_ACTION"

CloudDataDataUpstreamCommonBulkActionMetadata

Fields
Field Name Description
totalFailures - Int Number of items that couldn't be processed.
totalSuccesses - Int Number of items successfully processed.
Example
{"totalFailures": 123, "totalSuccesses": 123}

CloudDataDataUpstreamCommonBulkActionType

Values
Enum Value Description

UNKNOWN_ACTION_TYPE

INSERT

UPDATE

DELETE

PATCH

Example
"UNKNOWN_ACTION_TYPE"

CloudDataDataUpstreamCommonCursorPagingInput

Fields
Input Field Description
cursor - String

Pointer to the next or previous page in the list of results.

You can get the relevant cursor token from the pagingMetadata object in the previous call's response. Not relevant for the first request.

limit - Int Number of items to load.
Example
{"cursor": "xyz789", "limit": 987}

CloudDataDataUpstreamCommonCursors

Fields
Field Name Description
next - String Cursor pointing to next page in the list of results.
prev - String Cursor pointing to previous page in the list of results.
Example
{
  "next": "xyz789",
  "prev": "xyz789"
}

CloudDataDataUpstreamCommonItemMetadata

Fields
Field Name Description
error - ApiApplicationError Details about the error in case of failure.
id - String Item ID. This field doesn't appear if there is no item ID, for example, when item creation fails.
originalIndex - Int Index of the item within the request array. Allows for correlation between request and response items.
success - Boolean Whether the requested action was successful for this item. When false, the error field is populated.
Example
{
  "error": ApiApplicationError,
  "id": "xyz789",
  "originalIndex": 123,
  "success": true
}

CloudDataDataUpstreamCommonPagingInput

Fields
Input Field Description
limit - Int Number of items to load.
offset - Int Number of items to skip in the current sort order.
Example
{"limit": 123, "offset": 987}

CloudDataDataUpstreamCommonPagingMetadataV2

Fields
Field Name Description
count - Int Number of items returned in the response.
cursors - CloudDataDataUpstreamCommonCursors Cursors to navigate through the result pages using next and prev. Returned if cursor paging is used.
offset - Int Offset that was requested.
tooManyToCount - Boolean Whether the server failed to calculate the total field.
total - Int Total number of items that match the query. Returned if offset paging is used, returnTotalCount is true in the request, and tooManyToCount is false.
Example
{
  "count": 987,
  "cursors": CloudDataDataUpstreamCommonCursors,
  "offset": 123,
  "tooManyToCount": true,
  "total": 987
}

CloudDataDataUpstreamCommonQueryV2Input

Fields
Input Field Description
cursorPaging - CloudDataDataUpstreamCommonCursorPagingInput Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not filter or sort.
fields - [String] Fields to return for each item. Only fields specified in the array are included in the response. If the array is empty, all fields are returned. Note: The _id system field is always returned.
filter - JSON

Filter object in the following format:

"filter" : { "fieldName1": "value1", "fieldName2":{"$operator":"value2"} }

Examples of operators: $eq, $ne, $lt, $lte, $gt, $gte, $in, $hasSome, $hasAll, $startsWith, $contains

Note: The values you provide for each field must adhere to that field's type. For example, when filtering by a field whose type is Date and Time, use an object in the following format: "someDateAndTimeFieldKey": { "$date": "YYYY-MM-DDTHH:mm:ss.sssZ"}. Learn more about data types in Wix Data.

paging - CloudDataDataUpstreamCommonPagingInput Paging options to limit and skip the number of items.
sort - [CloudDataDataUpstreamCommonSortingInput] Sort object in the following format: [{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]
Example
{
  "cursorPaging": CloudDataDataUpstreamCommonCursorPagingInput,
  "fields": ["abc123"],
  "filter": {},
  "paging": CloudDataDataUpstreamCommonPagingInput,
  "sort": [CloudDataDataUpstreamCommonSortingInput]
}

CloudDataDataUpstreamCommonSortOrder

Values
Enum Value Description

ASC

DESC

Example
"ASC"

CloudDataDataUpstreamCommonSortingInput

Fields
Input Field Description
fieldName - String Name of the field to sort by.
order - CloudDataDataUpstreamCommonSortOrder Sort order.
Example
{"fieldName": "xyz789", "order": "ASC"}

CommonBulkActionMetadata

Fields
Field Name Description
totalFailures - Int Number of items that couldn't be processed.
totalSuccesses - Int Number of items that were successfully processed.
undetailedFailures - Int Number of failures without details because detailed failure threshold was exceeded.
Example
{"totalFailures": 123, "totalSuccesses": 123, "undetailedFailures": 123}

CommonCursorPagingInput

Fields
Input Field Description
cursor - String

Pointer to the next or previous page in the list of results.

Pass the relevant cursor token from the pagingMetadata object in the previous call's response. Not relevant for the first request.

limit - Int Maximum number of items to return in the results.
Example
{"cursor": "abc123", "limit": 987}

CommonCursorPagingMetadata

Fields
Field Name Description
count - Int Number of items returned in the response.
cursors - CommonCursors Cursor strings that point to the next page, previous page, or both.
hasNext - Boolean

Whether there are more pages to retrieve following the current page.

  • true: Another page of results can be retrieved.
  • false: This is the last page.
Example
{"count": 123, "cursors": CommonCursors, "hasNext": true}

CommonCursors

Fields
Field Name Description
next - String Cursor string pointing to the next page in the list of results.
prev - String Cursor pointing to the previous page in the list of results.
Example
{
  "next": "abc123",
  "prev": "abc123"
}

CommonImage

Fields
Field Name Description
altText - String Image alt text.
filename - String Image filename.
height - Int Original image height.
id - String WixMedia image ID.
url - String Image URL.
width - Int Original image width.
Example
{
  "altText": "xyz789",
  "filename": "abc123",
  "height": 987,
  "id": "xyz789",
  "url": "xyz789",
  "width": 123
}

CommonImageInput

Fields
Input Field Description
altText - String Image alt text.
filename - String Image filename.
height - Int Original image height.
id - String WixMedia image ID.
url - String Image URL.
width - Int Original image width.
Example
{
  "altText": "xyz789",
  "filename": "xyz789",
  "height": 123,
  "id": "xyz789",
  "url": "xyz789",
  "width": 987
}

CommonItemMetadata

Fields
Field Name Description
error - ApiApplicationError Details about the error in case of failure.
id - String Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).
originalIndex - Int Index of the item within the request array. Allows for correlation between request and response items.
success - Boolean Whether the requested action was successful for this item. When false, the error field is populated.
Example
{
  "error": ApiApplicationError,
  "id": "abc123",
  "originalIndex": 123,
  "success": true
}

CommonMoney

Fields
Field Name Description
currency - String Currency code. Must be valid ISO 4217 currency code (e.g., USD).
formattedValue - String Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.
value - String Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.
Example
{
  "currency": "abc123",
  "formattedValue": "abc123",
  "value": "abc123"
}

CommonMoneyInput

Fields
Input Field Description
currency - String Currency code. Must be valid ISO 4217 currency code (e.g., USD).
formattedValue - String Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.
value - String Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.
Example
{
  "currency": "xyz789",
  "formattedValue": "abc123",
  "value": "xyz789"
}

CommonPageUrl

Fields
Field Name Description
base - String The base URL. For premium sites, this is the domain. For free sites, this is the site URL. For example, mysite.wixsite.com/mysite.
path - String The relative path for the page within the site. For example, /product-page/a-product.
Example
{
  "base": "abc123",
  "path": "xyz789"
}

CommonPageUrlV2

Fields
Field Name Description
relativePath - String The relative path for the page within the site. For example, /product-page/a-product.
url - String The page's full URL. For example, https://mysite.com/product-page/a-product.
Example
{
  "relativePath": "xyz789",
  "url": "abc123"
}

CommonPageUrlV2Input

Fields
Input Field Description
relativePath - String The relative path for the page within the site. For example, /product-page/a-product.
url - String The page's full URL. For example, https://mysite.com/product-page/a-product.
Example
{
  "relativePath": "abc123",
  "url": "abc123"
}

CommonPagingInput

Fields
Input Field Description
limit - Int Number of items to load.
offset - Int Number of items to skip in the current sort order.
Example
{"limit": 123, "offset": 987}

CommonPagingMetadata

Fields
Field Name Description
count - Int Number of items returned in the response.
offset - Int Offset that was requested.
tooManyToCount - Boolean Flag that indicates the server failed to calculate the total field.
total - Int Total number of items that match the query.
Example
{"count": 987, "offset": 123, "tooManyToCount": false, "total": 123}

CommonPagingMetadataV2

Fields
Field Name Description
count - Int Number of items returned in the response.
cursors - CommonCursors Cursors to navigate through the result pages using next and prev. Returned if cursor paging is used.
offset - Int Offset that was requested.
tooManyToCount - Boolean Flag that indicates the server failed to calculate the total field.
total - Int Total number of items that match the query. Returned if offset paging is used and the tooManyToCount flag is not set.
Example
{
  "count": 123,
  "cursors": CommonCursors,
  "offset": 123,
  "tooManyToCount": false,
  "total": 123
}

CommonQueryInput

Fields
Input Field Description
fields - [String] Array of projected fields. A list of specific field names to return. If fieldsets are also specified, the union of fieldsets and fields is returned.
fieldsets - [String] Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple fieldsets will return the union of fields from all sets. If fields are also specified, the union of fieldsets and fields is returned.
filter - JSON Filter object in the following format: "filter" : { "fieldName1": "value1", "fieldName2":{"$operator":"value2"} } Example of operators: $eq, $ne, $lt, $lte, $gt, $gte, $in, $hasSome, $hasAll, $startsWith, $contains
paging - CommonPagingInput Paging options to limit and skip the number of items.
sort - [CommonSortingInput] Sort object in the following format: [{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]
Example
{
  "fields": ["abc123"],
  "fieldsets": ["xyz789"],
  "filter": {},
  "paging": CommonPagingInput,
  "sort": [CommonSortingInput]
}

CommonQueryV2Input

Fields
Input Field Description
cursorPaging - CommonCursorPagingInput Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not filter or sort.
fields - [String] Array of projected fields. A list of specific field names to return. If fieldsets are also specified, the union of fieldsets and fields is returned.
fieldsets - [String] Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple fieldsets will return the union of fields from all sets. If fields are also specified, the union of fieldsets and fields is returned.
filter - JSON Filter object in the following format: "filter" : { "fieldName1": "value1", "fieldName2":{"$operator":"value2"} } Example of operators: $eq, $ne, $lt, $lte, $gt, $gte, $in, $hasSome, $hasAll, $startsWith, $contains
paging - CommonPagingInput Paging options to limit and skip the number of items.
sort - [CommonSortingInput] Sort object in the following format: [{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]
Example
{
  "cursorPaging": CommonCursorPagingInput,
  "fields": ["abc123"],
  "fieldsets": ["abc123"],
  "filter": {},
  "paging": CommonPagingInput,
  "sort": [CommonSortingInput]
}

CommonSortOrder

Values
Enum Value Description

ASC

DESC

Example
"ASC"

CommonSortingInput

Fields
Input Field Description
fieldName - String Name of the field to sort by.
order - CommonSortOrder Sort order.
Example
{"fieldName": "abc123", "order": "ASC"}

CommonStreetAddress

Fields
Field Name Description
name - String Street name.
number - String Street number.
Example
{
  "name": "abc123",
  "number": "xyz789"
}

CommonStreetAddressInput

Fields
Input Field Description
name - String Street name.
number - String Street number.
Example
{
  "name": "xyz789",
  "number": "xyz789"
}

CommonVatId

Fields
Field Name Description
id - String Customer's tax ID.
type - CommonVatType

Tax type.

Supported values:

  • CPF: for individual tax payers
  • CNPJ: for corporations
Example
{"id": "xyz789", "type": "UNSPECIFIED"}

CommonVatIdInput

Fields
Input Field Description
id - String Customer's tax ID.
type - CommonVatType

Tax type.

Supported values:

  • CPF: for individual tax payers
  • CNPJ: for corporations
Example
{"id": "xyz789", "type": "UNSPECIFIED"}

CommonVatType

Values
Enum Value Description

UNSPECIFIED

CPF

CPF - for individual tax payers.

CNPJ

CNPJ - for corporations
Example
"UNSPECIFIED"

CommonVideo

Fields
Field Name Description
height - Int Original image height
id - String WixMedia ID
thumbnail - CommonImage Video poster
url - String URL of video
width - Int Original image width
Example
{
  "height": 123,
  "id": "xyz789",
  "thumbnail": CommonImage,
  "url": "xyz789",
  "width": 987
}

CommonVideoResolution

Fields
Field Name Description
format - String Video format for example, mp4, hls.
height - Int Video height.
url - String Video URL.
width - Int Video width.
Example
{
  "format": "abc123",
  "height": 123,
  "url": "abc123",
  "width": 123
}

CommonVideoV2

Fields
Field Name Description
filename - String Video filename.
id - String WixMedia ID.
resolutions - [CommonVideoResolution] Available resolutions for the video, starting with the optimal resolution.
Example
{
  "filename": "abc123",
  "id": "abc123",
  "resolutions": [CommonVideoResolution]
}

CommonDataDataextensionsExtendedFields

Fields
Field Name Description
namespaces - JSON

Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured.

You can only access fields for which you have the appropriate permissions.

Learn more about extended fields.

Example
{"namespaces": {}}

CommonDataDataextensionsExtendedFieldsInput

Fields
Input Field Description
namespaces - JSON

Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured.

You can only access fields for which you have the appropriate permissions.

Learn more about extended fields.

Example
{"namespaces": {}}

ContactsCoreV4Contact

Fields
Field Name Description
createdDate - String Date and time the contact was created.
id - String Contact ID.
info - ContactsCoreV4ContactInfo Contact's details.
lastActivity - ContactsCoreV4ContactActivity Details about the contact's last action in the site.
picture - ContactsCoreV4UpstreamCommonImage

Contact's profile picture. This can contain an image URL and a Wix Media image ID.

Deprecation Notice: This property has been replaced with info.picture and will be removed on March 31, 2022. If your app uses this property, we recommend updating your code as soon as possible.

primaryEmail - ContactsCoreV4PrimaryEmail Contact's primary email details.
primaryInfo - ContactsCoreV4PrimaryContactInfo Contact's primary phone and email.
primaryPhone - ContactsCoreV4PrimaryPhone Contact's primary phone details.
revision - Int Revision number, which increments by 1 each time the contact is updated. To prevent conflicting changes, the existing revision must be used when updating a contact.
source - ContactsCoreV4ContactSource Details about the contact's source.
updatedDate - String Date and time the contact was last updated.
Example
{
  "createdDate": "xyz789",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "info": ContactsCoreV4ContactInfo,
  "lastActivity": ContactsCoreV4ContactActivity,
  "picture": ContactsCoreV4UpstreamCommonImage,
  "primaryEmail": ContactsCoreV4PrimaryEmail,
  "primaryInfo": ContactsCoreV4PrimaryContactInfo,
  "primaryPhone": ContactsCoreV4PrimaryPhone,
  "revision": 987,
  "source": ContactsCoreV4ContactSource,
  "updatedDate": "xyz789"
}

ContactsCoreV4ContactActivity

Fields
Field Name Description
activityDate - String Date and time of the last action.
activityType - ContactsCoreV4ContactActivityContactActivityType

Contact's last action in the site.

For descriptions of each value, see Last Activity Types.

Example
{
  "activityDate": "xyz789",
  "activityType": "GENERAL"
}

ContactsCoreV4ContactAddress

Fields
Field Name Description
address - ContactsCoreV4UpstreamCommonAddress Street address.
id - String Street address ID.
tag - ContactsCoreV4ContactAddressAddressTag Address type. UNTAGGED is shown as "Other" in the Contact List.
Example
{
  "address": ContactsCoreV4UpstreamCommonAddress,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "tag": "UNTAGGED"
}

ContactsCoreV4ContactAddressInput

Fields
Input Field Description
address - ContactsCoreV4UpstreamCommonAddressInput Street address.
id - String Street address ID.
tag - ContactsCoreV4ContactAddressAddressTag Address type. UNTAGGED is shown as "Other" in the Contact List.
Example
{
  "address": ContactsCoreV4UpstreamCommonAddressInput,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "tag": "UNTAGGED"
}

ContactsCoreV4ContactAddressesWrapper

Fields
Field Name Description
items - [ContactsCoreV4ContactAddress] List of up to 50 addresses.
Example
{"items": [ContactsCoreV4ContactAddress]}

ContactsCoreV4ContactAddressesWrapperInput

Fields
Input Field Description
items - [ContactsCoreV4ContactAddressInput] List of up to 50 addresses.
Example
{"items": [ContactsCoreV4ContactAddressInput]}

ContactsCoreV4ContactEmail

Fields
Field Name Description
email - String Email address.
id - String Email ID.
primary - Boolean Indicates whether this is the contact's primary email address. When changing primary to true for an email, the contact's other emails become false. It also affects the subscription status to marketing emails that are decided based on the primary email.
tag - ContactsCoreV4ContactEmailEmailTag

Email type.

UNTAGGED is shown as "Other" in the Contact List.

Example
{
  "email": "xyz789",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "primary": true,
  "tag": "UNTAGGED"
}

ContactsCoreV4ContactEmailInput

Fields
Input Field Description
email - String Email address.
id - String Email ID.
primary - Boolean Indicates whether this is the contact's primary email address. When changing primary to true for an email, the contact's other emails become false. It also affects the subscription status to marketing emails that are decided based on the primary email.
tag - ContactsCoreV4ContactEmailEmailTag

Email type.

UNTAGGED is shown as "Other" in the Contact List.

Example
{
  "email": "abc123",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "primary": true,
  "tag": "UNTAGGED"
}

ContactsCoreV4ContactEmailsWrapper

Fields
Field Name Description
items - [ContactsCoreV4ContactEmail] List of up to 50 email addresses.
Example
{"items": [ContactsCoreV4ContactEmail]}

ContactsCoreV4ContactEmailsWrapperInput

Fields
Input Field Description
items - [ContactsCoreV4ContactEmailInput] List of up to 50 email addresses.
Example
{"items": [ContactsCoreV4ContactEmailInput]}

ContactsCoreV4ContactFieldSet

Values
Enum Value Description

BASIC

name, primaryEmail, primaryPhone

COMMUNICATION_DETAILS

name, phones, emails, addresses

EXTENDED

name, primaryInfo(email, phone), extendedFields

FULL

Full contact object
Example
"BASIC"

ContactsCoreV4ContactInfo

Fields
Field Name Description
addresses - ContactsCoreV4ContactAddressesWrapper Contact's street addresses.
birthdate - String Birth date in YYYY-MM-DD format. For example, 2020-03-15.
company - String Contact's company name.
contactLabel - ContactsLabelsV4ContactLabel

List of contact's labels. Labels are used to organize contacts. When setting the labelKeys property, only labels that already exist in the site's Contacts List can be used. Labels can be added and removed using Label Contact and Unlabel Contact, respectively.

To view or manage site labels, use the Labels API.

emails - ContactsCoreV4ContactEmailsWrapper Contact's email addresses.
extendedFields - ContactsCoreV4ExtendedFieldsWrapper

Additional custom fields. This includes fields managed by Wix, by 3rd-party apps, and by the site.

Empty fields are not returned.

jobTitle - String Contact's job title. Corresponds to the Position field in the Dashboard.
labelKeys - ContactsCoreV4LabelsWrapper

List of contact's labels. Labels are used to organize contacts. When setting the labelKeys property, only labels that already exist in the site's Contacts List can be used. Labels can be added and removed using Label Contact and Unlabel Contact, respectively.

To view or manage site labels, use the Labels API.

locale - String Locale in IETF BCP 47 language tag format. Typically, this is a lowercase 2-letter language code, followed by a hyphen, followed by an uppercase 2-letter country code. For example, en-US for U.S. English, and de-DE for Germany German.
name - ContactsCoreV4ContactName Contact's first and last name.
phones - ContactsCoreV4ContactPhonesWrapper Contact's phone numbers.
picture - ContactsCoreV4ContactPicture Contact's profile picture.
Example
{
  "addresses": ContactsCoreV4ContactAddressesWrapper,
  "birthdate": "xyz789",
  "company": "xyz789",
  "contactLabel": ContactsLabelsV4ContactLabel,
  "emails": ContactsCoreV4ContactEmailsWrapper,
  "extendedFields": ContactsCoreV4ExtendedFieldsWrapper,
  "jobTitle": "xyz789",
  "labelKeys": ContactsCoreV4LabelsWrapper,
  "locale": "abc123",
  "name": ContactsCoreV4ContactName,
  "phones": ContactsCoreV4ContactPhonesWrapper,
  "picture": ContactsCoreV4ContactPicture
}

ContactsCoreV4ContactInfoInput

Fields
Input Field Description
addresses - ContactsCoreV4ContactAddressesWrapperInput Contact's street addresses.
birthdate - String Birth date in YYYY-MM-DD format. For example, 2020-03-15.
company - String Contact's company name.
emails - ContactsCoreV4ContactEmailsWrapperInput Contact's email addresses.
extendedFields - ContactsCoreV4ExtendedFieldsWrapperInput

Additional custom fields. This includes fields managed by Wix, by 3rd-party apps, and by the site.

Empty fields are not returned.

jobTitle - String Contact's job title. Corresponds to the Position field in the Dashboard.
labelKeys - String

List of contact's labels. Labels are used to organize contacts. When setting the labelKeys property, only labels that already exist in the site's Contacts List can be used. Labels can be added and removed using Label Contact and Unlabel Contact, respectively.

To view or manage site labels, use the Labels API.

locale - String Locale in IETF BCP 47 language tag format. Typically, this is a lowercase 2-letter language code, followed by a hyphen, followed by an uppercase 2-letter country code. For example, en-US for U.S. English, and de-DE for Germany German.
name - ContactsCoreV4ContactNameInput Contact's first and last name.
phones - ContactsCoreV4ContactPhonesWrapperInput Contact's phone numbers.
picture - ContactsCoreV4ContactPictureInput Contact's profile picture.
Example
{
  "addresses": ContactsCoreV4ContactAddressesWrapperInput,
  "birthdate": "xyz789",
  "company": "abc123",
  "emails": ContactsCoreV4ContactEmailsWrapperInput,
  "extendedFields": ContactsCoreV4ExtendedFieldsWrapperInput,
  "jobTitle": "abc123",
  "labelKeys": "abc123",
  "locale": "abc123",
  "name": ContactsCoreV4ContactNameInput,
  "phones": ContactsCoreV4ContactPhonesWrapperInput,
  "picture": ContactsCoreV4ContactPictureInput
}

ContactsCoreV4ContactName

Fields
Field Name Description
first - String Contact's first name.
last - String Contact's last name.
Example
{
  "first": "xyz789",
  "last": "xyz789"
}

ContactsCoreV4ContactNameInput

Fields
Input Field Description
first - String Contact's first name.
last - String Contact's last name.
Example
{
  "first": "xyz789",
  "last": "xyz789"
}

ContactsCoreV4ContactPhone

Fields
Field Name Description
countryCode - String ISO-3166 alpha-2 country code.
e164Phone - String ITU E.164-formatted phone number. Automatically generated using phone and countryCode, as long as both of those values are valid.
id - String Phone ID.
phone - String Phone number.
primary - Boolean Whether this is the contact's primary phone number. When changing primary to true for a phone, the contact's other phones become false. It also affects the subscription status to SMS messages that are decided based on the primary phone.
tag - ContactsCoreV4ContactPhonePhoneTag

Phone type.

UNTAGGED is shown as "Other" in the Contact List.

Example
{
  "countryCode": "xyz789",
  "e164Phone": "abc123",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "phone": "xyz789",
  "primary": false,
  "tag": "UNTAGGED"
}

ContactsCoreV4ContactPhoneInput

Fields
Input Field Description
countryCode - String ISO-3166 alpha-2 country code.
e164Phone - String ITU E.164-formatted phone number. Automatically generated using phone and countryCode, as long as both of those values are valid.
id - String Phone ID.
phone - String Phone number.
primary - Boolean Whether this is the contact's primary phone number. When changing primary to true for a phone, the contact's other phones become false. It also affects the subscription status to SMS messages that are decided based on the primary phone.
tag - ContactsCoreV4ContactPhonePhoneTag

Phone type.

UNTAGGED is shown as "Other" in the Contact List.

Example
{
  "countryCode": "xyz789",
  "e164Phone": "xyz789",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "phone": "xyz789",
  "primary": true,
  "tag": "UNTAGGED"
}

ContactsCoreV4ContactPhonesWrapper

Fields
Field Name Description
items - [ContactsCoreV4ContactPhone] List of up to 50 phone numbers.
Example
{"items": [ContactsCoreV4ContactPhone]}

ContactsCoreV4ContactPhonesWrapperInput

Fields
Input Field Description
items - [ContactsCoreV4ContactPhoneInput] List of up to 50 phone numbers.
Example
{"items": [ContactsCoreV4ContactPhoneInput]}

ContactsCoreV4ContactPicture

Fields
Field Name Description
image - ContactsCoreV4UpstreamCommonImage Image. This can contain an image URL or a Wix Media image ID.
Example
{"image": ContactsCoreV4UpstreamCommonImage}

ContactsCoreV4ContactPictureInput

Fields
Input Field Description
image - ContactsCoreV4UpstreamCommonImageInput Image. This can contain an image URL or a Wix Media image ID.
Example
{"image": ContactsCoreV4UpstreamCommonImageInput}

ContactsCoreV4ContactSource

Fields
Field Name Description
appId - String App ID, if the contact was created by an app.
sourceType - ContactsCoreV4ContactSourceContactSourceType Source type.
wixAppId - String

App ID, if the contact was created by a Wix app.

Deprecation Notice: This property has been replaced with appId and will be removed on March 31, 2022. If your app uses this property, we recommend updating your code as soon as possible.

Example
{
  "appId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "sourceType": "OTHER",
  "wixAppId": "62b7b87d-a24a-434d-8666-e270489eac09"
}

ContactsCoreV4CreateContactRequestInput

Fields
Input Field Description
allowDuplicates - Boolean

Controls whether the call will succeed if the new contact information contains an email or a phone number already used by another contact.

If set to true, the call will succeed even if an email address or phone number is used by another contact. If set to false, the call will fail if the given email address is used by another contact or, if the email address is not given and the given phone number is used by another contact.

Defaults to false.

info - ContactsCoreV4ContactInfoInput Contact info.
Example
{
  "allowDuplicates": false,
  "info": ContactsCoreV4ContactInfoInput
}

ContactsCoreV4CreateContactResponse

Fields
Field Name Description
contact - ContactsCoreV4Contact Contact.
Example
{"contact": ContactsCoreV4Contact}

ContactsCoreV4DeleteContactRequestInput

Fields
Input Field Description
contactId - String ID of the contact to delete.
Example
{"contactId": "62b7b87d-a24a-434d-8666-e270489eac09"}

ContactsCoreV4ExtendedFieldsWrapper

Fields
Field Name Description
items - JSON

Contact's extended fields, where each key is the field key, and each value is the field's value for the contact.

To view and manage extended fields, use the Extended Fields API.

Example
{"items": {}}

ContactsCoreV4ExtendedFieldsWrapperInput

Fields
Input Field Description
items - JSON

Contact's extended fields, where each key is the field key, and each value is the field's value for the contact.

To view and manage extended fields, use the Extended Fields API.

Example
{"items": {}}

ContactsCoreV4LabelContactRequestInput

Fields
Input Field Description
contactId - String ID of the contact to add labels to.
labelKeys - [String]

List of label keys to add to the contact.

Label keys must exist to be added to the contact. Contact labels can be created or retrieved with Find or Create Label or List Labels.

Example
{
  "contactId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "labelKeys": ["xyz789"]
}

ContactsCoreV4LabelContactResponse

Fields
Field Name Description
contact - ContactsCoreV4Contact Updated contact.
Example
{"contact": ContactsCoreV4Contact}

ContactsCoreV4LabelsWrapper

Fields
Field Name Description
items - [String]

List of contact label keys. Contact labels help categorize contacts.

Label keys must exist to be added to the contact. Contact labels can be created or retrieved with Find or Create Label or List Labels

labels - ContactsLabelsV4QueryLabelsResponse

List of contact label keys. Contact labels help categorize contacts.

Label keys must exist to be added to the contact. Contact labels can be created or retrieved with Find or Create Label or List Labels

Example
{
  "items": ["xyz789"],
  "labels": ContactsLabelsV4QueryLabelsResponse
}

ContactsCoreV4MergeContactsRequestInput

Fields
Input Field Description
sourceContactIds - [String] IDs of up to 5 contacts to merge into the target contact. If merging more than one source contact, the first source is given precedence, then the second, and so on.
targetContactId - String Target contact ID.
targetContactRevision - Int Target contact revision number, which increments by 1 each time the contact is updated. To prevent conflicting changes, the target contact's current revision must be passed.
Example
{
  "sourceContactIds": ["xyz789"],
  "targetContactId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "targetContactRevision": 123
}

ContactsCoreV4MergeContactsResponse

Fields
Field Name Description
contact - ContactsCoreV4Contact Updated target contact.
Example
{"contact": ContactsCoreV4Contact}

ContactsCoreV4PrimaryContactInfo

Fields
Field Name Description
email - String

Primary email address.

This property reflects the email address in info.emails where primary is true.

phone - String

Primary phone number.

This property reflects the phone number in info.phones where primary is true.

Example
{
  "email": "abc123",
  "phone": "abc123"
}

ContactsCoreV4PrimaryEmail

Fields
Field Name Description
deliverabilityStatus - ContactsCoreV4PrimaryEmailEmailDeliverabilityStatus

Indicates last reported status of sent emails.

  • NOT_SET: No status reported. Default.
  • VALID: Emails are being successfully delivered.
  • BOUNCED: The last email to the recipient bounced or was rejected.
  • SPAM_COMPLAINT: Recipient registered a spam complaint with their email provider.
  • INACTIVE: Multiple emails have been delivered without any kind of engagement from the recipient.
email - String

Primary email address.

This property reflects the email address in info.emails where primary is true.

subscriptionStatus - ContactsCoreV4SubscriptionStatus

Indicates the recipient's opt-in or opt-out status for marketing emails.

  • NOT_SET: No status specified. Default.
  • PENDING: Subscription confirmation was requested, but recipient hasn't confirmed yet.
  • SUBSCRIBED: Recipient has opted in to marketing emails.
  • UNSUBSCRIBED: Recipient has opted out of marketing emails.
Example
{
  "deliverabilityStatus": "UNKNOWN_EMAIL_DELIVERABILITY_STATUS",
  "email": "xyz789",
  "subscriptionStatus": "NO_SUBSCRIPTION_STATUS"
}

ContactsCoreV4PrimaryPhone

Fields
Field Name Description
countryCode - String ISO-3166 alpha-2 country code of the primary phone.
deliverabilityStatus - ContactsCoreV4PrimaryPhonePhoneDeliverabilityStatus
  • NO_PHONE_DELIVERABILITY_STATUS: No status exists. This is the status when the phone is not a valid E164 phone.
  • NOT_SET: No status reported. Default when the phone is a valid E164 phone.
e164Phone - String ITU E.164-formatted phone number. Automatically generated using phone and countryCode, as long as both of those values are valid.
formattedPhone - String Formatted phone. Automatically generated using phone and countryCode.
phone - String

Primary phone number.

This property reflects the phone number in info.phones where primary is true.

subscriptionStatus - ContactsCoreV4SubscriptionStatus

Indicates the recipient's opt-in or opt-out status for SMS messages.

  • NO_SUBSCRIPTION_STATUS: No status exists. This is the status when the phone is not a valid E164 phone.
  • NOT_SET: No status specified. Default when the phone is a valid E164 phone.
  • PENDING: Subscription confirmation was requested, but recipient hasn't confirmed yet.
  • SUBSCRIBED: Recipient has opted in to SMS messages.
  • UNSUBSCRIBED: Recipient has opted out of SMS messages.
Example
{
  "countryCode": "abc123",
  "deliverabilityStatus": "NO_PHONE_DELIVERABILITY_STATUS",
  "e164Phone": "xyz789",
  "formattedPhone": "abc123",
  "phone": "abc123",
  "subscriptionStatus": "NO_SUBSCRIPTION_STATUS"
}

ContactsCoreV4SubscriptionStatus

Values
Enum Value Description

NO_SUBSCRIPTION_STATUS

NOT_SET

PENDING

SUBSCRIBED

UNSUBSCRIBED

Example
"NO_SUBSCRIPTION_STATUS"

ContactsCoreV4UnlabelContactRequestInput

Fields
Input Field Description
contactId - String ID of the contact to remove labels from.
labelKeys - [String] List of label keys to remove from the contact.
Example
{
  "contactId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "labelKeys": ["xyz789"]
}

ContactsCoreV4UnlabelContactResponse

Fields
Field Name Description
contact - ContactsCoreV4Contact Updated contact.
Example
{"contact": ContactsCoreV4Contact}

ContactsCoreV4UpdateContactRequestInput

Fields
Input Field Description
allowDuplicates - Boolean

Controls whether the call will succeed if the new contact information contains an email or a phone number already used by another contact.

If set to true, the call will succeed even if an email address or phone number is used by another contact. If set to false, the call will fail if the given email address is used by another contact or, if the email address is not given and the given phone number is used by another contact.

Defaults to false.

contactId - String ID of the contact to update.
info - ContactsCoreV4ContactInfoInput Contact info.
revision - Int Revision number. When updating, include the existing revision to prevent conflicting updates.
Example
{
  "allowDuplicates": true,
  "contactId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "info": ContactsCoreV4ContactInfoInput,
  "revision": 123
}

ContactsCoreV4UpdateContactResponse

Fields
Field Name Description
contact - ContactsCoreV4Contact Updated contact.
Example
{"contact": ContactsCoreV4Contact}

CrmContactsV4ContactRequestInput

Fields
Input Field Description
fields - [String]

List of projected fields to return. If both fields and fieldsets are sent in the request, the union of both lists is returned. id and revision are always returned.

Supported properties: source, createdDate, updatedDate, lastActivity, primaryInfo, primaryEmail, primaryPhone, info.name, info.emails, info.phones, info.addresses, info.company, info.jobTitle, info.picture, info.birthdate, info.locale, info.labelKeys, info.locations, info.extendedFields

fieldsets - [ContactsCoreV4ContactFieldSet]

Predefined sets of fields to return. If both fields and fieldsets are sent in the request, the union of both lists is returned.

  • BASIC: Returns id, revision, primaryInfo, info.name, primaryEmail, primaryPhone.
  • COMMUNICATION_DETAILS: Returns id, revision, primaryInfo, primaryEmail, primaryPhone, info.name, info.emails, info.phones, info.addresses.
  • EXTENDED: Returns id, revision, primaryInfo, primaryEmail, primaryPhone, info.name, info.extendedFields.
  • FULL: Returns all fields.

Default: If fields is omitted from the request, FULL.

id - ID!
Example
{
  "fields": ["xyz789"],
  "fieldsets": ["BASIC"],
  "id": "4"
}

ContactsCoreV4ContactActivityContactActivityType

Values
Enum Value Description

GENERAL

Last visit to your site (any unknown activity)

CONTACT_CREATED

This cannot be reported, used when contact created, will throw exception

MEMBER_LOGIN

"auth/login"

MEMBER_REGISTER

"auth/register"

MEMBER_STATUS_CHANGED

"auth/status-change"

FORM_SUBMITTED

"contact/contact-form", (but also "form/contact-form", "form/form")

INBOX_FORM_SUBMITTED

"form/lead-capture-form"

INBOX_PAYMENT_REQUEST_PAID

"chat/payment-request-paid"

INBOX_MESSAGE_TO_CUSTOMER

"messaging/email" - Direction BUSINESS_TO_CUSTOMER

INBOX_MESSAGE_FROM_CUSTOMER

"messaging/email" - Direction CUSTOMER_TO_BUSINESS

NEWSLETTER_SUBSCRIPTION_FORM_SUBMITTED

"contact/subscription-form" (but also "form/subscription-form")

NEWSLETTER_SUBSCRIPTION_UNSUBSCRIBE

"contact/unsubscribe"

ECOM_PURCHASE

"e_commerce/purchase"

ECOM_CART_ABANDON

"e_commerce/cart-abandon"

ECOM_CHECKOUT_BUYER

"e_commerce/checkout-buyer"

BOOKINGS_APPOINTMENT

"scheduler/appointment"

HOTELS_RESERVATION

"hotels/reservation"

HOTELS_PURCHASE

"hotels/purchase"

HOTELS_CONFIRMATION

"hotels/confirmation"

HOTELS_CANCEL

"hotels/cancel"

VIDEO_PURCHASE

"video/purchase"

VIDEO_RENT

"video/rent"

CASHIER_BUTTON_PURCHASE

"cashier/button_purchase"

ARENA_NEW_LEAD

"arena/new-lead"

EVENTS_RSVP

"events/rsvp"

INVOICE_PAY

"invoice/pay"

INVOICE_OVERDUE

"invoice/overdue"

PRICE_QUOTE_ACCEPT

"price-quote/accept"

PRICE_QUOTE_EXPIRE

"price-quote/expire"

RESTAURANTS_ORDER

"restaurants/order"

RESTAURANTS_RESERVATION

"restaurants/reservation"

SHOUTOUT_OPEN

"shoutout/open"

SHOUTOUT_CLICK

"shoutout/click"

CONTACT_MERGED

NEWSLETTER_SUBSCRIPTION_SUBSCRIBE

"contact/subscribe"

NEWSLETTER_SUBSCRIPTION_PENDING

"contact/subscription-pending"

NEWSLETTER_SUBSCRIPTION_NOT_SET

"contact/subscription-not-set"

PHONE_SUBSCRIPTION_SUBSCRIBE

"contact/phone-subscription-subscribe"

PHONE_SUBSCRIPTION_PENDING

"contact/phone-subscription-pending"

PHONE_SUBSCRIPTION_NOT_SET

"contact/phone-subscription-not-set"

PHONE_SUBSCRIPTION_UNSUBSCRIBE

"contact/phone-subscription-unsubscribe"
Example
"GENERAL"

ContactsCoreV4ContactAddressAddressTag

Values
Enum Value Description

UNTAGGED

HOME

WORK

BILLING

SHIPPING

Example
"UNTAGGED"

ContactsCoreV4ContactEmailEmailTag

Values
Enum Value Description

UNTAGGED

MAIN

HOME

WORK

Example
"UNTAGGED"

ContactsCoreV4ContactPhonePhoneTag

Values
Enum Value Description

UNTAGGED

MAIN

HOME

MOBILE

WORK

FAX

Example
"UNTAGGED"

ContactsCoreV4ContactSourceContactSourceType

Values
Enum Value Description

OTHER

ADMIN

WIX_APP

IMPORT

THIRD_PARTY

WIX_BOOKINGS

WIX_CHAT

WIX_EMAIL_MARKETING

WIX_EVENTS

WIX_FORMS

WIX_GROUPS

WIX_HOTELS

WIX_MARKET_PLACE

WIX_MUSIC

WIX_RESTAURANTS

WIX_SITE_MEMBERS

WIX_STORES

WIX_CODE

HOPP

Example
"OTHER"

ContactsCoreV4PrimaryEmailEmailDeliverabilityStatus

Values
Enum Value Description

UNKNOWN_EMAIL_DELIVERABILITY_STATUS

NOT_SET

VALID

BOUNCED

SPAM_COMPLAINT

INACTIVE

Example
"UNKNOWN_EMAIL_DELIVERABILITY_STATUS"

ContactsCoreV4PrimaryPhonePhoneDeliverabilityStatus

Values
Enum Value Description

NO_PHONE_DELIVERABILITY_STATUS

NOT_SET

Example
"NO_PHONE_DELIVERABILITY_STATUS"

ContactsCoreV4UpstreamCommonAddress

Fields
Field Name Description
addressLine - String Main address line, usually street and number, as free text.
addressLine2 - String Free text providing more detailed address information, such as apartment, suite, or floor.
city - String City name.
country - String 2-letter country code in an ISO-3166 alpha-2 format.
postalCode - String Postal or zip code.
streetAddress - ContactsCoreV4UpstreamCommonStreetAddress Street address object, with number and name in separate fields.
subdivision - String Code for a subdivision (such as state, prefecture, or province) in an ISO 3166-2 format.
Example
{
  "addressLine": "abc123",
  "addressLine2": "abc123",
  "city": "abc123",
  "country": "abc123",
  "postalCode": "xyz789",
  "streetAddress": ContactsCoreV4UpstreamCommonStreetAddress,
  "subdivision": "abc123"
}

ContactsCoreV4UpstreamCommonAddressInput

Fields
Input Field Description
addressLine - String Main address line, usually street and number, as free text.
addressLine2 - String Free text providing more detailed address information, such as apartment, suite, or floor.
city - String City name.
country - String 2-letter country code in an ISO-3166 alpha-2 format.
postalCode - String Postal or zip code.
streetAddress - ContactsCoreV4UpstreamCommonStreetAddressInput Street address object, with number and name in separate fields.
subdivision - String Code for a subdivision (such as state, prefecture, or province) in an ISO 3166-2 format.
Example
{
  "addressLine": "abc123",
  "addressLine2": "abc123",
  "city": "xyz789",
  "country": "xyz789",
  "postalCode": "xyz789",
  "streetAddress": ContactsCoreV4UpstreamCommonStreetAddressInput,
  "subdivision": "abc123"
}

ContactsCoreV4UpstreamCommonImage

Fields
Field Name Description
altText - String Image alt text. Optional.
height - Int Height of the original image.
id - String WixMedia image ID. This property is written by Wix when an image is uploaded to the Wix Media Manager.
url - String Image source: Either a Media Manager URL or external URL.
urlExpirationDate - String Image URL expiration date (when relevant). Optional
width - Int Width of the original image.
Example
{
  "altText": "xyz789",
  "height": 987,
  "id": "xyz789",
  "url": "abc123",
  "urlExpirationDate": "abc123",
  "width": 123
}

ContactsCoreV4UpstreamCommonImageInput

Fields
Input Field Description
altText - String Image alt text. Optional.
height - Int Height of the original image.
id - String WixMedia image ID. This property is written by Wix when an image is uploaded to the Wix Media Manager.
url - String Image source: Either a Media Manager URL or external URL.
urlExpirationDate - String Image URL expiration date (when relevant). Optional
width - Int Width of the original image.
Example
{
  "altText": "abc123",
  "height": 123,
  "id": "abc123",
  "url": "abc123",
  "urlExpirationDate": "abc123",
  "width": 987
}

ContactsCoreV4UpstreamCommonStreetAddress

Fields
Field Name Description
name - String Street name.
number - String Street number.
Example
{
  "name": "abc123",
  "number": "xyz789"
}

ContactsCoreV4UpstreamCommonStreetAddressInput

Fields
Input Field Description
name - String Street name.
number - String Street number.
Example
{
  "name": "xyz789",
  "number": "abc123"
}

ContactsFieldsV4DeleteExtendedFieldRequestInput

Fields
Input Field Description
key - String Extended field key.
Example
{"key": "xyz789"}

ContactsFieldsV4ExtendedField

Fields
Field Name Description
createdDate - String Date and time the field was created.
dataType - ContactsFieldsV4ExtendedFieldFieldDataType

Type of data the field holds.

  • TEXT: Accepts strings.
  • NUMBER: Accepts floats.
  • DATE: Accepts dates formatted as YYYY-MM-DD.
  • URL: Accepts strings. Prepends https:// if no protocol is included.
description - String Field description, if the field is a system field.
displayName - String Display name shown in the Contact List.
fieldType - ContactsFieldsV4ExtendedFieldFieldType

Indicates whether the extended field is a system field or custom field.

  • SYSTEM: The field is a system field managed by Wix. System fields cannot be modified by 3rd-party apps or site contributors.
  • USER_DEFINED: The field is a custom field and can be modified by 3rd-party apps or site contributors.
key - String

Extended field key.

When accessing contact data, extended field data is available at extendedFields[key]. For example, if the key is "custom.notes", the value can be accessed at extendedFields["custom.notes"].

key is generated when the extended field is created and cannot be modified, even if displayName changes.

namespace - String

Extended field namespace.

Extended fields created by site collaborators or 3rd-party apps are automatically assigned to the custom namespace.

updatedDate - String Date and time the field was last updated.
Example
{
  "createdDate": "abc123",
  "dataType": "UNKNOWN_DATA_TYPE",
  "description": "abc123",
  "displayName": "xyz789",
  "fieldType": "UNKNOWN",
  "key": "xyz789",
  "namespace": "xyz789",
  "updatedDate": "xyz789"
}

ContactsFieldsV4ExtendedFieldInput

Fields
Input Field Description
createdDate - String Date and time the field was created.
dataType - ContactsFieldsV4ExtendedFieldFieldDataType

Type of data the field holds.

  • TEXT: Accepts strings.
  • NUMBER: Accepts floats.
  • DATE: Accepts dates formatted as YYYY-MM-DD.
  • URL: Accepts strings. Prepends https:// if no protocol is included.
description - String Field description, if the field is a system field.
displayName - String Display name shown in the Contact List.
fieldType - ContactsFieldsV4ExtendedFieldFieldType

Indicates whether the extended field is a system field or custom field.

  • SYSTEM: The field is a system field managed by Wix. System fields cannot be modified by 3rd-party apps or site contributors.
  • USER_DEFINED: The field is a custom field and can be modified by 3rd-party apps or site contributors.
key - String

Extended field key.

When accessing contact data, extended field data is available at extendedFields[key]. For example, if the key is "custom.notes", the value can be accessed at extendedFields["custom.notes"].

key is generated when the extended field is created and cannot be modified, even if displayName changes.

namespace - String

Extended field namespace.

Extended fields created by site collaborators or 3rd-party apps are automatically assigned to the custom namespace.

updatedDate - String Date and time the field was last updated.
Example
{
  "createdDate": "xyz789",
  "dataType": "UNKNOWN_DATA_TYPE",
  "description": "xyz789",
  "displayName": "xyz789",
  "fieldType": "UNKNOWN",
  "key": "xyz789",
  "namespace": "xyz789",
  "updatedDate": "abc123"
}

ContactsFieldsV4FindOrCreateExtendedFieldRequestInput

Fields
Input Field Description
dataType - ContactsFieldsV4ExtendedFieldFieldDataType

Type of data the field holds. Ignored if an existing field is an exact match for the specified display name.

  • TEXT: Accepts strings.
  • NUMBER: Accepts floats.
  • DATE: Accepts dates formatted as YYYY-MM-DD.
  • URL: Accepts strings. Prepends https:// if no protocol is included.
displayName - String

Display name to find or create.

If an existing custom field is an exact match for the specified displayName, the existing field is returned. If not, a new field is created and returned.

Example
{
  "dataType": "UNKNOWN_DATA_TYPE",
  "displayName": "xyz789"
}

ContactsFieldsV4FindOrCreateExtendedFieldResponse

Fields
Field Name Description
field - ContactsFieldsV4ExtendedField Extended field that was found or created.
newField - Boolean

Indicates whether the extended field was just created or already existed.

If the field was just created, returns true. If the field already existed, returns false.

Example
{"field": ContactsFieldsV4ExtendedField, "newField": true}

ContactsFieldsV4QueryExtendedFieldsRequestInput

Fields
Input Field Description
query - ContactsFieldsV4UpstreamQueryQueryInput Query options.
Example
{"query": ContactsFieldsV4UpstreamQueryQueryInput}

ContactsFieldsV4QueryExtendedFieldsResponse

Fields
Field Name Description
items - [ContactsFieldsV4ExtendedField] Query results
pageInfo - PageInfo Pagination data
Example
{
  "items": [ContactsFieldsV4ExtendedField],
  "pageInfo": PageInfo
}

ContactsFieldsV4UpdateExtendedFieldRequestInput

Fields
Input Field Description
field - ContactsFieldsV4ExtendedFieldInput Field to update.
Example
{"field": ContactsFieldsV4ExtendedFieldInput}

ContactsFieldsV4UpdateExtendedFieldResponse

Fields
Field Name Description
field - ContactsFieldsV4ExtendedField Updated extended field.
Example
{"field": ContactsFieldsV4ExtendedField}

CrmExtendedFieldsV4ExtendedFieldRequestInput

Fields
Input Field Description
id - ID!
Example
{"id": 4}

ContactsFieldsV4ExtendedFieldFieldDataType

Values
Enum Value Description

UNKNOWN_DATA_TYPE

TEXT

NUMBER

DATE

URL

Example
"UNKNOWN_DATA_TYPE"

ContactsFieldsV4ExtendedFieldFieldType

Values
Enum Value Description

UNKNOWN

SYSTEM

USER_DEFINED

Example
"UNKNOWN"

ContactsFieldsV4UpstreamCommonPagingInput

Fields
Input Field Description
limit - Int

Number of items to return.

Defaults to 100.

offset - Int

Number of items to skip in the current sort order.

Defaults to 0.

Example
{"limit": 123, "offset": 123}

ContactsFieldsV4UpstreamCommonSortOrder

Values
Enum Value Description

ASC

DESC

Example
"ASC"

ContactsFieldsV4UpstreamCommonSortingInput

Fields
Input Field Description
fieldName - String Name of the field to sort by.
order - ContactsFieldsV4UpstreamCommonSortOrder

Sort order. Use ASC for ascending order or DESC for descending order.

Defaults to ASC.

Example
{"fieldName": "xyz789", "order": "ASC"}

ContactsFieldsV4UpstreamQueryQueryInput

Fields
Input Field Description
filter - JSON

ilter object.

Possible filters: $eq, $gt, $gte, $in, $lt, $lte, $ne, $startsWith.

For a detailed list of supported filters, see sorting and filtering for extended fields.

Example: { "filter": { "displayName": { "$startsWith": "Referral" } } }

paging - ContactsFieldsV4UpstreamCommonPagingInput Pagination options.
sort - [ContactsFieldsV4UpstreamCommonSortingInput]

Sorting options. Currently supports sorting on one field only.

Example: { "sort": [{"fieldName": "displayName", "order": "DESC"}] }

Example
{
  "filter": {},
  "paging": ContactsFieldsV4UpstreamCommonPagingInput,
  "sort": [ContactsFieldsV4UpstreamCommonSortingInput]
}

ContactsLabelsV4ContactLabel

Fields
Field Name Description
createdDate - String Date and time the label was created.
displayName - String Label display name shown in the Dashboard.
key - String

Label key.

key is generated when the label is created. It cannot be modified, even if displayName is updated.

labelType - ContactsLabelsV4ContactLabelLabelType

Label type indicating how the label was created.

  • SYSTEM: Default system label for the Contact List.
  • USER_DEFINED: Label created by a site contributor or 3rd-party app.
  • WIX_APP_DEFINED: Label created by a Wix app.
namespace - String

Label namespace.

Labels created by site admins or 3rd-party apps are automatically assigned to the custom namespace.

namespaceDisplayName - String Display name for the namespace, used to organize the list of labels in the site Dashboard.
updatedDate - String Date and time the label was last updated.
Example
{
  "createdDate": "xyz789",
  "displayName": "xyz789",
  "key": "abc123",
  "labelType": "UNKNOWN",
  "namespace": "xyz789",
  "namespaceDisplayName": "xyz789",
  "updatedDate": "abc123"
}

ContactsLabelsV4ContactLabelInput

Fields
Input Field Description
createdDate - String Date and time the label was created.
displayName - String Label display name shown in the Dashboard.
key - String

Label key.

key is generated when the label is created. It cannot be modified, even if displayName is updated.

labelType - ContactsLabelsV4ContactLabelLabelType

Label type indicating how the label was created.

  • SYSTEM: Default system label for the Contact List.
  • USER_DEFINED: Label created by a site contributor or 3rd-party app.
  • WIX_APP_DEFINED: Label created by a Wix app.
namespace - String

Label namespace.

Labels created by site admins or 3rd-party apps are automatically assigned to the custom namespace.

namespaceDisplayName - String Display name for the namespace, used to organize the list of labels in the site Dashboard.
updatedDate - String Date and time the label was last updated.
Example
{
  "createdDate": "abc123",
  "displayName": "abc123",
  "key": "abc123",
  "labelType": "UNKNOWN",
  "namespace": "xyz789",
  "namespaceDisplayName": "abc123",
  "updatedDate": "abc123"
}

ContactsLabelsV4DeleteLabelRequestInput

Fields
Input Field Description
key - String Label key to delete.
Example
{"key": "xyz789"}

ContactsLabelsV4FindOrCreateLabelRequestInput

Fields
Input Field Description
displayName - String

Display name to retrieve or create.

If an existing label is an exact match for the specified display name, the existing label is returned. If not, a new label is created and returned.

language - String Language for localization.
Example
{
  "displayName": "xyz789",
  "language": "xyz789"
}

ContactsLabelsV4FindOrCreateLabelResponse

Fields
Field Name Description
label - ContactsLabelsV4ContactLabel Label that was found or created.
newLabel - Boolean

Indicates whether the label was just created or already existed.

If the label was just created, returns true. If it already existed, returns false.

Example
{"label": ContactsLabelsV4ContactLabel, "newLabel": false}

ContactsLabelsV4QueryLabelsRequestInput

Fields
Input Field Description
language - String Language for localization.
query - ContactsLabelsV4UpstreamQueryQueryInput Query options.
Example
{
  "language": "xyz789",
  "query": ContactsLabelsV4UpstreamQueryQueryInput
}

ContactsLabelsV4QueryLabelsResponse

Fields
Field Name Description
items - [ContactsLabelsV4ContactLabel] Query results
pageInfo - PageInfo Pagination data
Example
{
  "items": [ContactsLabelsV4ContactLabel],
  "pageInfo": PageInfo
}

ContactsLabelsV4UpdateLabelRequestInput

Fields
Input Field Description
label - ContactsLabelsV4ContactLabelInput Label details to update.
language - String Language for localization.
Example
{
  "label": ContactsLabelsV4ContactLabelInput,
  "language": "xyz789"
}

ContactsLabelsV4UpdateLabelResponse

Fields
Field Name Description
label - ContactsLabelsV4ContactLabel Updated label.
Example
{"label": ContactsLabelsV4ContactLabel}

CrmLabelsV4ContactLabelRequestInput

Fields
Input Field Description
id - ID!
language - String Language for localization.
Example
{"id": 4, "language": "abc123"}

ContactsLabelsV4ContactLabelLabelType

Values
Enum Value Description

UNKNOWN

Need UNKNOWN to be able to fetch all labels

SYSTEM

USER_DEFINED

WIX_APP_DEFINED

Example
"UNKNOWN"

ContactsLabelsV4UpstreamCommonPagingInput

Fields
Input Field Description
limit - Int

Number of items to return.

Defaults to 1000.
Maximum: 2000.

offset - Int Number of items to skip in the current sort order.
Example
{"limit": 987, "offset": 987}

ContactsLabelsV4UpstreamCommonSortOrder

Values
Enum Value Description

ASC

DESC

Example
"ASC"

ContactsLabelsV4UpstreamCommonSortingInput

Fields
Input Field Description
fieldName - String Name of the field to sort by.
order - ContactsLabelsV4UpstreamCommonSortOrder

Sort order. Use ASC for ascending order or DESC for descending order.

Defaults to ASC.

Example
{"fieldName": "xyz789", "order": "ASC"}

ContactsLabelsV4UpstreamQueryQueryInput

Fields
Input Field Description
filter - JSON

ilter object.

Possible filters: $eq, $gt, $gte, $in, $lt, $lte, $ne, $startsWith.

For a detailed list of supported filters, see sorting and filtering for labels.

Example: { "filter": { "displayName": { "$startsWith": "Referral" } } }

paging - ContactsLabelsV4UpstreamCommonPagingInput Pagination options.
sort - [ContactsLabelsV4UpstreamCommonSortingInput]

Sorting options. For a list of fields that can be sorted, see sorting and filtering for labels.

Example: { "sort": [{"fieldName": "displayName", "order": "DESC"}] }

Example
{
  "filter": {},
  "paging": ContactsLabelsV4UpstreamCommonPagingInput,
  "sort": [ContactsLabelsV4UpstreamCommonSortingInput]
}

EcomCartV1AddToCartRequestInput

Fields
Input Field Description
id - String Cart ID.
lineItems - [EcomCartV1LineItemInput] Catalog line items.
Example
{
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "lineItems": [EcomCartV1LineItemInput]
}

EcomCartV1AddToCartResponse

Fields
Field Name Description
cart - EcomCartV1Cart Updated cart.
Example
{"cart": EcomCartV1Cart}

EcomCartV1AddToCurrentCartRequestInput

Fields
Input Field Description
lineItems - [EcomCartV1LineItemInput] Catalog line items.
Example
{"lineItems": [EcomCartV1LineItemInput]}

EcomCartV1BuyerInfo

Fields
Field Name Description
contact - ContactsCoreV4Contact Contact ID. For more information, see Contacts API.
contactId - String Contact ID. For more information, see Contacts API.
email - String Buyer email address.
member - MembersMember Member ID - if the buyer is a site member.
memberId - String Member ID - if the buyer is a site member.
userId - String User ID - if the buyer (or cart owner) is a Wix user.
visitorId - String Visitor ID - if the buyer is not a site member.
Example
{
  "contact": "62b7b87d-a24a-434d-8666-e270489eac09",
  "contactId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "email": "xyz789",
  "member": "62b7b87d-a24a-434d-8666-e270489eac09",
  "memberId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "userId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "visitorId": "62b7b87d-a24a-434d-8666-e270489eac09"
}

EcomCartV1BuyerInfoInput

Fields
Input Field Description
contactId - String Contact ID. For more information, see Contacts API.
email - String Buyer email address.
memberId - String Member ID - if the buyer is a site member.
userId - String User ID - if the buyer (or cart owner) is a Wix user.
visitorId - String Visitor ID - if the buyer is not a site member.
Example
{
  "contactId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "email": "xyz789",
  "memberId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "userId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "visitorId": "62b7b87d-a24a-434d-8666-e270489eac09"
}

EcomCartV1Cart

Fields
Field Name Description
appliedDiscounts - [EcomCartV1CartDiscount] Cart discounts.
buyerInfo - EcomCartV1BuyerInfo Buyer information.
buyerLanguage - String Language for communication with the buyer. Defaults to the site language. For a site that supports multiple languages, this is the language the buyer selected.
buyerNote - String Note left by the buyer/customer.
checkoutId - String ID of the checkout that originated from this cart.
contactInfo - EcommercePlatformCommonAddressWithContact Contact info.
conversionCurrency - String Currency code used for all the converted prices that are returned. For a site that supports multiple currencies, this is the currency the buyer selected.
createdDate - String Date and time the cart was created.
currency - String Currency used for pricing.
id - String Cart ID.
lineItems - [EcomCartV1LineItem] Line items.
overrideCheckoutUrl - String

overrideCheckoutUrl allows the flexibility to redirect customers to a customized checkout page.

This field overrides the checkoutUrl in a cart or checkout. checkoutUrl is used in the Abandoned Checkout API to send customers back to their checkouts. By default, a checkoutUrl generates for a checkout and directs to a standard Wix checkout page. When overrideCheckoutUrl has a value, it will replace and set the value of checkoutUrl.

purchaseFlowId - String Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order.
selectedShippingOption - EcomTotalsCalculatorV1SelectedShippingOption Selected shipping option.
siteLanguage - String Site language in which original values are displayed.
taxIncludedInPrices - Boolean Whether tax is included in line item prices.
updatedDate - String Date and time the cart was updated.
weightUnit - EcommercePlatformCommonWeightUnit Weight measurement unit - defaults to site's weight unit.
Example
{
  "appliedDiscounts": [EcomCartV1CartDiscount],
  "buyerInfo": EcomCartV1BuyerInfo,
  "buyerLanguage": "xyz789",
  "buyerNote": "abc123",
  "checkoutId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "contactInfo": EcommercePlatformCommonAddressWithContact,
  "conversionCurrency": "abc123",
  "createdDate": "xyz789",
  "currency": "abc123",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "lineItems": [EcomCartV1LineItem],
  "overrideCheckoutUrl": "abc123",
  "purchaseFlowId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "selectedShippingOption": EcomTotalsCalculatorV1SelectedShippingOption,
  "siteLanguage": "abc123",
  "taxIncludedInPrices": false,
  "updatedDate": "xyz789",
  "weightUnit": "UNSPECIFIED_WEIGHT_UNIT"
}

EcomCartV1CartDiscount

Fields
Field Name Description
coupon - EcomCartV1Coupon Coupon details.
merchantDiscount - EcomCartV1MerchantDiscount Merchant discount.
Example
{
  "coupon": EcomCartV1Coupon,
  "merchantDiscount": EcomCartV1MerchantDiscount
}

EcomCartV1CartDiscountInput

Fields
Input Field Description
coupon - EcomCartV1CouponInput Coupon details.
merchantDiscount - EcomCartV1MerchantDiscountInput Merchant discount.
Example
{
  "coupon": EcomCartV1CouponInput,
  "merchantDiscount": EcomCartV1MerchantDiscountInput
}

EcomCartV1CartInput

Fields
Input Field Description
appliedDiscounts - [EcomCartV1CartDiscountInput] Cart discounts.
buyerInfo - EcomCartV1BuyerInfoInput Buyer information.
buyerLanguage - String Language for communication with the buyer. Defaults to the site language. For a site that supports multiple languages, this is the language the buyer selected.
buyerNote - String Note left by the buyer/customer.
checkoutId - String ID of the checkout that originated from this cart.
contactInfo - EcommercePlatformCommonAddressWithContactInput Contact info.
conversionCurrency - String Currency code used for all the converted prices that are returned. For a site that supports multiple currencies, this is the currency the buyer selected.
createdDate - String Date and time the cart was created.
currency - String Currency used for pricing.
id - String Cart ID.
lineItems - [EcomCartV1LineItemInput] Line items.
overrideCheckoutUrl - String

overrideCheckoutUrl allows the flexibility to redirect customers to a customized checkout page.

This field overrides the checkoutUrl in a cart or checkout. checkoutUrl is used in the Abandoned Checkout API to send customers back to their checkouts. By default, a checkoutUrl generates for a checkout and directs to a standard Wix checkout page. When overrideCheckoutUrl has a value, it will replace and set the value of checkoutUrl.

purchaseFlowId - String Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order.
selectedShippingOption - EcomTotalsCalculatorV1SelectedShippingOptionInput Selected shipping option.
siteLanguage - String Site language in which original values are displayed.
taxIncludedInPrices - Boolean Whether tax is included in line item prices.
updatedDate - String Date and time the cart was updated.
weightUnit - EcommercePlatformCommonWeightUnit Weight measurement unit - defaults to site's weight unit.
Example
{
  "appliedDiscounts": [EcomCartV1CartDiscountInput],
  "buyerInfo": EcomCartV1BuyerInfoInput,
  "buyerLanguage": "xyz789",
  "buyerNote": "abc123",
  "checkoutId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "contactInfo": EcommercePlatformCommonAddressWithContactInput,
  "conversionCurrency": "abc123",
  "createdDate": "xyz789",
  "currency": "xyz789",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "lineItems": [EcomCartV1LineItemInput],
  "overrideCheckoutUrl": "xyz789",
  "purchaseFlowId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "selectedShippingOption": EcomTotalsCalculatorV1SelectedShippingOptionInput,
  "siteLanguage": "xyz789",
  "taxIncludedInPrices": false,
  "updatedDate": "xyz789",
  "weightUnit": "UNSPECIFIED_WEIGHT_UNIT"
}

EcomCartV1CartRequestInput

Fields
Input Field Description
id - ID!
Example
{"id": "4"}

EcomCartV1Coupon

Fields
Field Name Description
code - String Coupon code.
id - String Coupon ID.
Example
{
  "code": "abc123",
  "id": "abc123"
}

EcomCartV1CouponInput

Fields
Input Field Description
code - String Coupon code.
id - String Coupon ID.
Example
{
  "code": "xyz789",
  "id": "abc123"
}

EcomCartV1CreateCartRequestInput

Fields
Input Field Description
cartInfo - EcomCartV1CartInput Cart info.
couponCode - String Code of an existing coupon to apply to cart. For more information, see the Coupons API.
lineItems - [EcomCartV1LineItemInput] Catalog line items.
merchantDiscounts - [EcomTotalsCalculatorV1MerchantDiscountInputInput] Merchant discounts to apply to specific line items. If no lineItemIds are passed, the discount will be applied to the whole cart.
Example
{
  "cartInfo": EcomCartV1CartInput,
  "couponCode": "xyz789",
  "lineItems": [EcomCartV1LineItemInput],
  "merchantDiscounts": [
    EcomTotalsCalculatorV1MerchantDiscountInputInput
  ]
}

EcomCartV1CreateCartResponse

Fields
Field Name Description
cart - EcomCartV1Cart Cart.
Example
{"cart": EcomCartV1Cart}

EcomCartV1CreateCheckoutFromCurrentCartRequestInput

Fields
Input Field Description
billingAddress - EcommercePlatformCommonAddressInput Billing address. Used for calculating tax if all the items in the cart are not shippable.
channelType - EcommercePlatformCommonChannelType Sales channel type.
email - String Mandatory when setting billing or shipping address and user is not logged in.
selectedShippingOption - EcomTotalsCalculatorV1SelectedShippingOptionInput Selected shipping option.
shippingAddress - EcommercePlatformCommonAddressInput Shipping address. Used for calculating tax and shipping (when applicable).
Example
{
  "billingAddress": EcommercePlatformCommonAddressInput,
  "channelType": "UNSPECIFIED",
  "email": "xyz789",
  "selectedShippingOption": EcomTotalsCalculatorV1SelectedShippingOptionInput,
  "shippingAddress": EcommercePlatformCommonAddressInput
}

EcomCartV1CreateCheckoutRequestInput

Fields
Input Field Description
billingAddress - EcommercePlatformCommonAddressInput Billing address. Used for calculating tax if all the items in the cart are not shippable.
channelType - EcommercePlatformCommonChannelType Sales channel type.
email - String Required when setting a billing or shipping address if the site visitor isn't logged in.
id - String Cart ID.
selectedShippingOption - EcomTotalsCalculatorV1SelectedShippingOptionInput Selected shipping option.
shippingAddress - EcommercePlatformCommonAddressInput Shipping address. Used for calculating tax and shipping (when applicable).
Example
{
  "billingAddress": EcommercePlatformCommonAddressInput,
  "channelType": "UNSPECIFIED",
  "email": "xyz789",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "selectedShippingOption": EcomTotalsCalculatorV1SelectedShippingOptionInput,
  "shippingAddress": EcommercePlatformCommonAddressInput
}

EcomCartV1CreateCheckoutResponse

Fields
Field Name Description
checkoutId - String The newly created checkout's ID.
Example
{"checkoutId": "abc123"}

EcomCartV1DeleteCartRequestInput

Fields
Input Field Description
id - String ID of the cart to delete.
Example
{"id": "62b7b87d-a24a-434d-8666-e270489eac09"}

EcomCartV1EstimateCurrentCartTotalsRequestInput

Fields
Input Field Description
billingAddress - EcommercePlatformCommonAddressInput Billing address. Used for calculating tax if all the items in the cart are not shippable.
selectedMemberships - EcomMembershipsSpiV1HostSelectedMembershipsInput The selected membership payment options and which line items they apply to.
selectedShippingOption - EcomTotalsCalculatorV1SelectedShippingOptionInput Selected shipping option.
shippingAddress - EcommercePlatformCommonAddressInput Shipping address. Used for calculating tax and shipping (when applicable).
Example
{
  "billingAddress": EcommercePlatformCommonAddressInput,
  "selectedMemberships": EcomMembershipsSpiV1HostSelectedMembershipsInput,
  "selectedShippingOption": EcomTotalsCalculatorV1SelectedShippingOptionInput,
  "shippingAddress": EcommercePlatformCommonAddressInput
}

EcomCartV1EstimateTotalsRequestInput

Fields
Input Field Description
billingAddress - EcommercePlatformCommonAddressInput Billing address. Used for calculating tax if all the items in the cart are not shippable.
id - String Cart ID.
selectedMemberships - EcomMembershipsSpiV1HostSelectedMembershipsInput The selected membership payment options and which line items they apply to.
selectedShippingOption - EcomTotalsCalculatorV1SelectedShippingOptionInput Selected shipping option.
shippingAddress - EcommercePlatformCommonAddressInput Shipping address. Used for calculating tax and shipping (when applicable).
Example
{
  "billingAddress": EcommercePlatformCommonAddressInput,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "selectedMemberships": EcomMembershipsSpiV1HostSelectedMembershipsInput,
  "selectedShippingOption": EcomTotalsCalculatorV1SelectedShippingOptionInput,
  "shippingAddress": EcommercePlatformCommonAddressInput
}

EcomCartV1EstimateTotalsResponse

Fields
Field Name Description
additionalFees - [EcomTotalsCalculatorV1AdditionalFee] Additional fees
appliedDiscounts - [EcomTotalsCalculatorV1AppliedDiscount] Applied discounts.
calculatedLineItems - [EcomTotalsCalculatorV1CalculatedLineItem] Calculated line items.
calculationErrors - EcomTotalsCalculatorV1CalculationErrors Calculation errors.
cart - EcomCartV1Cart Cart.
currency - String Currency used for pricing in this store.
giftCard - EcomTotalsCalculatorV1GiftCard Applied gift card.
membershipOptions - EcomTotalsCalculatorV1MembershipOptions Information about valid and invalid memberships, and which ones are selected for usage.
payLater - EcomTotalsCalculatorV1PriceSummary Remaining amount for the order to be fully paid.
payNow - EcomTotalsCalculatorV1PriceSummary Minimal amount to pay in order to place the order.
priceSummary - EcomTotalsCalculatorV1PriceSummary Price summary.
shippingInfo - EcomTotalsCalculatorV1ShippingInformation Shipping information.
taxSummary - EcomTotalsCalculatorV1TaxSummary Tax summary.
violations - [EcommerceValidationsSpiV1Violation] List of validation violations raised by the Validations SPI.
weightUnit - EcommercePlatformCommonWeightUnit Weight measurement unit - defaults to site's weight unit.
Example
{
  "additionalFees": [EcomTotalsCalculatorV1AdditionalFee],
  "appliedDiscounts": [
    EcomTotalsCalculatorV1AppliedDiscount
  ],
  "calculatedLineItems": [
    EcomTotalsCalculatorV1CalculatedLineItem
  ],
  "calculationErrors": EcomTotalsCalculatorV1CalculationErrors,
  "cart": EcomCartV1Cart,
  "currency": "xyz789",
  "giftCard": EcomTotalsCalculatorV1GiftCard,
  "membershipOptions": EcomTotalsCalculatorV1MembershipOptions,
  "payLater": EcomTotalsCalculatorV1PriceSummary,
  "payNow": EcomTotalsCalculatorV1PriceSummary,
  "priceSummary": EcomTotalsCalculatorV1PriceSummary,
  "shippingInfo": EcomTotalsCalculatorV1ShippingInformation,
  "taxSummary": EcomTotalsCalculatorV1TaxSummary,
  "violations": [EcommerceValidationsSpiV1Violation],
  "weightUnit": "UNSPECIFIED_WEIGHT_UNIT"
}

EcomCartV1GetCurrentCartResponse

Fields
Field Name Description
cart - EcomCartV1Cart Current session's active cart.
Example
{"cart": EcomCartV1Cart}

EcomCartV1LineItem

Fields
Field Name Description
availability - EcomCheckoutV1ItemAvailabilityInfo Item availability details.
catalogReference - EcommerceCatalogSpiV1CatalogReference Catalog and item reference. Holds IDs for the item and the catalog it came from, as well as further optional info.
depositAmount - EcommercePlatformCommonMultiCurrencyPrice Partial payment to be paid upfront during the checkout. Eligible for catalog items with lineItem.paymentOption type DEPOSIT_ONLINE only.
descriptionLines - [EcommerceCatalogSpiV1DescriptionLine] Line item description lines. Used for displaying the cart, checkout and order.
fullPrice - EcommercePlatformCommonMultiCurrencyPrice Item price before catalog-defined discount. Defaults to price when not provided.
id - String Line item ID.
image - CommonImage Line item image details.
itemType - EcommerceCatalogSpiV1ItemType Item type. Either a preset type or custom.
paymentOption - EcommerceCatalogSpiV1PaymentOptionType

Type of selected payment option for current item. Defaults to FULL_PAYMENT_ONLINE.

  • FULL_PAYMENT_ONLINE - The entire payment for this item happens as part of the checkout.
  • FULL_PAYMENT_OFFLINE - The entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.
  • MEMBERSHIP - Payment for this item is done by charging a membership. When this option is used, lineItem.price.amount is 0.
  • DEPOSIT_ONLINE - Partial payment to be paid upfront during the checkout. Initial amount to be paid for each line item is defined by lineItem.deposit.
  • MEMBERSHIP_OFFLINE - Payment for this item can only be performed by using a membership and must be manually redeemed in the dashboard by the site owner. When this option is used, lineItem.price.amount is 0.
physicalProperties - EcommerceCatalogSpiV1PhysicalProperties Physical properties of the item. When relevant, contains information such as SKU, item weight, and shippability.
price - EcommercePlatformCommonMultiCurrencyPrice Item price after catalog-defined discount and line item discounts.
priceBeforeDiscounts - EcommercePlatformCommonMultiCurrencyPrice Item price before line item discounts and after catalog-defined discount. Defaults to price when not provided.
priceDescription - EcommerceCatalogSpiV1PriceDescription Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - "Starts at $67".
productName - EcommerceCatalogSpiV1ProductName

Item name.

  • Stores - product.name
  • Bookings - service.info.name
  • Events - ticket.name
quantity - Int Item quantity.
rootCatalogItemId - String

In cases where catalogReference.catalogItemId is NOT the actual catalog item ID, this field will return the true item's ID.

  • For example, for Wix Bookings, catalogReference.catalogItemId is the booking ID. Therefore this value is set to the service ID.
  • in most cases, this field is the same as catalogReference.catalogItemId.
  • Used in membership validation.
selectedMembership - EcomCartV1SelectedMembership Selected membership to be used as payment for this item. Must be used with lineItem.paymentOption set to MEMBERSHIP or MEMBERSHIP_OFFLINE. This field can be empty when lineItem.paymentOption is set to MEMBERSHIP_OFFLINE.
serviceProperties - EcommerceCatalogSpiV1ServiceProperties Service properties. When relevant, this contains information such as date and number of participants.
taxGroupId - String Tax group ID for this line item.
url - CommonPageUrlV2 URL to the item's page on the site.
Example
{
  "availability": EcomCheckoutV1ItemAvailabilityInfo,
  "catalogReference": EcommerceCatalogSpiV1CatalogReference,
  "depositAmount": EcommercePlatformCommonMultiCurrencyPrice,
  "descriptionLines": [
    EcommerceCatalogSpiV1DescriptionLine
  ],
  "fullPrice": EcommercePlatformCommonMultiCurrencyPrice,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "image": CommonImage,
  "itemType": EcommerceCatalogSpiV1ItemType,
  "paymentOption": "FULL_PAYMENT_ONLINE",
  "physicalProperties": EcommerceCatalogSpiV1PhysicalProperties,
  "price": EcommercePlatformCommonMultiCurrencyPrice,
  "priceBeforeDiscounts": EcommercePlatformCommonMultiCurrencyPrice,
  "priceDescription": EcommerceCatalogSpiV1PriceDescription,
  "productName": EcommerceCatalogSpiV1ProductName,
  "quantity": 987,
  "rootCatalogItemId": "xyz789",
  "selectedMembership": EcomCartV1SelectedMembership,
  "serviceProperties": EcommerceCatalogSpiV1ServiceProperties,
  "taxGroupId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "url": CommonPageUrlV2
}

EcomCartV1LineItemInput

Fields
Input Field Description
availability - EcomCheckoutV1ItemAvailabilityInfoInput Item availability details.
catalogReference - EcommerceCatalogSpiV1CatalogReferenceInput Catalog and item reference. Holds IDs for the item and the catalog it came from, as well as further optional info.
depositAmount - EcommercePlatformCommonMultiCurrencyPriceInput Partial payment to be paid upfront during the checkout. Eligible for catalog items with lineItem.paymentOption type DEPOSIT_ONLINE only.
descriptionLines - [EcommerceCatalogSpiV1DescriptionLineInput] Line item description lines. Used for displaying the cart, checkout and order.
fullPrice - EcommercePlatformCommonMultiCurrencyPriceInput Item price before catalog-defined discount. Defaults to price when not provided.
id - String Line item ID.
image - CommonImageInput Line item image details.
itemType - EcommerceCatalogSpiV1ItemTypeInput Item type. Either a preset type or custom.
paymentOption - EcommerceCatalogSpiV1PaymentOptionType

Type of selected payment option for current item. Defaults to FULL_PAYMENT_ONLINE.

  • FULL_PAYMENT_ONLINE - The entire payment for this item happens as part of the checkout.
  • FULL_PAYMENT_OFFLINE - The entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.
  • MEMBERSHIP - Payment for this item is done by charging a membership. When this option is used, lineItem.price.amount is 0.
  • DEPOSIT_ONLINE - Partial payment to be paid upfront during the checkout. Initial amount to be paid for each line item is defined by lineItem.deposit.
  • MEMBERSHIP_OFFLINE - Payment for this item can only be performed by using a membership and must be manually redeemed in the dashboard by the site owner. When this option is used, lineItem.price.amount is 0.
physicalProperties - EcommerceCatalogSpiV1PhysicalPropertiesInput Physical properties of the item. When relevant, contains information such as SKU, item weight, and shippability.
price - EcommercePlatformCommonMultiCurrencyPriceInput Item price after catalog-defined discount and line item discounts.
priceBeforeDiscounts - EcommercePlatformCommonMultiCurrencyPriceInput Item price before line item discounts and after catalog-defined discount. Defaults to price when not provided.
priceDescription - EcommerceCatalogSpiV1PriceDescriptionInput Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - "Starts at $67".
productName - EcommerceCatalogSpiV1ProductNameInput

Item name.

  • Stores - product.name
  • Bookings - service.info.name
  • Events - ticket.name
quantity - Int Item quantity.
rootCatalogItemId - String

In cases where catalogReference.catalogItemId is NOT the actual catalog item ID, this field will return the true item's ID.

  • For example, for Wix Bookings, catalogReference.catalogItemId is the booking ID. Therefore this value is set to the service ID.
  • in most cases, this field is the same as catalogReference.catalogItemId.
  • Used in membership validation.
selectedMembership - EcomCartV1SelectedMembershipInput Selected membership to be used as payment for this item. Must be used with lineItem.paymentOption set to MEMBERSHIP or MEMBERSHIP_OFFLINE. This field can be empty when lineItem.paymentOption is set to MEMBERSHIP_OFFLINE.
serviceProperties - EcommerceCatalogSpiV1ServicePropertiesInput Service properties. When relevant, this contains information such as date and number of participants.
taxGroupId - String Tax group ID for this line item.
url - CommonPageUrlV2Input URL to the item's page on the site.
Example
{
  "availability": EcomCheckoutV1ItemAvailabilityInfoInput,
  "catalogReference": EcommerceCatalogSpiV1CatalogReferenceInput,
  "depositAmount": EcommercePlatformCommonMultiCurrencyPriceInput,
  "descriptionLines": [
    EcommerceCatalogSpiV1DescriptionLineInput
  ],
  "fullPrice": EcommercePlatformCommonMultiCurrencyPriceInput,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "image": CommonImageInput,
  "itemType": EcommerceCatalogSpiV1ItemTypeInput,
  "paymentOption": "FULL_PAYMENT_ONLINE",
  "physicalProperties": EcommerceCatalogSpiV1PhysicalPropertiesInput,
  "price": EcommercePlatformCommonMultiCurrencyPriceInput,
  "priceBeforeDiscounts": EcommercePlatformCommonMultiCurrencyPriceInput,
  "priceDescription": EcommerceCatalogSpiV1PriceDescriptionInput,
  "productName": EcommerceCatalogSpiV1ProductNameInput,
  "quantity": 987,
  "rootCatalogItemId": "xyz789",
  "selectedMembership": EcomCartV1SelectedMembershipInput,
  "serviceProperties": EcommerceCatalogSpiV1ServicePropertiesInput,
  "taxGroupId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "url": CommonPageUrlV2Input
}

EcomCartV1LineItemQuantityUpdateInput

Fields
Input Field Description
id - String Line item ID. Required.
quantity - Int New quantity. Number must be 1 or higher. Required.
Example
{"id": "62b7b87d-a24a-434d-8666-e270489eac09", "quantity": 123}

EcomCartV1MerchantDiscount

Fields
Field Name Description
amount - EcommercePlatformCommonMultiCurrencyPrice Discount value.
Example
{"amount": EcommercePlatformCommonMultiCurrencyPrice}

EcomCartV1MerchantDiscountInput

Fields
Input Field Description
amount - EcommercePlatformCommonMultiCurrencyPriceInput Discount value.
Example
{"amount": EcommercePlatformCommonMultiCurrencyPriceInput}

EcomCartV1RemoveCouponRequestInput

Fields
Input Field Description
id - String Cart ID.
Example
{"id": "62b7b87d-a24a-434d-8666-e270489eac09"}

EcomCartV1RemoveCouponResponse

Fields
Field Name Description
cart - EcomCartV1Cart Updated cart.
Example
{"cart": EcomCartV1Cart}

EcomCartV1RemoveLineItemsFromCurrentCartRequestInput

Fields
Input Field Description
lineItemIds - [String] Line item IDs to remove from cart.
Example
{"lineItemIds": ["xyz789"]}

EcomCartV1RemoveLineItemsRequestInput

Fields
Input Field Description
id - String Cart ID.
lineItemIds - [String] Line item IDs to remove from cart.
Example
{
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "lineItemIds": ["abc123"]
}

EcomCartV1RemoveLineItemsResponse

Fields
Field Name Description
cart - EcomCartV1Cart Updated cart.
Example
{"cart": EcomCartV1Cart}

EcomCartV1SelectedMembership

Fields
Field Name Description
appId - String ID of the app providing this payment option.
id - String Membership ID.
Example
{
  "appId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "id": "abc123"
}

EcomCartV1SelectedMembershipInput

Fields
Input Field Description
appId - String ID of the app providing this payment option.
id - String Membership ID.
Example
{
  "appId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "id": "xyz789"
}

EcomCartV1UpdateCartRequestInput

Fields
Input Field Description
cartInfo - EcomCartV1CartInput Cart info.
couponCode - String Coupon code. For more information, see Coupons API.
lineItems - [EcomCartV1LineItemInput] Catalog line items.
merchantDiscounts - [EcomTotalsCalculatorV1MerchantDiscountInputInput] Merchant discounts to apply to specific line items. If no lineItemIds are passed, the discount will be applied to the whole cart.
Example
{
  "cartInfo": EcomCartV1CartInput,
  "couponCode": "xyz789",
  "lineItems": [EcomCartV1LineItemInput],
  "merchantDiscounts": [
    EcomTotalsCalculatorV1MerchantDiscountInputInput
  ]
}

EcomCartV1UpdateCartResponse

Fields
Field Name Description
cart - EcomCartV1Cart Updated Cart.
Example
{"cart": EcomCartV1Cart}

EcomCartV1UpdateCurrentCartLineItemQuantityRequestInput

Fields
Input Field Description
lineItems - [EcomCartV1LineItemQuantityUpdateInput] Line item IDs and their new quantity.
Example
{"lineItems": [EcomCartV1LineItemQuantityUpdateInput]}

EcomCartV1UpdateLineItemsQuantityRequestInput

Fields
Input Field Description
id - String Cart ID.
lineItems - [EcomCartV1LineItemQuantityUpdateInput] Line item IDs and their new quantity.
Example
{
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "lineItems": [EcomCartV1LineItemQuantityUpdateInput]
}

EcomCartV1UpdateLineItemsQuantityResponse

Fields
Field Name Description
cart - EcomCartV1Cart Updated cart.
Example
{"cart": EcomCartV1Cart}

EcomCurrentCartV1CartRequestInput

Fields
Input Field Description
id - ID!
Example
{"id": "4"}

EcomDiscountRulesV1DiscountRuleRequestInput

Fields
Input Field Description
id - ID!
Example
{"id": "4"}

EcomDiscountsActiveTimeInfo

Fields
Field Name Description
end - String Date and time the discount rule is active till, in ISO-8601 format.
start - String Date and time the discount rule is active from, in ISO-8601 format.
Example
{
  "end": "xyz789",
  "start": "abc123"
}

EcomDiscountsActiveTimeInfoInput

Fields
Input Field Description
end - String Date and time the discount rule is active till, in ISO-8601 format.
start - String Date and time the discount rule is active from, in ISO-8601 format.
Example
{
  "end": "abc123",
  "start": "abc123"
}

EcomDiscountsCatalogItemFilter

Fields
Field Name Description
catalogAppId - String Catalog App ID. For example, the Wix Stores, Wix Bookings, or 3rd-party appId.
catalogItemIds - [String] ID of the item within its Wix or 3rd-party catalog. For example, productId for Wix Stores.
Example
{
  "catalogAppId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "catalogItemIds": ["abc123"]
}

EcomDiscountsCatalogItemFilterInput

Fields
Input Field Description
catalogAppId - String Catalog App ID. For example, the Wix Stores, Wix Bookings, or 3rd-party appId.
catalogItemIds - [String] ID of the item within its Wix or 3rd-party catalog. For example, productId for Wix Stores.
Example
{
  "catalogAppId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "catalogItemIds": ["abc123"]
}

EcomDiscountsCreateDiscountRuleRequestInput

Fields
Input Field Description
discountRule - EcomDiscountsDiscountRuleInput Discount rule info.
Example
{"discountRule": EcomDiscountsDiscountRuleInput}

EcomDiscountsCreateDiscountRuleResponse

Fields
Field Name Description
discountRule - EcomDiscountsDiscountRule Discount rule.
Example
{"discountRule": EcomDiscountsDiscountRule}

EcomDiscountsCustomFilter

Fields
Field Name Description
appId - String Custom filter app ID, when relevant.
params - JSON Custom filter in { "key": "value" } form. For example, an array of collectionIDs: { ["collectionId": "12345"], ["collectionId": "67890"] }.
Example
{"appId": "62b7b87d-a24a-434d-8666-e270489eac09", "params": {}}

EcomDiscountsCustomFilterInput

Fields
Input Field Description
appId - String Custom filter app ID, when relevant.
params - JSON Custom filter in { "key": "value" } form. For example, an array of collectionIDs: { ["collectionId": "12345"], ["collectionId": "67890"] }.
Example
{"appId": "62b7b87d-a24a-434d-8666-e270489eac09", "params": {}}

EcomDiscountsDeleteDiscountRuleRequestInput

Fields
Input Field Description
discountRuleId - String ID of the discount rule to delete.
Example
{"discountRuleId": "62b7b87d-a24a-434d-8666-e270489eac09"}

EcomDiscountsDiscount

Fields
Field Name Description
discountType - EcomDiscountsDiscountDiscountType

Discount type.

  • PERCENTAGE: Price is reduced by percentage value.
  • FIXED_AMOUNT: Price is reduced by fixed amount.
  • FIXED_PRICE: Price will be set to fixed amount.
fixedAmount - String Amount to discount from original price.
fixedPrice - String Fixed price. Line item will be fixed to this price.
percentage - Float Percentage to discount from original price.
specificItemsInfo - EcomDiscountsSpecificItemsInfo Data related to SPECIFIC_ITEMS target type.
targetType - EcomDiscountsDiscountTargetType

Discount target.

  • SPECIFIC_ITEMS: Discount applies to a specific set of items.
Example
{
  "discountType": "UNDEFINED",
  "fixedAmount": "xyz789",
  "fixedPrice": "xyz789",
  "percentage": 987.65,
  "specificItemsInfo": EcomDiscountsSpecificItemsInfo,
  "targetType": "UNDEFINED"
}

EcomDiscountsDiscountInput

Fields
Input Field Description
discountType - EcomDiscountsDiscountDiscountType

Discount type.

  • PERCENTAGE: Price is reduced by percentage value.
  • FIXED_AMOUNT: Price is reduced by fixed amount.
  • FIXED_PRICE: Price will be set to fixed amount.
fixedAmount - String Amount to discount from original price.
fixedPrice - String Fixed price. Line item will be fixed to this price.
percentage - Float Percentage to discount from original price.
specificItemsInfo - EcomDiscountsSpecificItemsInfoInput Data related to SPECIFIC_ITEMS target type.
targetType - EcomDiscountsDiscountTargetType

Discount target.

  • SPECIFIC_ITEMS: Discount applies to a specific set of items.
Example
{
  "discountType": "UNDEFINED",
  "fixedAmount": "xyz789",
  "fixedPrice": "xyz789",
  "percentage": 123.45,
  "specificItemsInfo": EcomDiscountsSpecificItemsInfoInput,
  "targetType": "UNDEFINED"
}

EcomDiscountsDiscountRule

Fields
Field Name Description
active - Boolean

Whether the discount rule is active.

Default: true

activeTimeInfo - EcomDiscountsActiveTimeInfo Time frame in which the discount rule is active.
createdDate - String Date and time the discount rule was created.
discounts - EcomDiscountsDiscounts

List of discounts that are applied when one or more triggers are met.

Notes:

  • Currently, only 1 discount can be defined per discount rule.
  • A discount rule can be applied on multiple items per cart.
  • A discount rule can only be applied once per item.
id - String Discount rule ID.
name - String Discount rule name.
revision - Long Revision number, which increments by 1 each time the discount rule is updated. To prevent conflicting changes, the current revision must be passed when updating the discount rule.
status - EcomDiscountsDiscountRuleStatus Discount rule status.
trigger - EcomDiscountsDiscountTrigger Discount rule trigger. A set of conditions that must be met for the discounts to be applied. Not passing a trigger will cause the discount to always apply.
updatedDate - String Date and time the discount rule was last updated.
usageCount - Int Number of times the discount rule was used.
Example
{
  "active": true,
  "activeTimeInfo": EcomDiscountsActiveTimeInfo,
  "createdDate": "abc123",
  "discounts": EcomDiscountsDiscounts,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "name": "abc123",
  "revision": {},
  "status": "UNDEFINED",
  "trigger": EcomDiscountsDiscountTrigger,
  "updatedDate": "xyz789",
  "usageCount": 123
}

EcomDiscountsDiscountRuleInput

Fields
Input Field Description
active - Boolean

Whether the discount rule is active.

Default: true

activeTimeInfo - EcomDiscountsActiveTimeInfoInput Time frame in which the discount rule is active.
createdDate - String Date and time the discount rule was created.
discounts - EcomDiscountsDiscountsInput

List of discounts that are applied when one or more triggers are met.

Notes:

  • Currently, only 1 discount can be defined per discount rule.
  • A discount rule can be applied on multiple items per cart.
  • A discount rule can only be applied once per item.
id - String Discount rule ID.
name - String Discount rule name.
revision - Long Revision number, which increments by 1 each time the discount rule is updated. To prevent conflicting changes, the current revision must be passed when updating the discount rule.
status - EcomDiscountsDiscountRuleStatus Discount rule status.
trigger - EcomDiscountsDiscountTriggerInput Discount rule trigger. A set of conditions that must be met for the discounts to be applied. Not passing a trigger will cause the discount to always apply.
updatedDate - String Date and time the discount rule was last updated.
usageCount - Int Number of times the discount rule was used.
Example
{
  "active": true,
  "activeTimeInfo": EcomDiscountsActiveTimeInfoInput,
  "createdDate": "abc123",
  "discounts": EcomDiscountsDiscountsInput,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "name": "abc123",
  "revision": {},
  "status": "UNDEFINED",
  "trigger": EcomDiscountsDiscountTriggerInput,
  "updatedDate": "abc123",
  "usageCount": 987
}

EcomDiscountsDiscountTrigger

Fields
Field Name Description
and - EcomDiscountsDiscountTriggerAnd Chain multiple triggers with the and operator.
customTrigger - EcomDiscountsDiscountTriggerCustom Custom trigger.
itemQuantityRange - EcomDiscountsDiscountTriggerItemQuantityRange Item quantity trigger range.
or - EcomDiscountsDiscountTriggerOr Chain multiple triggers with the or operator.
subtotalRange - EcomDiscountsDiscountTriggerSubtotalRange Subtotal trigger range.
triggerType - EcomDiscountsDiscountTriggerTriggerType

Trigger type.

  • AND: Operator used for chaining multiple triggers. Currently 1 AND chain operator is supported.
  • SUBTOTAL_RANGE: Subtotal must be within the specified subtotalRange values.
  • ITEM_QUANTITY_RANGE: Quantity of items in scope must be within specified itemQuantityRange values.
  • CUSTOM: Custom trigger type defined in customTrigger object.
Example
{
  "and": EcomDiscountsDiscountTriggerAnd,
  "customTrigger": EcomDiscountsDiscountTriggerCustom,
  "itemQuantityRange": EcomDiscountsDiscountTriggerItemQuantityRange,
  "or": EcomDiscountsDiscountTriggerOr,
  "subtotalRange": EcomDiscountsDiscountTriggerSubtotalRange,
  "triggerType": "UNDEFINED"
}

EcomDiscountsDiscountTriggerInput

Fields
Input Field Description
and - EcomDiscountsDiscountTriggerAndInput Chain multiple triggers with the and operator.
customTrigger - EcomDiscountsDiscountTriggerCustomInput Custom trigger.
itemQuantityRange - EcomDiscountsDiscountTriggerItemQuantityRangeInput Item quantity trigger range.
or - EcomDiscountsDiscountTriggerOrInput Chain multiple triggers with the or operator.
subtotalRange - EcomDiscountsDiscountTriggerSubtotalRangeInput Subtotal trigger range.
triggerType - EcomDiscountsDiscountTriggerTriggerType

Trigger type.

  • AND: Operator used for chaining multiple triggers. Currently 1 AND chain operator is supported.
  • SUBTOTAL_RANGE: Subtotal must be within the specified subtotalRange values.
  • ITEM_QUANTITY_RANGE: Quantity of items in scope must be within specified itemQuantityRange values.
  • CUSTOM: Custom trigger type defined in customTrigger object.
Example
{
  "and": EcomDiscountsDiscountTriggerAndInput,
  "customTrigger": EcomDiscountsDiscountTriggerCustomInput,
  "itemQuantityRange": EcomDiscountsDiscountTriggerItemQuantityRangeInput,
  "or": EcomDiscountsDiscountTriggerOrInput,
  "subtotalRange": EcomDiscountsDiscountTriggerSubtotalRangeInput,
  "triggerType": "UNDEFINED"
}

EcomDiscountsDiscounts

Fields
Field Name Description
values - [EcomDiscountsDiscount] Discounts.
Example
{"values": [EcomDiscountsDiscount]}

EcomDiscountsDiscountsInput

Fields
Input Field Description
values - [EcomDiscountsDiscountInput] Discounts.
Example
{"values": [EcomDiscountsDiscountInput]}

EcomDiscountsQueryDiscountRulesRequestInput

Fields
Input Field Description
query - EcommerceCommonsPlatformQueryInput Query options.
Example
{"query": EcommerceCommonsPlatformQueryInput}

EcomDiscountsQueryDiscountRulesResponse

Fields
Field Name Description
items - [EcomDiscountsDiscountRule] Query results
pageInfo - PageInfo Pagination data
Example
{
  "items": [EcomDiscountsDiscountRule],
  "pageInfo": PageInfo
}

EcomDiscountsScope

Fields
Field Name Description
catalogItemFilter - EcomDiscountsCatalogItemFilter Catalog item filter. Must be passed with type."CATALOG_ITEM".
customFilter - EcomDiscountsCustomFilter Custom filter. Must be passed with type."CATALOG_ITEM".
id - String Scope ID.
type - EcomDiscountsScopeType Scope type.
Example
{
  "catalogItemFilter": EcomDiscountsCatalogItemFilter,
  "customFilter": EcomDiscountsCustomFilter,
  "id": "abc123",
  "type": "UNDEFINED_SCOPE"
}

EcomDiscountsScopeInput

Fields
Input Field Description
catalogItemFilter - EcomDiscountsCatalogItemFilterInput Catalog item filter. Must be passed with type."CATALOG_ITEM".
customFilter - EcomDiscountsCustomFilterInput Custom filter. Must be passed with type."CATALOG_ITEM".
id - String Scope ID.
type - EcomDiscountsScopeType Scope type.
Example
{
  "catalogItemFilter": EcomDiscountsCatalogItemFilterInput,
  "customFilter": EcomDiscountsCustomFilterInput,
  "id": "abc123",
  "type": "UNDEFINED_SCOPE"
}

EcomDiscountsScopeType

Values
Enum Value Description

UNDEFINED_SCOPE

CATALOG_ITEM

Specific catalog items

CUSTOM_FILTER

Specific items by custom filters
Example
"UNDEFINED_SCOPE"

EcomDiscountsSpecificItemsInfo

Fields
Field Name Description
scopes - [EcomDiscountsScope] All associated scopes for SPECIFIC_ITEMS target type.
Example
{"scopes": [EcomDiscountsScope]}

EcomDiscountsSpecificItemsInfoInput

Fields
Input Field Description
scopes - [EcomDiscountsScopeInput] All associated scopes for SPECIFIC_ITEMS target type.
Example
{"scopes": [EcomDiscountsScopeInput]}

EcomDiscountsUpdateDiscountRuleRequestInput

Fields
Input Field Description
discountRule - EcomDiscountsDiscountRuleInput Discount rule info.
Example
{"discountRule": EcomDiscountsDiscountRuleInput}

EcomDiscountsUpdateDiscountRuleResponse

Fields
Field Name Description
discountRule - EcomDiscountsDiscountRule Updated discount rule.
Example
{"discountRule": EcomDiscountsDiscountRule}

EcomDiscountsDiscountDiscountType

Values
Enum Value Description

UNDEFINED

PERCENTAGE

Percentage discount

FIXED_AMOUNT

Fixed amount discount

FIXED_PRICE

Fixed price discount
Example
"UNDEFINED"

EcomDiscountsDiscountRuleStatus

Values
Enum Value Description

UNDEFINED

Rule status is not defined.

LIVE

Rule status is live.

EXPIRED

Rule status is expired, it might have been live in the past.

PENDING

Rule status is pending, it might be live in the future.
Example
"UNDEFINED"

EcomDiscountsDiscountTargetType

Values
Enum Value Description

UNDEFINED

Target type is not defined

SPECIFIC_ITEMS

Target type is a set of specific items

BUY_X_GET_Y

Target type is a buy x get y
Example
"UNDEFINED"

EcomDiscountsDiscountTriggerAnd

Fields
Field Name Description
triggers - [EcomDiscountsDiscountTrigger] List of triggers. Max: 5 triggers.
Example
{"triggers": [EcomDiscountsDiscountTrigger]}

EcomDiscountsDiscountTriggerAndInput

Fields
Input Field Description
triggers - [EcomDiscountsDiscountTriggerInput] List of triggers. Max: 5 triggers.
Example
{"triggers": [EcomDiscountsDiscountTriggerInput]}

EcomDiscountsDiscountTriggerCustom

Fields
Field Name Description
appId - String ID of the app that created the trigger.
id - String Trigger ID.
Example
{
  "appId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "id": "abc123"
}

EcomDiscountsDiscountTriggerCustomInput

Fields
Input Field Description
appId - String ID of the app that created the trigger.
id - String Trigger ID.
Example
{
  "appId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "id": "abc123"
}

EcomDiscountsDiscountTriggerItemQuantityRange

Fields
Field Name Description
from - Int Minimum item quantity (inclusive).
scopes - [EcomDiscountsScope] Relevant scopes for SPECIFIC_ITEMS target type.
to - Int Maximum item quantity (inclusive).
Example
{"from": 123, "scopes": [EcomDiscountsScope], "to": 123}

EcomDiscountsDiscountTriggerItemQuantityRangeInput

Fields
Input Field Description
from - Int Minimum item quantity (inclusive).
scopes - [EcomDiscountsScopeInput] Relevant scopes for SPECIFIC_ITEMS target type.
to - Int Maximum item quantity (inclusive).
Example
{
  "from": 123,
  "scopes": [EcomDiscountsScopeInput],
  "to": 987
}

EcomDiscountsDiscountTriggerOr

Fields
Field Name Description
triggers - [EcomDiscountsDiscountTrigger]
Example
{"triggers": [EcomDiscountsDiscountTrigger]}

EcomDiscountsDiscountTriggerOrInput

Fields
Input Field Description
triggers - [EcomDiscountsDiscountTriggerInput]
Example
{"triggers": [EcomDiscountsDiscountTriggerInput]}

EcomDiscountsDiscountTriggerSubtotalRange

Fields
Field Name Description
from - String Minimum subtotal price (inclusive).
scopes - [EcomDiscountsScope] Relevant scopes for SPECIFIC_ITEMS target type.
to - String Maximum subtotal price (inclusive).
Example
{
  "from": "abc123",
  "scopes": [EcomDiscountsScope],
  "to": "xyz789"
}

EcomDiscountsDiscountTriggerSubtotalRangeInput

Fields
Input Field Description
from - String Minimum subtotal price (inclusive).
scopes - [EcomDiscountsScopeInput] Relevant scopes for SPECIFIC_ITEMS target type.
to - String Maximum subtotal price (inclusive).
Example
{
  "from": "xyz789",
  "scopes": [EcomDiscountsScopeInput],
  "to": "abc123"
}

EcomDiscountsDiscountTriggerTriggerType

Values
Enum Value Description

UNDEFINED

AND

Chain multiple triggers with AND operator

SUBTOTAL_RANGE

Subtotal range trigger

ITEM_QUANTITY_RANGE

Item quantity range trigger

CUSTOM

Custom trigger, see Custom Triggers SPI for more details

OR

Chain multiple triggers with OR operator
Example
"UNDEFINED"

EcomLineItemsEnricherSpiHostV1EnrichLineItemsForCheckoutResponse

Fields
Field Name Description
enrichedLineItems - [EcomLineItemsEnricherSpiV1EnrichedLineItem]
Example
{
  "enrichedLineItems": [
    EcomLineItemsEnricherSpiV1EnrichedLineItem
  ]
}

EcomLineItemsEnricherSpiHostV1EnrichLineItemsForThankYouPageResponse

Fields
Field Name Description
enrichedLineItems - [EcomLineItemsEnricherSpiV1EnrichedLineItemWithActions]
Example
{
  "enrichedLineItems": [
    EcomLineItemsEnricherSpiV1EnrichedLineItemWithActions
  ]
}

EcomLineItemsEnricherSpiV1EnrichedLineItem

Fields
Field Name Description
id - String Line item ID.
overriddenDescriptionLines - EcomLineItemsEnricherSpiV1OverriddenDescriptionLines Description lines to replace the original This is optional - If you do not want to override, do not return this and the original description lines will be used If you do pass it, it overrides the existing description line. If you want to append, copy the original description lines and add your own
renderingConfig - EcomLineItemsEnricherSpiV1LineItemRenderingConfig Option to hide specific sections
Example
{
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "overriddenDescriptionLines": EcomLineItemsEnricherSpiV1OverriddenDescriptionLines,
  "renderingConfig": EcomLineItemsEnricherSpiV1LineItemRenderingConfig
}

EcomLineItemsEnricherSpiV1EnrichedLineItemWithActions

Fields
Field Name Description
actions - [EcomLineItemsEnricherSpiV1LineItemAction] Optional list of actions to be rendered next to the line item Implementation depends on the client (checkout page, mobile)
id - String Line item ID
overriddenDescriptionLines - EcomLineItemsEnricherSpiV1OverriddenDescriptionLines Description lines to replace the original This is optional - If you do not want to override, do not return this and the original description lines will be used If you do pass it, it overrides the existing description line. If you want to append, copy the original description lines and add your own
renderingConfig - EcomLineItemsEnricherSpiV1LineItemRenderingConfig Option to hide specific sections
Example
{
  "actions": [EcomLineItemsEnricherSpiV1LineItemAction],
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "overriddenDescriptionLines": EcomLineItemsEnricherSpiV1OverriddenDescriptionLines,
  "renderingConfig": EcomLineItemsEnricherSpiV1LineItemRenderingConfig
}

EcomLineItemsEnricherSpiV1LineItemAction

Fields
Field Name Description
actionId - String The unique id of the action for example: DOWNLOAD_LINK, ADD_TO_CALENDAR Note that a specific client may rely on action id and parameters and ignore the URL or the other way around
actionParameters - JSON Parameters for the actions, will be used by the client implementing the action based on actionId
label - String the translated text to display (i.e. will be shown "as is")
settingsKey - String the key that we use to save the text in the editor settings panel
url - String URL to navigate to in order to perform the action can be relative e.g "/api/download" or absolute e.g. "http://www.google.com" Note that a specific client may rely on action id and parameters and ignore the URL or the other way around
Example
{
  "actionId": "abc123",
  "actionParameters": {},
  "label": "xyz789",
  "settingsKey": "abc123",
  "url": "abc123"
}

EcomLineItemsEnricherSpiV1LineItemRenderingConfig

Fields
Field Name Description
hidePrice - Boolean
hideQuantity - Boolean
Example
{"hidePrice": true, "hideQuantity": false}

EcomLineItemsEnricherSpiV1OverriddenDescriptionLines

Fields
Field Name Description
descriptionLines - [EcommerceCatalogSpiV1DescriptionLine]
Example
{
  "descriptionLines": [
    EcommerceCatalogSpiV1DescriptionLine
  ]
}

EcomMembershipsSpiV1MembershipName

Fields
Field Name Description
original - String The name of this membership
translated - String Optional - Translated name of this membership. Defaults to original when not provided.
Example
{
  "original": "xyz789",
  "translated": "xyz789"
}

EcomMembershipsSpiV1MembershipNameInput

Fields
Input Field Description
original - String The name of this membership
translated - String Optional - Translated name of this membership. Defaults to original when not provided.
Example
{
  "original": "abc123",
  "translated": "xyz789"
}

EcomMembershipsSpiV1MembershipPaymentCredits

Fields
Field Name Description
remaining - Int How much credit remained for this membership
total - Int How much credit this membership has in total
Example
{"remaining": 987, "total": 123}

EcomMembershipsSpiV1MembershipPaymentCreditsInput

Fields
Input Field Description
remaining - Int How much credit remained for this membership
total - Int How much credit this membership has in total
Example
{"remaining": 123, "total": 987}

EcomMembershipsSpiV1HostInvalidMembership

Fields
Field Name Description
membership - EcomMembershipsSpiV1HostMembership Membership details.
reason - String Reason why this membership is invalid and cannot be used.
Example
{
  "membership": EcomMembershipsSpiV1HostMembership,
  "reason": "xyz789"
}

EcomMembershipsSpiV1HostInvalidMembershipInput

Fields
Input Field Description
membership - EcomMembershipsSpiV1HostMembershipInput Membership details.
reason - String Reason why this membership is invalid and cannot be used.
Example
{
  "membership": EcomMembershipsSpiV1HostMembershipInput,
  "reason": "abc123"
}

EcomMembershipsSpiV1HostMembership

Fields
Field Name Description
additionalData - JSON Additional data about this membership.
appId - String ID of the application providing this payment option.
credits - EcomMembershipsSpiV1MembershipPaymentCredits Optional - For a membership that has limited credits, information about credit usage.
expirationDate - String Optional - TMembership expiry date.
id - String Membership ID.
lineItemIds - [String] Line item IDs which are "paid" for by this membership.
name - EcomMembershipsSpiV1MembershipName The name of this membership.
Example
{
  "additionalData": {},
  "appId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "credits": EcomMembershipsSpiV1MembershipPaymentCredits,
  "expirationDate": "xyz789",
  "id": "abc123",
  "lineItemIds": ["xyz789"],
  "name": EcomMembershipsSpiV1MembershipName
}

EcomMembershipsSpiV1HostMembershipInput

Fields
Input Field Description
additionalData - JSON Additional data about this membership.
appId - String ID of the application providing this payment option.
credits - EcomMembershipsSpiV1MembershipPaymentCreditsInput Optional - For a membership that has limited credits, information about credit usage.
expirationDate - String Optional - TMembership expiry date.
id - String Membership ID.
lineItemIds - [String] Line item IDs which are "paid" for by this membership.
name - EcomMembershipsSpiV1MembershipNameInput The name of this membership.
Example
{
  "additionalData": {},
  "appId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "credits": EcomMembershipsSpiV1MembershipPaymentCreditsInput,
  "expirationDate": "abc123",
  "id": "abc123",
  "lineItemIds": ["xyz789"],
  "name": EcomMembershipsSpiV1MembershipNameInput
}

EcomMembershipsSpiV1HostSelectedMembership

Fields
Field Name Description
appId - String ID of the app providing this payment option.
id - String Membership ID.
lineItemIds - [String] IDs of the line items this membership applies to.
Example
{
  "appId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "id": "abc123",
  "lineItemIds": ["abc123"]
}

EcomMembershipsSpiV1HostSelectedMembershipInput

Fields
Input Field Description
appId - String ID of the app providing this payment option.
id - String Membership ID.
lineItemIds - [String] IDs of the line items this membership applies to.
Example
{
  "appId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "id": "xyz789",
  "lineItemIds": ["abc123"]
}

EcomMembershipsSpiV1HostSelectedMemberships

Fields
Field Name Description
memberships - [EcomMembershipsSpiV1HostSelectedMembership] Selected memberships.
Example
{
  "memberships": [
    EcomMembershipsSpiV1HostSelectedMembership
  ]
}

EcomMembershipsSpiV1HostSelectedMembershipsInput

Fields
Input Field Description
memberships - [EcomMembershipsSpiV1HostSelectedMembershipInput] Selected memberships.
Example
{
  "memberships": [
    EcomMembershipsSpiV1HostSelectedMembershipInput
  ]
}

EcomOrdersFulfillmentsV1CustomFulfillmentInfo

Fields
Field Name Description
fieldsData - JSON Custom fulfillment info in key:value form.
Example
{"fieldsData": {}}

EcomOrdersFulfillmentsV1Fulfillment

Fields
Field Name Description
completed - Boolean Fulfillment handling complete.
createdDate - String Fulfillment creation date and time in ISO-8601 format.
customInfo - EcomOrdersFulfillmentsV1CustomFulfillmentInfo Custom fulfillment info.
id - String Fulfillment ID.
lineItems - [EcomOrdersFulfillmentsV1FulfillmentLineItem] Line items being fulfilled.
status - String

Fulfillment status.

Supported values:

  • "Pending"
  • "Accepted"
  • "Ready"
  • "In_Delivery"
  • "Fulfilled"
trackingInfo - EcomOrdersFulfillmentsV1FulfillmentTrackingInfo Tracking info.
Example
{
  "completed": false,
  "createdDate": "xyz789",
  "customInfo": EcomOrdersFulfillmentsV1CustomFulfillmentInfo,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "lineItems": [
    EcomOrdersFulfillmentsV1FulfillmentLineItem
  ],
  "status": "abc123",
  "trackingInfo": EcomOrdersFulfillmentsV1FulfillmentTrackingInfo
}

EcomOrdersFulfillmentsV1FulfillmentLineItem

Fields
Field Name Description
id - String Line item ID (mirrors the ID of the order line item).
quantity - Int

Line item quantity.

  • If this property isn't passed on creation, it defaults to the number of items not already linked to a fulfillment.
  • If the order does not have the requested quantity of line items available to add to this fulfillment, the fulfillment will not be created and an error is returned.

Min: 1 Max: 100000

Example
{"id": "62b7b87d-a24a-434d-8666-e270489eac09", "quantity": 123}

EcomOrdersFulfillmentsV1FulfillmentTrackingInfo

Fields
Field Name Description
shippingProvider - String

Shipping provider. Using one of the following shipping providers will allow for auto-filling the tracking link:

  • 'fedex'
  • 'ups'
  • 'usps'
  • 'dhl'
  • 'canadaPost'
trackingLink - String Tracking link. Auto-filled if a predefined shipping provider is used, otherwise provided on creation.
trackingNumber - String Shipping/delivery tracking number.
Example
{
  "shippingProvider": "abc123",
  "trackingLink": "xyz789",
  "trackingNumber": "abc123"
}

EcomOrdersPaymentsCollectorV1BulkMarkOrdersAsPaidRequestInput

Fields
Input Field Description
ecomOrderIds - [String] IDs of orders to mark as paid.
Example
{"ecomOrderIds": ["xyz789"]}

EcomOrdersPaymentsCollectorV1BulkMarkOrdersAsPaidResponse

Fields
Field Name Description
bulkActionMetadata - CommonBulkActionMetadata Bulk action metadata.
results - [EcomOrdersV1BulkOrderResult] Items updated by the bulk action. The Order entity within the results optimistically changes its payment status to paid, however this process is async.
Example
{
  "bulkActionMetadata": CommonBulkActionMetadata,
  "results": [EcomOrdersV1BulkOrderResult]
}

EcomOrdersPaymentsCollectorV1ChargeMembershipsRequestInput

Fields
Input Field Description
ecomOrderId - String Order ID.
memberId - String The member id. Do not attempt to get it from the request context, since in some cases the caller is not a member but a user which is using the membership on behalf of the a member
membershipCharges - [EcomOrdersPaymentsCollectorV1MembershipChargeItemInput] List of items to be paid by memberships
Example
{
  "ecomOrderId": "xyz789",
  "memberId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "membershipCharges": [
    EcomOrdersPaymentsCollectorV1MembershipChargeItemInput
  ]
}

EcomOrdersPaymentsCollectorV1ChargedByInput

Fields
Input Field Description
fullName - String Full name - name of the user who initiated the payment
id - String ID - id of the user who initiated the payment
Example
{
  "fullName": "xyz789",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09"
}

EcomOrdersPaymentsCollectorV1CreatePaymentGatewayOrderRequestInput

Fields
Input Field Description
chargedBy - EcomOrdersPaymentsCollectorV1ChargedByInput Information about the user who initiated the payment.
ecomOrderId - String Ecom order ID.
Example
{
  "chargedBy": EcomOrdersPaymentsCollectorV1ChargedByInput,
  "ecomOrderId": "xyz789"
}

EcomOrdersPaymentsCollectorV1CreatePaymentGatewayOrderResponse

Fields
Field Name Description
paymentGatewayOrderId - String ID of the order created in the payment gateway
Example
{"paymentGatewayOrderId": "abc123"}

EcomOrdersPaymentsCollectorV1GetPaymentCollectabilityStatusRequestInput

Fields
Input Field Description
ecomOrderId - String Ecom order ID.
Example
{"ecomOrderId": "abc123"}

EcomOrdersPaymentsCollectorV1GetPaymentCollectabilityStatusResponse

Fields
Field Name Description
amount - EcommercePlatformCommonPrice Collectable order amount
status - EcomOrdersPaymentsCollectorV1PaymentCollectabilityStatusEnumPaymentCollectabilityStatus Payment collectability status
Example
{
  "amount": EcommercePlatformCommonPrice,
  "status": "UNKNOWN"
}

EcomOrdersPaymentsCollectorV1GetRefundabilityStatusRequestInput

Fields
Input Field Description
ecomOrderId - String Order ID.
Example
{"ecomOrderId": "abc123"}

EcomOrdersPaymentsCollectorV1GetRefundabilityStatusResponse

Fields
Field Name Description
refundabilities - [EcomOrdersPaymentsCollectorV1Refundability] Refundability details.
refundablePerItem - Boolean Whether the order supports refunding per item.
Example
{
  "refundabilities": [
    EcomOrdersPaymentsCollectorV1Refundability
  ],
  "refundablePerItem": false
}

EcomOrdersPaymentsCollectorV1MarkOrderAsPaidRequestInput

Fields
Input Field Description
ecomOrderId - String Ecom order ID.
Example
{"ecomOrderId": "abc123"}

EcomOrdersPaymentsCollectorV1MarkOrderAsPaidResponse

Fields
Field Name Description
order - EcomOrdersV1Order Updated order.
Example
{"order": EcomOrdersV1Order}

EcomOrdersPaymentsCollectorV1MembershipChargeItemInput

Fields
Input Field Description
appId - String ID of the application providing this payment option
catalogReference - EcommerceCatalogSpiV1CatalogReferenceInput Catalog and item reference info.
lineItemId - String line item id of Checkout/Order line item
membershipAdditionalData - JSON Additional data about this membership
membershipId - String The id of used membership
membershipName - EcomMembershipsSpiV1MembershipNameInput The name of used membership
rootCatalogItemId - String Usually would be the same as catalogReference.catalogItemId For cases when these are not the same, this field would return the actual id of the item in the catalog For example, for Wix bookings, catalogReference.catalogItemId is the booking id, and this value is being set to be the service id
serviceProperties - EcommerceCatalogSpiV1ServicePropertiesInput Properties of the service. When relevant, contains information such as date and number of participants.
Example
{
  "appId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "catalogReference": EcommerceCatalogSpiV1CatalogReferenceInput,
  "lineItemId": "abc123",
  "membershipAdditionalData": {},
  "membershipId": "abc123",
  "membershipName": EcomMembershipsSpiV1MembershipNameInput,
  "rootCatalogItemId": "abc123",
  "serviceProperties": EcommerceCatalogSpiV1ServicePropertiesInput
}

EcomOrdersPaymentsCollectorV1PreparePaymentCollectionRequestInput

Fields
Input Field Description
amount - EcommercePlatformCommonPriceInput Amount to collect
ecomOrderId - String Ecom order ID.
paymentGatewayOrderId - String Optional parameter. When present, payment collection will be performed using given payment gateway order. Existing payment gateway order will be updated with a new amount. When parameter is absent, new payment gateway order will be created and used for payment collection.
Example
{
  "amount": EcommercePlatformCommonPriceInput,
  "ecomOrderId": "abc123",
  "paymentGatewayOrderId": "xyz789"
}

EcomOrdersPaymentsCollectorV1PreparePaymentCollectionResponse

Fields
Field Name Description
paymentGatewayOrderId - String Payment gateway order id which is associated with given payment
Example
{"paymentGatewayOrderId": "abc123"}

EcomOrdersPaymentsCollectorV1RecordManuallyCollectedPaymentRequestInput

Fields
Input Field Description
amount - EcommercePlatformCommonPriceInput Amount to be recorded as approved manual payment for given order
orderId - String Order ID.
Example
{
  "amount": EcommercePlatformCommonPriceInput,
  "orderId": "abc123"
}

EcomOrdersPaymentsCollectorV1Refundability

Fields
Field Name Description
manuallyRefundableReason - EcomOrdersPaymentsCollectorV1RefundabilityManuallyRefundableReason Reason why payment is only refundable manually.
nonRefundableReason - EcomOrdersPaymentsCollectorV1RefundabilityNonRefundableReason Reason why payment is not refundable.
paymentId - String Payment ID.
providerLink - String Link to payment provider dashboard.
refundabilityStatus - EcomOrdersPaymentsCollectorV1RefundabilityRefundableStatus Payment refundability status.
Example
{
  "manuallyRefundableReason": "EXPIRED",
  "nonRefundableReason": "NONE",
  "paymentId": "abc123",
  "providerLink": "abc123",
  "refundabilityStatus": "NOT_REFUNDABLE"
}

EcomOrdersPaymentsCollectorV1TriggerRefundRequestInput

Fields
Input Field Description
details - EcomOrdersPaymentsV1RefundDetailsInput Business model of a refund
ecomOrderId - String The order this refund related to
payments - [EcomOrdersPaymentsV1PaymentRefundInput] Refund operations information
sideEffects - EcomOrdersPaymentsV1RefundSideEffectsInput Side effect details related to refund
Example
{
  "details": EcomOrdersPaymentsV1RefundDetailsInput,
  "ecomOrderId": "abc123",
  "payments": [EcomOrdersPaymentsV1PaymentRefundInput],
  "sideEffects": EcomOrdersPaymentsV1RefundSideEffectsInput
}

EcomOrdersPaymentsCollectorV1TriggerRefundResponse

Fields
Field Name Description
failedPaymentIds - [CommonItemMetadata] Payment ID's that the refund execution had failed for
orderTransactions - EcomOrdersPaymentsV1OrderTransactions All order's transactions after the refunds were added
refundId - String Created refund ID
Example
{
  "failedPaymentIds": [CommonItemMetadata],
  "orderTransactions": EcomOrdersPaymentsV1OrderTransactions,
  "refundId": "xyz789"
}

EcomOrdersPaymentsCollectorV1PaymentCollectabilityStatusEnumPaymentCollectabilityStatus

Values
Enum Value Description

UNKNOWN

COLLECTABLE

NONCOLLECTABLE_ORDER_IS_CANCELLED

NONCOLLECTABLE_ORDER_IS_PAID

NONCOLLECTABLE_MISSING_PAYMENT_METHOD

Example
"UNKNOWN"

EcomOrdersPaymentsCollectorV1RefundabilityManuallyRefundableReason

Values
Enum Value Description

EXPIRED

NOT_SUPPORTED

OFFLINE

Example
"EXPIRED"

EcomOrdersPaymentsCollectorV1RefundabilityNonRefundableReason

Values
Enum Value Description

NONE

ALREADY_REFUNDED

PROVIDER_IS_DOWN

INTERNAL_ERROR

NOT_PAID

ACCESS_DENIED

ZERO_PRICE

DISABLED_BY_PROVIDER

PENDING_REFUND

FORBIDDEN

TRANSACTION_NOT_FOUND

Example
"NONE"

EcomOrdersPaymentsCollectorV1RefundabilityRefundableStatus

Values
Enum Value Description

NOT_REFUNDABLE

MANUAL

REFUNDABLE

Example
"NOT_REFUNDABLE"

EcomOrdersPaymentsV1AddPaymentsRequestInput

Fields
Input Field Description
orderId - String Order ID.
payments - [EcomOrdersPaymentsV1PaymentInput] Payments to be added to order.
Example
{
  "orderId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "payments": [EcomOrdersPaymentsV1PaymentInput]
}

EcomOrdersPaymentsV1AddPaymentsResponse

Fields
Field Name Description
orderTransactions - EcomOrdersPaymentsV1OrderTransactions Order ID and its associated transactions.
paymentsIds - [String] IDs of added order payments.
Example
{
  "orderTransactions": EcomOrdersPaymentsV1OrderTransactions,
  "paymentsIds": ["abc123"]
}

EcomOrdersPaymentsV1AddRefundRequestInput

Fields
Input Field Description
orderId - String Order ID this refunds related to
refund - EcomOrdersPaymentsV1RefundInput Refund with refund transactions to be added to order.
sideEffects - EcomOrdersPaymentsV1RefundSideEffectsInput Side effect details related to refund
Example
{
  "orderId": "xyz789",
  "refund": EcomOrdersPaymentsV1RefundInput,
  "sideEffects": EcomOrdersPaymentsV1RefundSideEffectsInput
}

EcomOrdersPaymentsV1AddRefundResponse

Fields
Field Name Description
orderTransactions - EcomOrdersPaymentsV1OrderTransactions Order ID and its associated transactions.
refundId - String Created refund ID
Example
{
  "orderTransactions": EcomOrdersPaymentsV1OrderTransactions,
  "refundId": "xyz789"
}

EcomOrdersPaymentsV1BulkPaymentResult

Fields
Field Name Description
item - EcomOrdersPaymentsV1Payment Updated payment. Returned if return_full_entity set to true.
itemMetadata - CommonItemMetadata Item metadata.
Example
{
  "item": EcomOrdersPaymentsV1Payment,
  "itemMetadata": CommonItemMetadata
}

EcomOrdersPaymentsV1BulkUpdatePaymentStatusesRequestInput

Fields
Input Field Description
paymentAndOrderIds - [EcomOrdersPaymentsV1PaymentAndOrderIdInput] Order and payment IDs for which to update payment status.
returnFullEntity - Boolean Whether to return the full payment entity (results.item) in the response.
status - PaymentPayV3TransactionTransactionStatus Payment status.
Example
{
  "paymentAndOrderIds": [
    EcomOrdersPaymentsV1PaymentAndOrderIdInput
  ],
  "returnFullEntity": false,
  "status": "UNDEFINED"
}

EcomOrdersPaymentsV1BulkUpdatePaymentStatusesResponse

Fields
Field Name Description
bulkActionMetadata - CommonBulkActionMetadata Bulk operation metadata.
results - [EcomOrdersPaymentsV1BulkPaymentResult] Bulk operation results.
Example
{
  "bulkActionMetadata": CommonBulkActionMetadata,
  "results": [EcomOrdersPaymentsV1BulkPaymentResult]
}

EcomOrdersPaymentsV1GiftCardPaymentDetails

Fields
Field Name Description
appId - String ID of the app that created the gift card.
giftCardPaymentId - String Gift card payment ID.
voided - Boolean Whether the gift card is voided.
Example
{
  "appId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "giftCardPaymentId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "voided": false
}

EcomOrdersPaymentsV1GiftCardPaymentDetailsInput

Fields
Input Field Description
appId - String ID of the app that created the gift card.
giftCardPaymentId - String Gift card payment ID.
voided - Boolean Whether the gift card is voided.
Example
{
  "appId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "giftCardPaymentId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "voided": false
}

EcomOrdersPaymentsV1ListTransactionsForMultipleOrdersRequestInput

Fields
Input Field Description
orderIds - [String] Order IDs for which to retrieve transactions.
Example
{"orderIds": ["xyz789"]}

EcomOrdersPaymentsV1ListTransactionsForMultipleOrdersResponse

Fields
Field Name Description
orderTransactions - [EcomOrdersPaymentsV1OrderTransactions] List of order IDs and their associated transactions.
Example
{
  "orderTransactions": [
    EcomOrdersPaymentsV1OrderTransactions
  ]
}

EcomOrdersPaymentsV1ListTransactionsForSingleOrderRequestInput

Fields
Input Field Description
orderId - String Order ID.
Example
{"orderId": "xyz789"}

EcomOrdersPaymentsV1ListTransactionsForSingleOrderResponse

Fields
Field Name Description
orderTransactions - EcomOrdersPaymentsV1OrderTransactions Order ID and its associated transactions.
Example
{
  "orderTransactions": EcomOrdersPaymentsV1OrderTransactions
}

EcomOrdersPaymentsV1OrderTransactions

Fields
Field Name Description
order - EcomOrdersV1Order Order ID.
orderId - String Order ID.
payments - [EcomOrdersPaymentsV1Payment] Record of payments made to the merchant.
refunds - [EcomOrdersPaymentsV1Refund] Record of refunds made to the buyer.
Example
{
  "order": "62b7b87d-a24a-434d-8666-e270489eac09",
  "orderId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "payments": [EcomOrdersPaymentsV1Payment],
  "refunds": [EcomOrdersPaymentsV1Refund]
}

EcomOrdersPaymentsV1Payment

Fields
Field Name Description
amount - EcommercePlatformCommonPrice Payment amount.
createdDate - String Date and time the payment was created in ISO-8601 format. Defaults to current time when not provided.
giftcardPaymentDetails - EcomOrdersPaymentsV1GiftCardPaymentDetails Gift card payment details.
id - String Payment ID.
refundDisabled - Boolean

Whether refunds for this payment are disabled.

  • true: This payment is not refundable.
  • false: This payment may be refunded. However, this ultimately depends on the payment provider.
regularPaymentDetails - EcomOrdersPaymentsV1RegularPaymentDetails Regular payment details.
updatedDate - String Date and time the payment was last updated in ISO-8601 format.
Example
{
  "amount": EcommercePlatformCommonPrice,
  "createdDate": "abc123",
  "giftcardPaymentDetails": EcomOrdersPaymentsV1GiftCardPaymentDetails,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "refundDisabled": false,
  "regularPaymentDetails": EcomOrdersPaymentsV1RegularPaymentDetails,
  "updatedDate": "xyz789"
}

EcomOrdersPaymentsV1PaymentAndOrderIdInput

Fields
Input Field Description
orderId - String Order ID.
paymentId - String Payment ID. todo: remove comment once UI will use BulkMarkOrderAsPaid
Example
{
  "orderId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "paymentId": "xyz789"
}

EcomOrdersPaymentsV1PaymentInput

Fields
Input Field Description
amount - EcommercePlatformCommonPriceInput Payment amount.
createdDate - String Date and time the payment was created in ISO-8601 format. Defaults to current time when not provided.
giftcardPaymentDetails - EcomOrdersPaymentsV1GiftCardPaymentDetailsInput Gift card payment details.
id - String Payment ID.
refundDisabled - Boolean

Whether refunds for this payment are disabled.

  • true: This payment is not refundable.
  • false: This payment may be refunded. However, this ultimately depends on the payment provider.
regularPaymentDetails - EcomOrdersPaymentsV1RegularPaymentDetailsInput Regular payment details.
updatedDate - String Date and time the payment was last updated in ISO-8601 format.
Example
{
  "amount": EcommercePlatformCommonPriceInput,
  "createdDate": "abc123",
  "giftcardPaymentDetails": EcomOrdersPaymentsV1GiftCardPaymentDetailsInput,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "refundDisabled": true,
  "regularPaymentDetails": EcomOrdersPaymentsV1RegularPaymentDetailsInput,
  "updatedDate": "abc123"
}

EcomOrdersPaymentsV1PaymentRefundInput

Fields
Input Field Description
amount - EcommercePlatformCommonPriceInput Refund amount. Not relevant for membership refunds.
externalRefund - Boolean Whether refund is made externally and manually (on the payment provider's side) When false (default), the payment gateway will be called in order to make an actual refund, and then the payment will be marked as refunded. When true, the payment will only be marked as refunded, and no actual refund will be performed.
paymentId - String Specific payment within the order to refund
Example
{
  "amount": EcommercePlatformCommonPriceInput,
  "externalRefund": false,
  "paymentId": "62b7b87d-a24a-434d-8666-e270489eac09"
}

EcomOrdersPaymentsV1Refund

Fields
Field Name Description
createdDate - String Date and time the refund was created in ISO-8601 format. Defaults to current time when not provided.
details - EcomOrdersPaymentsV1RefundDetails Refund business details.
id - String Refund ID.
transactions - [EcomOrdersPaymentsV1RefundTransaction] List of transactions.
Example
{
  "createdDate": "abc123",
  "details": EcomOrdersPaymentsV1RefundDetails,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "transactions": [EcomOrdersPaymentsV1RefundTransaction]
}

EcomOrdersPaymentsV1RefundDetails

Fields
Field Name Description
items - [EcomOrdersPaymentsV1RefundItem] Order line item IDs and quantities that were refunded.
reason - String Reason for the refund, provided by customer (optional).
shippingIncluded - Boolean Whether the shipping fee was also refunded.
Example
{
  "items": [EcomOrdersPaymentsV1RefundItem],
  "reason": "abc123",
  "shippingIncluded": false
}

EcomOrdersPaymentsV1RefundDetailsInput

Fields
Input Field Description
items - [EcomOrdersPaymentsV1RefundItemInput] Order line item IDs and quantities that were refunded.
reason - String Reason for the refund, provided by customer (optional).
shippingIncluded - Boolean Whether the shipping fee was also refunded.
Example
{
  "items": [EcomOrdersPaymentsV1RefundItemInput],
  "reason": "xyz789",
  "shippingIncluded": false
}

EcomOrdersPaymentsV1RefundInput

Fields
Input Field Description
createdDate - String Date and time the refund was created in ISO-8601 format. Defaults to current time when not provided.
details - EcomOrdersPaymentsV1RefundDetailsInput Refund business details.
id - String Refund ID.
transactions - [EcomOrdersPaymentsV1RefundTransactionInput] List of transactions.
Example
{
  "createdDate": "abc123",
  "details": EcomOrdersPaymentsV1RefundDetailsInput,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "transactions": [
    EcomOrdersPaymentsV1RefundTransactionInput
  ]
}

EcomOrdersPaymentsV1RefundItem

Fields
Field Name Description
lineItemId - String Line item ID the refunded line item.
quantity - Int Line item quantity refunded.
Example
{"lineItemId": "62b7b87d-a24a-434d-8666-e270489eac09", "quantity": 123}

EcomOrdersPaymentsV1RefundItemInput

Fields
Input Field Description
lineItemId - String Line item ID the refunded line item.
quantity - Int Line item quantity refunded.
Example
{"lineItemId": "62b7b87d-a24a-434d-8666-e270489eac09", "quantity": 987}

EcomOrdersPaymentsV1RefundSideEffectsInput

Fields
Input Field Description
customMessage - String Custom message added to the refund confirmation email.
restockInfo - EcomOrdersPaymentsV1RestockInfoInput Inventory restock details as part of this refund.
sendOrderRefundedEmail - Boolean Whether to send a refund confirmation email to the customer.
Example
{
  "customMessage": "xyz789",
  "restockInfo": EcomOrdersPaymentsV1RestockInfoInput,
  "sendOrderRefundedEmail": true
}

EcomOrdersPaymentsV1RefundStatus

Values
Enum Value Description

PENDING

SUCCEEDED

FAILED

Example
"PENDING"

EcomOrdersPaymentsV1RefundTransaction

Fields
Field Name Description
amount - EcommercePlatformCommonPrice Refund amount.
externalRefund - Boolean Whether refund was made externally and manually on the payment provider's side.
gatewayRefundId - String Payment gateway's refund ID. This ID can be used with the Wix Payments Transactions API. This field is only returned when the value of external_refund is false.
paymentId - String ID of the payment associated with this refund.
providerRefundId - String ID of the refund in the payment provider's system. For example, at PayPal, Square, Stripe, etc. Not returned for external refunds.
refundStatus - EcomOrdersPaymentsV1RefundStatus Refund status.
Example
{
  "amount": EcommercePlatformCommonPrice,
  "externalRefund": true,
  "gatewayRefundId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "paymentId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "providerRefundId": "abc123",
  "refundStatus": "PENDING"
}

EcomOrdersPaymentsV1RefundTransactionInput

Fields
Input Field Description
amount - EcommercePlatformCommonPriceInput Refund amount.
externalRefund - Boolean Whether refund was made externally and manually on the payment provider's side.
gatewayRefundId - String Payment gateway's refund ID. This ID can be used with the Wix Payments Transactions API. This field is only returned when the value of external_refund is false.
paymentId - String ID of the payment associated with this refund.
providerRefundId - String ID of the refund in the payment provider's system. For example, at PayPal, Square, Stripe, etc. Not returned for external refunds.
refundStatus - EcomOrdersPaymentsV1RefundStatus Refund status.
Example
{
  "amount": EcommercePlatformCommonPriceInput,
  "externalRefund": false,
  "gatewayRefundId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "paymentId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "providerRefundId": "abc123",
  "refundStatus": "PENDING"
}

EcomOrdersPaymentsV1RegularPaymentDetails

Fields
Field Name Description
gatewayTransactionId - String Payment gateway's transaction ID. This ID can be used with the Wix Payments Transactions API. This field is only returned when the value of offline_payment is false.
offlinePayment - Boolean Whether the payment was made offline. For example, when using cash or when marked as paid in the Business Manager.
paymentMethod - String

Payment method. Non-exhaustive list of supported values:

  • CreditCard, Alipay, AstropayCash, AstropayDBT, AstropayMBT, Bitcoin, BitPay, Cash, ConvenienceStore, EPay, Fake, Giropay, IDeal, InPerson, Klarna, MercadoPago, Netpay, NordeaSolo, Offline, PagSeguro, PayEasy, PayPal, Paysafecard, Paysafecash, PointOfSale, Poli, Privat24, Przelewy24, RapidTransfer, Sepa, Skrill, Sofort, Trustly, Neteller, Unionpay, UniPay, Yandex
paymentOrderId - String Wix Payments order ID.
providerTransactionId - String Transaction ID in the payment provider's system. For example, at PayPal, Square, Stripe, etc. Not returned for offline payments.
status - PaymentPayV3TransactionTransactionStatus Payment status.
Example
{
  "gatewayTransactionId": "abc123",
  "offlinePayment": false,
  "paymentMethod": "xyz789",
  "paymentOrderId": "xyz789",
  "providerTransactionId": "xyz789",
  "status": "UNDEFINED"
}

EcomOrdersPaymentsV1RegularPaymentDetailsInput

Fields
Input Field Description
gatewayTransactionId - String Payment gateway's transaction ID. This ID can be used with the Wix Payments Transactions API. This field is only returned when the value of offline_payment is false.
offlinePayment - Boolean Whether the payment was made offline. For example, when using cash or when marked as paid in the Business Manager.
paymentMethod - String

Payment method. Non-exhaustive list of supported values:

  • CreditCard, Alipay, AstropayCash, AstropayDBT, AstropayMBT, Bitcoin, BitPay, Cash, ConvenienceStore, EPay, Fake, Giropay, IDeal, InPerson, Klarna, MercadoPago, Netpay, NordeaSolo, Offline, PagSeguro, PayEasy, PayPal, Paysafecard, Paysafecash, PointOfSale, Poli, Privat24, Przelewy24, RapidTransfer, Sepa, Skrill, Sofort, Trustly, Neteller, Unionpay, UniPay, Yandex
paymentOrderId - String Wix Payments order ID.
providerTransactionId - String Transaction ID in the payment provider's system. For example, at PayPal, Square, Stripe, etc. Not returned for offline payments.
status - PaymentPayV3TransactionTransactionStatus Payment status.
Example
{
  "gatewayTransactionId": "xyz789",
  "offlinePayment": false,
  "paymentMethod": "abc123",
  "paymentOrderId": "abc123",
  "providerTransactionId": "abc123",
  "status": "UNDEFINED"
}

EcomOrdersPaymentsV1RestockInfoInput

Fields
Input Field Description
items - [EcomOrdersPaymentsV1RestockItemInput] Restocked line items and quantities. Only relevant for {"type": "SOME_ITEMS"}.
type - EcomOrdersPaymentsV1RestockInfoRestockType Restock type.
Example
{
  "items": [EcomOrdersPaymentsV1RestockItemInput],
  "type": "NO_ITEMS"
}

EcomOrdersPaymentsV1RestockItemInput

Fields
Input Field Description
lineItemId - String ID of the line item being restocked.
quantity - Int Line item quantity being restocked.
Example
{"lineItemId": "62b7b87d-a24a-434d-8666-e270489eac09", "quantity": 987}

EcomOrdersPaymentsV1UpdatePaymentStatusRequestInput

Fields
Input Field Description
orderId - String Order ID.
paymentId - String Payment ID.
status - PaymentPayV3TransactionTransactionStatus Payment status.
Example
{
  "orderId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "paymentId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "status": "UNDEFINED"
}

EcomOrdersPaymentsV1UpdatePaymentStatusResponse

Fields
Field Name Description
orderTransactions - EcomOrdersPaymentsV1OrderTransactions Order ID and its associated transactions after update.
Example
{
  "orderTransactions": EcomOrdersPaymentsV1OrderTransactions
}

EcomOrdersPaymentsV1RestockInfoRestockType

Values
Enum Value Description

NO_ITEMS

ALL_ITEMS

SOME_ITEMS

Example
"NO_ITEMS"

EcomOrdersV1Activity

Fields
Field Name Description
authorEmail - String Activity author's email.
createdDate - String Activity creation date and time.
customActivity - EcomOrdersV1CustomActivity Custom activity details (optional). activity.type must be CUSTOM_ACTIVITY.
id - String Activity ID.
merchantComment - EcomOrdersV1MerchantComment Merchant comment details (optional). activity.type must be MERCHANT_COMMENT.
orderRefunded - EcomOrdersV1OrderRefunded Additional info about order refunded activity (optional). activity.type must be ORDER_REFUNDED.
type - EcomOrdersV1ActivityTypeEnumActivityType Activity type.
Example
{
  "authorEmail": "xyz789",
  "createdDate": "abc123",
  "customActivity": EcomOrdersV1CustomActivity,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "merchantComment": EcomOrdersV1MerchantComment,
  "orderRefunded": EcomOrdersV1OrderRefunded,
  "type": "ORDER_REFUNDED"
}

EcomOrdersV1ActivityInput

Fields
Input Field Description
authorEmail - String Activity author's email.
createdDate - String Activity creation date and time.
customActivity - EcomOrdersV1CustomActivityInput Custom activity details (optional). activity.type must be CUSTOM_ACTIVITY.
id - String Activity ID.
merchantComment - EcomOrdersV1MerchantCommentInput Merchant comment details (optional). activity.type must be MERCHANT_COMMENT.
orderRefunded - EcomOrdersV1OrderRefundedInput Additional info about order refunded activity (optional). activity.type must be ORDER_REFUNDED.
type - EcomOrdersV1ActivityTypeEnumActivityType Activity type.
Example
{
  "authorEmail": "xyz789",
  "createdDate": "xyz789",
  "customActivity": EcomOrdersV1CustomActivityInput,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "merchantComment": EcomOrdersV1MerchantCommentInput,
  "orderRefunded": EcomOrdersV1OrderRefundedInput,
  "type": "ORDER_REFUNDED"
}

EcomOrdersV1AddActivityRequestInput

Fields
Input Field Description
activity - EcomOrdersV1PublicActivityInput Activity info.
id - String Order ID.
Example
{
  "activity": EcomOrdersV1PublicActivityInput,
  "id": "xyz789"
}

EcomOrdersV1AddActivityResponse

Fields
Field Name Description
activityId - String ID of the added activity. Use this ID to either update or delete the activity.
order - EcomOrdersV1Order Updated order.
Example
{
  "activityId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "order": EcomOrdersV1Order
}

EcomOrdersV1AdditionalFee

Fields
Field Name Description
code - String Additional fee's unique code for future processing.
id - String Additional fee's id.
lineItemIds - [String] Optional - Line items associated with this additional fee. If no lineItemIds are provided, the fee will be associated with the whole cart/checkout/order.
name - String Name of additional fee.
price - EcommercePlatformCommonPrice Additional fee's price.
priceBeforeTax - EcommercePlatformCommonPrice Additional fee's price before tax.
providerAppId - String SPI implementer's appId.
taxDetails - EcomTaxItemTaxFullDetails Tax details.
Example
{
  "code": "xyz789",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "lineItemIds": ["abc123"],
  "name": "xyz789",
  "price": EcommercePlatformCommonPrice,
  "priceBeforeTax": EcommercePlatformCommonPrice,
  "providerAppId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "taxDetails": EcomTaxItemTaxFullDetails
}

EcomOrdersV1AdditionalFeeDeltaInput

Fields
Input Field Description
additionalFeeId - String Additional fee id.
additionalFeeRemoved - Boolean
editedAdditionalFee - EcomOrdersV1AdditionalFeeInput
Example
{
  "additionalFeeId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "additionalFeeRemoved": false,
  "editedAdditionalFee": EcomOrdersV1AdditionalFeeInput
}

EcomOrdersV1AdditionalFeeInput

Fields
Input Field Description
code - String Additional fee's unique code for future processing.
id - String Additional fee's id.
lineItemIds - [String] Optional - Line items associated with this additional fee. If no lineItemIds are provided, the fee will be associated with the whole cart/checkout/order.
name - String Name of additional fee.
price - EcommercePlatformCommonPriceInput Additional fee's price.
priceBeforeTax - EcommercePlatformCommonPriceInput Additional fee's price before tax.
providerAppId - String SPI implementer's appId.
taxDetails - EcomTaxItemTaxFullDetailsInput Tax details.
Example
{
  "code": "abc123",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "lineItemIds": ["xyz789"],
  "name": "xyz789",
  "price": EcommercePlatformCommonPriceInput,
  "priceBeforeTax": EcommercePlatformCommonPriceInput,
  "providerAppId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "taxDetails": EcomTaxItemTaxFullDetailsInput
}

EcomOrdersV1AggregateOrdersRequestInput

Fields
Input Field Description
aggregation - JSON This is an object defining aggregation itself
filter - JSON Filter applied to original data
Example
{"aggregation": {}, "filter": {}}

EcomOrdersV1AggregateOrdersResponse

Fields
Field Name Description
aggregates - JSON
Example
{"aggregates": {}}

EcomOrdersV1AppliedDiscount

Fields
Field Name Description
coupon - EcomOrdersV1Coupon Applied coupon info.
discountRule - EcomOrdersV1DiscountRule Automatic Discount
discountType - EcomOrdersV1AppliedDiscountDiscountType

Discount type.

  • "GLOBAL" - discount applies to entire order.
  • "SPECIFIC-ITEMS" - discount applies to specific items.
  • "SHIPPING" - discount applies to shipping. For example, free shipping.
id - String Discount id.
lineItemIds - [String] IDs of line items discount applies to.
merchantDiscount - EcomOrdersV1MerchantDiscount Merchant discount.
Example
{
  "coupon": EcomOrdersV1Coupon,
  "discountRule": EcomOrdersV1DiscountRule,
  "discountType": "GLOBAL",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "lineItemIds": ["xyz789"],
  "merchantDiscount": EcomOrdersV1MerchantDiscount
}

EcomOrdersV1AppliedDiscountDeltaInput

Fields
Input Field Description
discountId - String Discount id.
discountRemoved - Boolean
editedDiscount - EcomOrdersV1AppliedDiscountInput
Example
{
  "discountId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "discountRemoved": false,
  "editedDiscount": EcomOrdersV1AppliedDiscountInput
}

EcomOrdersV1AppliedDiscountInput

Fields
Input Field Description
coupon - EcomOrdersV1CouponInput Applied coupon info.
discountRule - EcomOrdersV1DiscountRuleInput Automatic Discount
discountType - EcomOrdersV1AppliedDiscountDiscountType

Discount type.

  • "GLOBAL" - discount applies to entire order.
  • "SPECIFIC-ITEMS" - discount applies to specific items.
  • "SHIPPING" - discount applies to shipping. For example, free shipping.
id - String Discount id.
lineItemIds - [String] IDs of line items discount applies to.
merchantDiscount - EcomOrdersV1MerchantDiscountInput Merchant discount.
Example
{
  "coupon": EcomOrdersV1CouponInput,
  "discountRule": EcomOrdersV1DiscountRuleInput,
  "discountType": "GLOBAL",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "lineItemIds": ["abc123"],
  "merchantDiscount": EcomOrdersV1MerchantDiscountInput
}

EcomOrdersV1BulkOrderResult

Fields
Field Name Description
item - EcomOrdersV1Order Updated item. Optional - returned only if requested with return_full_entity set to true.
itemMetadata - CommonItemMetadata Item metadata.
Example
{
  "item": EcomOrdersV1Order,
  "itemMetadata": CommonItemMetadata
}

EcomOrdersV1BuyerInfo

Fields
Field Name Description
contact - ContactsCoreV4Contact Contact ID. Auto-created if one does not yet exist. For more information, see Contacts API.
contactId - String Contact ID. Auto-created if one does not yet exist. For more information, see Contacts API.
email - String Buyer email address.
member - MembersMember Member ID (if site visitor is a site member).
memberId - String Member ID (if site visitor is a site member).
visitorId - String Visitor ID (if site visitor is not a member).
Example
{
  "contact": "62b7b87d-a24a-434d-8666-e270489eac09",
  "contactId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "email": "abc123",
  "member": "62b7b87d-a24a-434d-8666-e270489eac09",
  "memberId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "visitorId": "62b7b87d-a24a-434d-8666-e270489eac09"
}

EcomOrdersV1BuyerInfoInput

Fields
Input Field Description
contactId - String Contact ID. Auto-created if one does not yet exist. For more information, see Contacts API.
email - String Buyer email address.
memberId - String Member ID (if site visitor is a site member).
visitorId - String Visitor ID (if site visitor is not a member).
Example
{
  "contactId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "email": "abc123",
  "memberId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "visitorId": "62b7b87d-a24a-434d-8666-e270489eac09"
}

EcomOrdersV1CancelOrderRequestInput

Fields
Input Field Description
customMessage - String Custom note to be added to the email (optional).
id - String Order ID.
restockAllItems - Boolean Whether to restock all items in the order. This will only apply to products in the Wix Stores inventory.
sendOrderCanceledEmail - Boolean Whether to send an order canceled email to the buyer.
Example
{
  "customMessage": "abc123",
  "id": "xyz789",
  "restockAllItems": false,
  "sendOrderCanceledEmail": true
}

EcomOrdersV1CancelOrderResponse

Fields
Field Name Description
order - EcomOrdersV1Order Canceled order.
Example
{"order": EcomOrdersV1Order}

EcomOrdersV1ChannelInfo

Fields
Field Name Description
externalOrderId - String Reference to an order ID from an external system.
externalOrderUrl - String URL to the order in the external system.
type - EcommercePlatformCommonChannelType Sales channel that submitted the order.
Example
{
  "externalOrderId": "xyz789",
  "externalOrderUrl": "xyz789",
  "type": "UNSPECIFIED"
}

EcomOrdersV1ChannelInfoInput

Fields
Input Field Description
externalOrderId - String Reference to an order ID from an external system.
externalOrderUrl - String URL to the order in the external system.
type - EcommercePlatformCommonChannelType Sales channel that submitted the order.
Example
{
  "externalOrderId": "abc123",
  "externalOrderUrl": "xyz789",
  "type": "UNSPECIFIED"
}

EcomOrdersV1CommitDeltasRequestInput

Fields
Input Field Description
changes - EcomOrdersV1DraftOrderDiffsInput Draft order changes to be applied
commitSettings - EcomOrdersV1DraftOrderCommitSettingsInput Side-effects to happen after order is updated
draftOrderId - String Draft order Id representing this change. Use this ID to get this specific draft content. call .../v1/draft-orders/{draft_order_id}/get
id - String Order id to be updated
reason - String Reason for edit, given by user (optional).
Example
{
  "changes": EcomOrdersV1DraftOrderDiffsInput,
  "commitSettings": EcomOrdersV1DraftOrderCommitSettingsInput,
  "draftOrderId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "id": "abc123",
  "reason": "xyz789"
}

EcomOrdersV1CommitDeltasResponse

Fields
Field Name Description
order - EcomOrdersV1Order Order after deltas are applied
Example
{"order": EcomOrdersV1Order}

EcomOrdersV1Coupon

Fields
Field Name Description
amount - EcommercePlatformCommonPrice Coupon value.
code - String Coupon code.
id - String Coupon ID.
name - String Coupon name.
Example
{
  "amount": EcommercePlatformCommonPrice,
  "code": "abc123",
  "id": "abc123",
  "name": "xyz789"
}

EcomOrdersV1CouponInput

Fields
Input Field Description
amount - EcommercePlatformCommonPriceInput Coupon value.
code - String Coupon code.
id - String Coupon ID.
name - String Coupon name.
Example
{
  "amount": EcommercePlatformCommonPriceInput,
  "code": "abc123",
  "id": "xyz789",
  "name": "xyz789"
}

EcomOrdersV1CreateOrderRequestInput

Fields
Input Field Description
order - EcomOrdersV1OrderInput Order info.
Example
{"order": EcomOrdersV1OrderInput}

EcomOrdersV1CreateOrderResponse

Fields
Field Name Description
order - EcomOrdersV1Order Newly created order.
Example
{"order": EcomOrdersV1Order}

EcomOrdersV1CreatedBy

Fields
Field Name Description
appId - String App ID - when the order was created by an external application.
memberId - String Member ID - when the order was created by a logged in site visitor.
userId - String User ID - when the order was created by a Wix user on behalf of a buyer. For example, via POS (point of service).
visitorId - String Visitor ID - when the order was created by a site visitor that was not logged in.
Example
{
  "appId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "memberId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "userId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "visitorId": "62b7b87d-a24a-434d-8666-e270489eac09"
}

EcomOrdersV1CreatedByInput

Fields
Input Field Description
appId - String App ID - when the order was created by an external application.
memberId - String Member ID - when the order was created by a logged in site visitor.
userId - String User ID - when the order was created by a Wix user on behalf of a buyer. For example, via POS (point of service).
visitorId - String Visitor ID - when the order was created by a site visitor that was not logged in.
Example
{
  "appId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "memberId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "userId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "visitorId": "62b7b87d-a24a-434d-8666-e270489eac09"
}

EcomOrdersV1CustomActivity

Fields
Field Name Description
additionalData - JSON Additional data in key-value form. For example, { "Ticket number": "123456" }.
appId - String ID of the app that created the custom activity.
type - String Custom activity type. For example, "Ticket number set".
Example
{
  "additionalData": {},
  "appId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "type": "abc123"
}

EcomOrdersV1CustomActivityInput

Fields
Input Field Description
additionalData - JSON Additional data in key-value form. For example, { "Ticket number": "123456" }.
appId - String ID of the app that created the custom activity.
type - String Custom activity type. For example, "Ticket number set".
Example
{
  "additionalData": {},
  "appId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "type": "xyz789"
}

EcomOrdersV1CustomField

Fields
Field Name Description
title - String Custom field title.
translatedTitle - String Translated custom field title.
value - JSON Custom field value.
Example
{
  "title": "abc123",
  "translatedTitle": "xyz789",
  "value": {}
}

EcomOrdersV1CustomFieldInput

Fields
Input Field Description
title - String Custom field title.
translatedTitle - String Translated custom field title.
value - JSON Custom field value.
Example
{
  "title": "xyz789",
  "translatedTitle": "xyz789",
  "value": {}
}

EcomOrdersV1DeleteActivityRequestInput

Fields
Input Field Description
activityId - String ID of the activity to delete.
id - String Order ID.
Example
{
  "activityId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "id": "abc123"
}

EcomOrdersV1DeleteActivityResponse

Fields
Field Name Description
order - EcomOrdersV1Order Updated order.
Example
{"order": EcomOrdersV1Order}

EcomOrdersV1DeliveryLogistics

Fields
Field Name Description
deliverByDate - String Deprecated - Latest expected delivery date and time in ISO-8601 format.
deliveryTime - String Expected delivery time in free text. For example, "3-5 business days".
deliveryTimeSlot - EcomOrdersV1DeliveryTimeSlot Expected delivery time.
instructions - String Instructions for carrier. For example, "Please knock on the door. If unanswered, please call contact number. Thanks.".
pickupDetails - EcomOrdersV1PickupDetails Pickup details.
shippingDestination - EcommercePlatformCommonAddressWithContact Shipping address and contact details.
Example
{
  "deliverByDate": "xyz789",
  "deliveryTime": "abc123",
  "deliveryTimeSlot": EcomOrdersV1DeliveryTimeSlot,
  "instructions": "xyz789",
  "pickupDetails": EcomOrdersV1PickupDetails,
  "shippingDestination": EcommercePlatformCommonAddressWithContact
}

EcomOrdersV1DeliveryLogisticsInput

Fields
Input Field Description
deliverByDate - String Deprecated - Latest expected delivery date and time in ISO-8601 format.
deliveryTime - String Expected delivery time in free text. For example, "3-5 business days".
deliveryTimeSlot - EcomOrdersV1DeliveryTimeSlotInput Expected delivery time.
instructions - String Instructions for carrier. For example, "Please knock on the door. If unanswered, please call contact number. Thanks.".
pickupDetails - EcomOrdersV1PickupDetailsInput Pickup details.
shippingDestination - EcommercePlatformCommonAddressWithContactInput Shipping address and contact details.
Example
{
  "deliverByDate": "abc123",
  "deliveryTime": "abc123",
  "deliveryTimeSlot": EcomOrdersV1DeliveryTimeSlotInput,
  "instructions": "abc123",
  "pickupDetails": EcomOrdersV1PickupDetailsInput,
  "shippingDestination": EcommercePlatformCommonAddressWithContactInput
}

EcomOrdersV1DeliveryTimeSlot

Fields
Field Name Description
from - String Delivery slot starting time.
to - String Delivery slot ending time.
Example
{
  "from": "abc123",
  "to": "xyz789"
}

EcomOrdersV1DeliveryTimeSlotInput

Fields
Input Field Description
from - String Delivery slot starting time.
to - String Delivery slot ending time.
Example
{
  "from": "abc123",
  "to": "xyz789"
}

EcomOrdersV1DeltaPaymentOptionType

Values
Enum Value Description

UNKNOWN_PAYMENT_OPTION

irrelevant

FULL_PAYMENT_OFFLINE

The entire payment for given item will happen after the checkout.

MEMBERSHIP_OFFLINE

Payment for this item can only be done using a membership and must be manually redeemed in the dashboard by the site owner. Note: when this option is used, price will be 0.
Example
"UNKNOWN_PAYMENT_OPTION"

EcomOrdersV1DiscountRule

Fields
Field Name Description
amount - EcommercePlatformCommonPrice Discount value.
discountRule - EcomDiscountsDiscountRule Discount rule ID
id - String Discount rule ID
name - EcomOrdersV1DiscountRuleName Discount rule name
Example
{
  "amount": EcommercePlatformCommonPrice,
  "discountRule": "62b7b87d-a24a-434d-8666-e270489eac09",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "name": EcomOrdersV1DiscountRuleName
}

EcomOrdersV1DiscountRuleInput

Fields
Input Field Description
amount - EcommercePlatformCommonPriceInput Discount value.
id - String Discount rule ID
name - EcomOrdersV1DiscountRuleNameInput Discount rule name
Example
{
  "amount": EcommercePlatformCommonPriceInput,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "name": EcomOrdersV1DiscountRuleNameInput
}

EcomOrdersV1DiscountRuleName

Fields
Field Name Description
original - String Original discount rule name (in site's default language).
translated - String Translated discount rule name according to buyer language. Defaults to original when not provided.
Example
{
  "original": "abc123",
  "translated": "abc123"
}

EcomOrdersV1DiscountRuleNameInput

Fields
Input Field Description
original - String Original discount rule name (in site's default language).
translated - String Translated discount rule name according to buyer language. Defaults to original when not provided.
Example
{
  "original": "xyz789",
  "translated": "xyz789"
}

EcomOrdersV1DraftOrderCommitSettingsInput

Fields
Input Field Description
addActivitiesToOrder - Boolean If false,do not add activities to the order. Default is true.
inventoryUpdates - [EcomOrdersV1InventoryUpdateDetailsInput] Inventory changes to be applied. Either to restock, or decrease.
sendNotificationsToBusiness - Boolean If false, do not send notifications to business. Default is true.
sendNotificationsToBuyer - Boolean If false, do not send notifications to buyer. Default is true.
sendNotificationsToCustomFulfillers - Boolean If false, do not send mails to custom fulfillers in case of a change of shippable items fulfilled by custom fulfillers. Default is true.
Example
{
  "addActivitiesToOrder": false,
  "inventoryUpdates": [
    EcomOrdersV1InventoryUpdateDetailsInput
  ],
  "sendNotificationsToBusiness": true,
  "sendNotificationsToBuyer": true,
  "sendNotificationsToCustomFulfillers": false
}

EcomOrdersV1DraftOrderDiffsInput

Fields
Input Field Description
additionalFees - [EcomOrdersV1AdditionalFeeDeltaInput] Added/updated/removed additional fee.
appliedDiscounts - [EcomOrdersV1AppliedDiscountDeltaInput] Added/updated/removed discounts. todo: set (.wix.api.maxSize). need to find it. existing : merchant can have 100 + 1 coupon + ? due to automatic discounts
changedShippingInfo - EcomOrdersV1ShippingInformationInput Shipping info and selected shipping option details.
lineItems - [EcomOrdersV1LineItemDeltaInput] Added/updated/removed order line items.
priceSummary - EcomOrdersV1PriceSummaryInput Updated order price summary. overwrites existing price summary. balance will be updated automatically.
shippingInfoRemoved - Boolean Remove existing shipping info.
taxSummary - EcomTaxTaxSummaryInput Updated Tax summary. overwrites existing tax summary.
Example
{
  "additionalFees": [EcomOrdersV1AdditionalFeeDeltaInput],
  "appliedDiscounts": [
    EcomOrdersV1AppliedDiscountDeltaInput
  ],
  "changedShippingInfo": EcomOrdersV1ShippingInformationInput,
  "lineItems": [EcomOrdersV1LineItemDeltaInput],
  "priceSummary": EcomOrdersV1PriceSummaryInput,
  "shippingInfoRemoved": false,
  "taxSummary": EcomTaxTaxSummaryInput
}

EcomOrdersV1FulfillmentStatus

Values
Enum Value Description

NOT_FULFILLED

none of the order items are fulfilled or order was manually marked as unfulfilled

FULFILLED

All of the order items are fulfilled or order was manually marked as fulfilled Orders without shipping info are fulfilled automatically

PARTIALLY_FULFILLED

Some, but not all of the order items are fulfilled
Example
"NOT_FULFILLED"

EcomOrdersV1InternalQueryOrdersRequestInput

Fields
Input Field Description
query - EcommerceCommonsPlatformQueryInput Query options.
Example
{"query": EcommerceCommonsPlatformQueryInput}

EcomOrdersV1InternalQueryOrdersResponse

Fields
Field Name Description
metadata - EcommerceCommonsPlatformPagingMetadata Details on the paged set of results returned.
orders - [EcomOrdersV1Order] List of orders.
Example
{
  "metadata": EcommerceCommonsPlatformPagingMetadata,
  "orders": [EcomOrdersV1Order]
}

EcomOrdersV1InventoryUpdateDetailsInput

Fields
Input Field Description
actionType - EcomOrdersV1InventoryUpdateDetailsInventoryAction Action to be applied - decrease or restock
lineItemId - String Order line item id
quantityChange - Int The amount to be increased or restocked
Example
{
  "actionType": "RESTOCK",
  "lineItemId": "abc123",
  "quantityChange": 123
}

EcomOrdersV1ItemChangedDetailsInput

Fields
Input Field Description
priceBeforeChange - EcommercePlatformCommonPriceInput The price before the change.
priceDescriptionBeforeChange - EcommerceCatalogSpiV1PriceDescriptionInput The price description before the change
quantityBeforeChange - Int The quantity before the change.
Example
{
  "priceBeforeChange": EcommercePlatformCommonPriceInput,
  "priceDescriptionBeforeChange": EcommerceCatalogSpiV1PriceDescriptionInput,
  "quantityBeforeChange": 987
}

EcomOrdersV1LineItemDeltaInput

Fields
Input Field Description
changedDetails - EcomOrdersV1ItemChangedDetailsInput The line item was modified.
lineItem - EcomOrdersV1OrderLineItemChangedDetailsInput
lineItemAdded - Boolean The line item was added.
lineItemId - String Line item ID.
lineItemRemoved - Boolean The line item was added.
Example
{
  "changedDetails": EcomOrdersV1ItemChangedDetailsInput,
  "lineItem": EcomOrdersV1OrderLineItemChangedDetailsInput,
  "lineItemAdded": false,
  "lineItemId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "lineItemRemoved": true
}

EcomOrdersV1MerchantComment

Fields
Field Name Description
message - String Merchant comment message.
Example
{"message": "xyz789"}

EcomOrdersV1MerchantCommentInput

Fields
Input Field Description
message - String Merchant comment message.
Example
{"message": "xyz789"}

EcomOrdersV1MerchantDiscount

Fields
Field Name Description
amount - EcommercePlatformCommonPrice Discount amount.
description - String Discount description as free text (optional).
discountReason - EcomOrdersV1MerchantDiscountDiscountReason

Pre-defined discount reason (optional).

  • "ITEMS_EXCHANGE" - exchange balance acquired as a result of items exchange.
Example
{
  "amount": EcommercePlatformCommonPrice,
  "description": "xyz789",
  "discountReason": "UNSPECIFIED"
}

EcomOrdersV1MerchantDiscountInput

Fields
Input Field Description
amount - EcommercePlatformCommonPriceInput Discount amount.
description - String Discount description as free text (optional).
discountReason - EcomOrdersV1MerchantDiscountDiscountReason

Pre-defined discount reason (optional).

  • "ITEMS_EXCHANGE" - exchange balance acquired as a result of items exchange.
Example
{
  "amount": EcommercePlatformCommonPriceInput,
  "description": "abc123",
  "discountReason": "UNSPECIFIED"
}

EcomOrdersV1Order

Fields
Field Name Description
activities - [EcomOrdersV1Activity] Order activities.
additionalFees - [EcomOrdersV1AdditionalFee] Additional fees applied to the order.
appliedDiscounts - [EcomOrdersV1AppliedDiscount] Applied discounts.
archived - Boolean Whether order is archived.
attributionSource - EcomOrdersV1AttributionSourceEnumAttributionSource Order attribution source.
billingInfo - EcommercePlatformCommonAddressWithContact Billing address and contact details.
buyerInfo - EcomOrdersV1BuyerInfo Buyer information.
buyerLanguage - String Language for communication with the buyer. Defaults to the site language. For a site that supports multiple languages, this is the language the buyer selected.
buyerNote - String Buyer note left by the customer.
channelInfo - EcomOrdersV1ChannelInfo Information about the sales channel that submitted this order.
checkoutId - String Checkout ID.
createdBy - EcomOrdersV1CreatedBy ID of the order's initiator.
createdDate - String Date and time the order was created in ISO-8601 format.
currency - String Currency used for the pricing of this order in ISO-4217 format.
customFields - [EcomOrdersV1CustomField] Custom fields.
externalEnrichedLineItemsForTYP - EcomLineItemsEnricherSpiHostV1EnrichLineItemsForThankYouPageResponse
externalFulfillments - [EcomOrdersFulfillmentsV1Fulfillment]
externalTransactions - EcomOrdersPaymentsV1ListTransactionsForSingleOrderResponse
fulfillmentStatus - EcomOrdersV1FulfillmentStatus Order fulfillment status.
id - String Order ID.
lineItems - [EcomOrdersV1OrderLineItem] Order line items.
number - Int Order number displayed in the site owner's dashboard (auto-generated).
paymentStatus - EcomOrdersV1PaymentStatusEnumPaymentStatus

Order payment status.

  • NOT_PAID - This can be an order made online, but not yet paid. In such cases order.status will be INITIALIZED.
  • This status also applies when an offline order needs to be manually marked as paid. In such cases order.status will be APPROVED.
  • PAID - All payments associated with this order are paid. For online payments: payment.regularPaymentDetails.status: APPROVED. For gift cards: payment.giftCardPaymentDetails.voided: false.
  • PARTIALLY_REFUNDED - Order was refunded, but refund amount is less than order total price.
  • FULLY_REFUNDED - Order fully refunded. Refund amount equals total price.
  • PENDING - Payments received but not yet confirmed by the payment provider.
  • PARTIALLY_PAID - At least one payment was received and approved, covering less than total price amount.
priceSummary - EcomOrdersV1PriceSummary Order price summary.
purchaseFlowId - String Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order.
seenByAHuman - Boolean Whether a human has seen the order. Set when an order is clicked on in the dashboard.
shippingInfo - EcomOrdersV1ShippingInformation Shipping info and selected shipping option details.
siteLanguage - String Site language in which original values are shown.
status - EcomOrdersV1OrderStatus

Order status.

  • INITIALIZED - Order was created, but not yet approved or declined.
  • APPROVED - Order was approved. This happens when either the online payment succeeded or the order is an offline order. Once an order is approved, many side effects are triggered. For example, holding of stock in the inventory and sending of notification emails.
  • CANCELED - Order was canceled by the user.
taxIncludedInPrices - Boolean Whether tax is included in line item prices.
taxSummary - EcomTaxTaxSummary Tax summary.
updatedDate - String Date and time the order was last updated in ISO-8601 format.
weightUnit - EcommercePlatformCommonWeightUnit Weight measurement unit - defaults to site's weight unit.
Example
{
  "activities": [EcomOrdersV1Activity],
  "additionalFees": [EcomOrdersV1AdditionalFee],
  "appliedDiscounts": [EcomOrdersV1AppliedDiscount],
  "archived": false,
  "attributionSource": "UNSPECIFIED",
  "billingInfo": EcommercePlatformCommonAddressWithContact,
  "buyerInfo": EcomOrdersV1BuyerInfo,
  "buyerLanguage": "abc123",
  "buyerNote": "xyz789",
  "channelInfo": EcomOrdersV1ChannelInfo,
  "checkoutId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "createdBy": EcomOrdersV1CreatedBy,
  "createdDate": "abc123",
  "currency": "abc123",
  "customFields": [EcomOrdersV1CustomField],
  "externalEnrichedLineItemsForTYP": EcomLineItemsEnricherSpiHostV1EnrichLineItemsForThankYouPageResponse,
  "externalFulfillments": [
    EcomOrdersFulfillmentsV1Fulfillment
  ],
  "externalTransactions": EcomOrdersPaymentsV1ListTransactionsForSingleOrderResponse,
  "fulfillmentStatus": "NOT_FULFILLED",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "lineItems": [EcomOrdersV1OrderLineItem],
  "number": 987,
  "paymentStatus": "UNSPECIFIED",
  "priceSummary": EcomOrdersV1PriceSummary,
  "purchaseFlowId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "seenByAHuman": false,
  "shippingInfo": EcomOrdersV1ShippingInformation,
  "siteLanguage": "abc123",
  "status": "INITIALIZED",
  "taxIncludedInPrices": true,
  "taxSummary": EcomTaxTaxSummary,
  "updatedDate": "abc123",
  "weightUnit": "UNSPECIFIED_WEIGHT_UNIT"
}

EcomOrdersV1OrderInput

Fields
Input Field Description
activities - [EcomOrdersV1ActivityInput] Order activities.
additionalFees - [EcomOrdersV1AdditionalFeeInput] Additional fees applied to the order.
appliedDiscounts - [EcomOrdersV1AppliedDiscountInput] Applied discounts.
archived - Boolean Whether order is archived.
attributionSource - EcomOrdersV1AttributionSourceEnumAttributionSource Order attribution source.
billingInfo - EcommercePlatformCommonAddressWithContactInput Billing address and contact details.
buyerInfo - EcomOrdersV1BuyerInfoInput Buyer information.
buyerLanguage - String Language for communication with the buyer. Defaults to the site language. For a site that supports multiple languages, this is the language the buyer selected.
buyerNote - String Buyer note left by the customer.
channelInfo - EcomOrdersV1ChannelInfoInput Information about the sales channel that submitted this order.
checkoutId - String Checkout ID.
createdBy - EcomOrdersV1CreatedByInput ID of the order's initiator.
createdDate - String Date and time the order was created in ISO-8601 format.
currency - String Currency used for the pricing of this order in ISO-4217 format.
customFields - [EcomOrdersV1CustomFieldInput] Custom fields.
fulfillmentStatus - EcomOrdersV1FulfillmentStatus Order fulfillment status.
id - String Order ID.
lineItems - [EcomOrdersV1OrderLineItemInput] Order line items.
number - Int Order number displayed in the site owner's dashboard (auto-generated).
paymentStatus - EcomOrdersV1PaymentStatusEnumPaymentStatus

Order payment status.

  • NOT_PAID - This can be an order made online, but not yet paid. In such cases order.status will be INITIALIZED.
  • This status also applies when an offline order needs to be manually marked as paid. In such cases order.status will be APPROVED.
  • PAID - All payments associated with this order are paid. For online payments: payment.regularPaymentDetails.status: APPROVED. For gift cards: payment.giftCardPaymentDetails.voided: false.
  • PARTIALLY_REFUNDED - Order was refunded, but refund amount is less than order total price.
  • FULLY_REFUNDED - Order fully refunded. Refund amount equals total price.
  • PENDING - Payments received but not yet confirmed by the payment provider.
  • PARTIALLY_PAID - At least one payment was received and approved, covering less than total price amount.
priceSummary - EcomOrdersV1PriceSummaryInput Order price summary.
purchaseFlowId - String Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order.
seenByAHuman - Boolean Whether a human has seen the order. Set when an order is clicked on in the dashboard.
shippingInfo - EcomOrdersV1ShippingInformationInput Shipping info and selected shipping option details.
siteLanguage - String Site language in which original values are shown.
status - EcomOrdersV1OrderStatus

Order status.

  • INITIALIZED - Order was created, but not yet approved or declined.
  • APPROVED - Order was approved. This happens when either the online payment succeeded or the order is an offline order. Once an order is approved, many side effects are triggered. For example, holding of stock in the inventory and sending of notification emails.
  • CANCELED - Order was canceled by the user.
taxIncludedInPrices - Boolean Whether tax is included in line item prices.
taxSummary - EcomTaxTaxSummaryInput Tax summary.
updatedDate - String Date and time the order was last updated in ISO-8601 format.
weightUnit - EcommercePlatformCommonWeightUnit Weight measurement unit - defaults to site's weight unit.
Example
{
  "activities": [EcomOrdersV1ActivityInput],
  "additionalFees": [EcomOrdersV1AdditionalFeeInput],
  "appliedDiscounts": [EcomOrdersV1AppliedDiscountInput],
  "archived": true,
  "attributionSource": "UNSPECIFIED",
  "billingInfo": EcommercePlatformCommonAddressWithContactInput,
  "buyerInfo": EcomOrdersV1BuyerInfoInput,
  "buyerLanguage": "xyz789",
  "buyerNote": "abc123",
  "channelInfo": EcomOrdersV1ChannelInfoInput,
  "checkoutId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "createdBy": EcomOrdersV1CreatedByInput,
  "createdDate": "abc123",
  "currency": "abc123",
  "customFields": [EcomOrdersV1CustomFieldInput],
  "fulfillmentStatus": "NOT_FULFILLED",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "lineItems": [EcomOrdersV1OrderLineItemInput],
  "number": 123,
  "paymentStatus": "UNSPECIFIED",
  "priceSummary": EcomOrdersV1PriceSummaryInput,
  "purchaseFlowId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "seenByAHuman": false,
  "shippingInfo": EcomOrdersV1ShippingInformationInput,
  "siteLanguage": "xyz789",
  "status": "INITIALIZED",
  "taxIncludedInPrices": true,
  "taxSummary": EcomTaxTaxSummaryInput,
  "updatedDate": "xyz789",
  "weightUnit": "UNSPECIFIED_WEIGHT_UNIT"
}

EcomOrdersV1OrderLineItem

Fields
Field Name Description
catalogReference - EcommerceCatalogSpiV1CatalogReference References to the line item's origin catalog. This field is empty in the case of a custom line item.
depositAmount - EcommercePlatformCommonPrice Item's price amount to be charged during checkout. Relevant for items with a paymentOption value of "DEPOSIT_ONLINE".
descriptionLines - [EcommerceCatalogSpiV1DescriptionLine] Line item description lines. Used for display purposes for the cart, checkout and order.
fulfillerId - String Fulfiller ID. Field is empty when the line item is self-fulfilled. To get fulfillment information, pass the order ID to List Fulfillments For Single Order.
id - String Line item ID.
image - CommonImage Line item image.
itemType - EcommerceCatalogSpiV1ItemType Item type. Either a preset type or custom.
paymentOption - EcommerceCatalogSpiV1PaymentOptionType

Type of selected payment option for current item. Defaults to FULL_PAYMENT_ONLINE.

  • FULL_PAYMENT_ONLINE - The entire payment for this item happens as part of the checkout.
  • FULL_PAYMENT_OFFLINE - The entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.
  • MEMBERSHIP - Payment for this item is done by charging a membership. When this option is used, lineItem.price.amount is 0.
  • DEPOSIT_ONLINE - Partial payment for the given item to be paid upfront during the checkout. Eligible for catalog items with type DEPOSIT_ONLINE only.
physicalProperties - EcommerceCatalogSpiV1PhysicalProperties Physical properties of the item. When relevant, contains information such as SKU and item weight.
price - EcommercePlatformCommonPrice Line item price after line item discounts for display purposes.
priceBeforeDiscounts - EcommercePlatformCommonPrice Line item price before line item discounts for display purposes. Defaults to price when not provided.
priceDescription - EcommerceCatalogSpiV1PriceDescription Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - "Starts at $67".
productName - EcommerceCatalogSpiV1ProductName

Item name.

  • Stores - product.name
  • Bookings - service.info.name
  • Events - ticket.name
quantity - Int Line item quantity.
restockQuantity - Int quantity of inventory requested to be returned. Whether to restock or ignore the request is up the vertical.
subscriptionInfo - EcomOrdersV1SubscriptionInfo Subscription info.
taxDetails - EcomTaxItemTaxFullDetails Tax details for this line item.
totalDiscount - EcommercePlatformCommonPrice Total discount for this line item's entire quantity.
totalPriceAfterTax - EcommercePlatformCommonPrice Total price after all discounts and tax.
totalPriceBeforeTax - EcommercePlatformCommonPrice Total price after discounts, and before tax.
Example
{
  "catalogReference": EcommerceCatalogSpiV1CatalogReference,
  "depositAmount": EcommercePlatformCommonPrice,
  "descriptionLines": [
    EcommerceCatalogSpiV1DescriptionLine
  ],
  "fulfillerId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "id": "abc123",
  "image": CommonImage,
  "itemType": EcommerceCatalogSpiV1ItemType,
  "paymentOption": "FULL_PAYMENT_ONLINE",
  "physicalProperties": EcommerceCatalogSpiV1PhysicalProperties,
  "price": EcommercePlatformCommonPrice,
  "priceBeforeDiscounts": EcommercePlatformCommonPrice,
  "priceDescription": EcommerceCatalogSpiV1PriceDescription,
  "productName": EcommerceCatalogSpiV1ProductName,
  "quantity": 123,
  "restockQuantity": 987,
  "subscriptionInfo": EcomOrdersV1SubscriptionInfo,
  "taxDetails": EcomTaxItemTaxFullDetails,
  "totalDiscount": EcommercePlatformCommonPrice,
  "totalPriceAfterTax": EcommercePlatformCommonPrice,
  "totalPriceBeforeTax": EcommercePlatformCommonPrice
}

EcomOrdersV1OrderLineItemChangedDetailsInput

Fields
Input Field Description
catalogReference - EcommerceCatalogSpiV1CatalogReferenceInput References to the line item's origin catalog. This field is empty in the case of a custom line item.
descriptionLines - [EcommerceCatalogSpiV1DescriptionLineInput] Line item description lines. Used for display purposes for the cart, checkout and order.
fulfillerId - String Fulfiller ID. Field is empty when the line item is self-fulfilled. To get fulfillment information, pass this order's ID to List Fulfillments For Single Order.
image - CommonImageInput Line item image.
itemType - EcommerceCatalogSpiV1ItemTypeInput Item type. Either a preset type or custom.
paymentOption - EcomOrdersV1DeltaPaymentOptionType

Type of selected payment option for current item. Defaults to FULL_PAYMENT_ONLINE.

  • FULL_PAYMENT_OFFLINE - The entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.
  • MEMBERSHIP - Payment for this item is done by charging a membership. When this option is used, lineItem.price.amount is 0.
physicalProperties - EcommerceCatalogSpiV1PhysicalPropertiesInput Physical properties of the item. When relevant, contains information such as SKU and item weight.
price - EcommercePlatformCommonPriceInput Line item price after line item discounts for display purposes.
priceBeforeDiscounts - EcommercePlatformCommonPriceInput Line item price before line item discounts for display purposes. Defaults to price when not provided.
priceDescription - EcommerceCatalogSpiV1PriceDescriptionInput Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - "Starts at $67".
productName - EcommerceCatalogSpiV1ProductNameInput

Item name.

  • Stores - product.name
  • Bookings - service.info.name
  • Events - ticket.name
quantity - Int Line item quantity.
taxDetails - EcomTaxItemTaxFullDetailsInput Tax details for this line item.
totalDiscount - EcommercePlatformCommonPriceInput Total discount for this line item's entire quantity.
totalPriceAfterTax - EcommercePlatformCommonPriceInput Total price after all discounts and tax.
totalPriceBeforeTax - EcommercePlatformCommonPriceInput Total price after all discounts excluding tax.
Example
{
  "catalogReference": EcommerceCatalogSpiV1CatalogReferenceInput,
  "descriptionLines": [
    EcommerceCatalogSpiV1DescriptionLineInput
  ],
  "fulfillerId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "image": CommonImageInput,
  "itemType": EcommerceCatalogSpiV1ItemTypeInput,
  "paymentOption": "UNKNOWN_PAYMENT_OPTION",
  "physicalProperties": EcommerceCatalogSpiV1PhysicalPropertiesInput,
  "price": EcommercePlatformCommonPriceInput,
  "priceBeforeDiscounts": EcommercePlatformCommonPriceInput,
  "priceDescription": EcommerceCatalogSpiV1PriceDescriptionInput,
  "productName": EcommerceCatalogSpiV1ProductNameInput,
  "quantity": 123,
  "taxDetails": EcomTaxItemTaxFullDetailsInput,
  "totalDiscount": EcommercePlatformCommonPriceInput,
  "totalPriceAfterTax": EcommercePlatformCommonPriceInput,
  "totalPriceBeforeTax": EcommercePlatformCommonPriceInput
}

EcomOrdersV1OrderLineItemInput

Fields
Input Field Description
catalogReference - EcommerceCatalogSpiV1CatalogReferenceInput References to the line item's origin catalog. This field is empty in the case of a custom line item.
depositAmount - EcommercePlatformCommonPriceInput Item's price amount to be charged during checkout. Relevant for items with a paymentOption value of "DEPOSIT_ONLINE".
descriptionLines - [EcommerceCatalogSpiV1DescriptionLineInput] Line item description lines. Used for display purposes for the cart, checkout and order.
fulfillerId - String Fulfiller ID. Field is empty when the line item is self-fulfilled. To get fulfillment information, pass the order ID to List Fulfillments For Single Order.
id - String Line item ID.
image - CommonImageInput Line item image.
itemType - EcommerceCatalogSpiV1ItemTypeInput Item type. Either a preset type or custom.
paymentOption - EcommerceCatalogSpiV1PaymentOptionType

Type of selected payment option for current item. Defaults to FULL_PAYMENT_ONLINE.

  • FULL_PAYMENT_ONLINE - The entire payment for this item happens as part of the checkout.
  • FULL_PAYMENT_OFFLINE - The entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.
  • MEMBERSHIP - Payment for this item is done by charging a membership. When this option is used, lineItem.price.amount is 0.
  • DEPOSIT_ONLINE - Partial payment for the given item to be paid upfront during the checkout. Eligible for catalog items with type DEPOSIT_ONLINE only.
physicalProperties - EcommerceCatalogSpiV1PhysicalPropertiesInput Physical properties of the item. When relevant, contains information such as SKU and item weight.
price - EcommercePlatformCommonPriceInput Line item price after line item discounts for display purposes.
priceBeforeDiscounts - EcommercePlatformCommonPriceInput Line item price before line item discounts for display purposes. Defaults to price when not provided.
priceDescription - EcommerceCatalogSpiV1PriceDescriptionInput Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - "Starts at $67".
productName - EcommerceCatalogSpiV1ProductNameInput

Item name.

  • Stores - product.name
  • Bookings - service.info.name
  • Events - ticket.name
quantity - Int Line item quantity.
restockQuantity - Int quantity of inventory requested to be returned. Whether to restock or ignore the request is up the vertical.
subscriptionInfo - EcomOrdersV1SubscriptionInfoInput Subscription info.
taxDetails - EcomTaxItemTaxFullDetailsInput Tax details for this line item.
totalDiscount - EcommercePlatformCommonPriceInput Total discount for this line item's entire quantity.
totalPriceAfterTax - EcommercePlatformCommonPriceInput Total price after all discounts and tax.
totalPriceBeforeTax - EcommercePlatformCommonPriceInput Total price after discounts, and before tax.
Example
{
  "catalogReference": EcommerceCatalogSpiV1CatalogReferenceInput,
  "depositAmount": EcommercePlatformCommonPriceInput,
  "descriptionLines": [
    EcommerceCatalogSpiV1DescriptionLineInput
  ],
  "fulfillerId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "id": "xyz789",
  "image": CommonImageInput,
  "itemType": EcommerceCatalogSpiV1ItemTypeInput,
  "paymentOption": "FULL_PAYMENT_ONLINE",
  "physicalProperties": EcommerceCatalogSpiV1PhysicalPropertiesInput,
  "price": EcommercePlatformCommonPriceInput,
  "priceBeforeDiscounts": EcommercePlatformCommonPriceInput,
  "priceDescription": EcommerceCatalogSpiV1PriceDescriptionInput,
  "productName": EcommerceCatalogSpiV1ProductNameInput,
  "quantity": 123,
  "restockQuantity": 123,
  "subscriptionInfo": EcomOrdersV1SubscriptionInfoInput,
  "taxDetails": EcomTaxItemTaxFullDetailsInput,
  "totalDiscount": EcommercePlatformCommonPriceInput,
  "totalPriceAfterTax": EcommercePlatformCommonPriceInput,
  "totalPriceBeforeTax": EcommercePlatformCommonPriceInput
}

EcomOrdersV1OrderRefunded

Fields
Field Name Description
amount - EcommercePlatformCommonPrice Refund amount.
manual - Boolean Whether order was refunded manually. For example, via payment provider or using cash.
reason - String Reason for refund.
Example
{
  "amount": EcommercePlatformCommonPrice,
  "manual": true,
  "reason": "xyz789"
}

EcomOrdersV1OrderRefundedInput

Fields
Input Field Description
amount - EcommercePlatformCommonPriceInput Refund amount.
manual - Boolean Whether order was refunded manually. For example, via payment provider or using cash.
reason - String Reason for refund.
Example
{
  "amount": EcommercePlatformCommonPriceInput,
  "manual": true,
  "reason": "xyz789"
}

EcomOrdersV1OrderRequestInput

Fields
Input Field Description
id - ID!
Example
{"id": 4}

EcomOrdersV1OrderStatus

Values
Enum Value Description

INITIALIZED

APPROVED

CANCELED

Example
"INITIALIZED"

EcomOrdersV1PickupDetails

Fields
Field Name Description
address - EcommercePlatformCommonPickupAddress Pickup address.
pickupMethod - EcomOrdersV1PickupDetailsPickupMethod Pickup method
Example
{
  "address": EcommercePlatformCommonPickupAddress,
  "pickupMethod": "UNKNOWN_METHOD"
}

EcomOrdersV1PickupDetailsInput

Fields
Input Field Description
address - EcommercePlatformCommonPickupAddressInput Pickup address.
pickupMethod - EcomOrdersV1PickupDetailsPickupMethod Pickup method
Example
{
  "address": EcommercePlatformCommonPickupAddressInput,
  "pickupMethod": "UNKNOWN_METHOD"
}

EcomOrdersV1PriceSummary

Fields
Field Name Description
discount - EcommercePlatformCommonPrice Total calculated discount value.
shipping - EcommercePlatformCommonPrice Total shipping price, before discounts and before tax.
subtotal - EcommercePlatformCommonPrice Subtotal of all the line items, before discounts and before tax.
tax - EcommercePlatformCommonPrice Total tax on this order.
total - EcommercePlatformCommonPrice Order’s total price after discounts and tax.
totalAdditionalFees - EcommercePlatformCommonPrice Total price of additional fees before tax.
totalPrice - EcommercePlatformCommonPrice Deprecated - use total instead.
Example
{
  "discount": EcommercePlatformCommonPrice,
  "shipping": EcommercePlatformCommonPrice,
  "subtotal": EcommercePlatformCommonPrice,
  "tax": EcommercePlatformCommonPrice,
  "total": EcommercePlatformCommonPrice,
  "totalAdditionalFees": EcommercePlatformCommonPrice,
  "totalPrice": EcommercePlatformCommonPrice
}

EcomOrdersV1PriceSummaryInput

Fields
Input Field Description
discount - EcommercePlatformCommonPriceInput Total calculated discount value.
shipping - EcommercePlatformCommonPriceInput Total shipping price, before discounts and before tax.
subtotal - EcommercePlatformCommonPriceInput Subtotal of all the line items, before discounts and before tax.
tax - EcommercePlatformCommonPriceInput Total tax on this order.
total - EcommercePlatformCommonPriceInput Order’s total price after discounts and tax.
totalAdditionalFees - EcommercePlatformCommonPriceInput Total price of additional fees before tax.
totalPrice - EcommercePlatformCommonPriceInput Deprecated - use total instead.
Example
{
  "discount": EcommercePlatformCommonPriceInput,
  "shipping": EcommercePlatformCommonPriceInput,
  "subtotal": EcommercePlatformCommonPriceInput,
  "tax": EcommercePlatformCommonPriceInput,
  "total": EcommercePlatformCommonPriceInput,
  "totalAdditionalFees": EcommercePlatformCommonPriceInput,
  "totalPrice": EcommercePlatformCommonPriceInput
}

EcomOrdersV1PublicActivityInput

Fields
Input Field Description
customActivity - EcomOrdersV1CustomActivityInput Custom activity details.
merchantComment - EcomOrdersV1MerchantCommentInput Merchant commment.
Example
{
  "customActivity": EcomOrdersV1CustomActivityInput,
  "merchantComment": EcomOrdersV1MerchantCommentInput
}

EcomOrdersV1SearchOrdersRequestInput

Fields
Input Field Description
search - EcomOrdersV1UpstreamQueryCursorSearchInput Search options.
Example
{"search": EcomOrdersV1UpstreamQueryCursorSearchInput}

EcomOrdersV1SearchOrdersResponse

Fields
Field Name Description
metadata - CommonCursorPagingMetadata Details on the paged set of results returned.
orders - [EcomOrdersV1Order] List of orders.
Example
{
  "metadata": CommonCursorPagingMetadata,
  "orders": [EcomOrdersV1Order]
}

EcomOrdersV1ShippingInformation

Fields
Field Name Description
carrierId - String App Def Id of external provider which was a source of shipping info
code - String Unique code (or ID) of selected shipping option. For example, `"usps_std_overnight"``.
cost - EcomOrdersV1ShippingPrice Shipping costs.
logistics - EcomOrdersV1DeliveryLogistics Shipping logistics.
region - EcomOrdersV1ShippingRegion Shipping region.
title - String Shipping option title. For example, "USPS Standard Overnight Delivery", "Standard" or "First-Class Package International".
Example
{
  "carrierId": "xyz789",
  "code": "xyz789",
  "cost": EcomOrdersV1ShippingPrice,
  "logistics": EcomOrdersV1DeliveryLogistics,
  "region": EcomOrdersV1ShippingRegion,
  "title": "xyz789"
}

EcomOrdersV1ShippingInformationInput

Fields
Input Field Description
carrierId - String App Def Id of external provider which was a source of shipping info
code - String Unique code (or ID) of selected shipping option. For example, `"usps_std_overnight"``.
cost - EcomOrdersV1ShippingPriceInput Shipping costs.
logistics - EcomOrdersV1DeliveryLogisticsInput Shipping logistics.
region - EcomOrdersV1ShippingRegionInput Shipping region.
title - String Shipping option title. For example, "USPS Standard Overnight Delivery", "Standard" or "First-Class Package International".
Example
{
  "carrierId": "xyz789",
  "code": "xyz789",
  "cost": EcomOrdersV1ShippingPriceInput,
  "logistics": EcomOrdersV1DeliveryLogisticsInput,
  "region": EcomOrdersV1ShippingRegionInput,
  "title": "abc123"
}

EcomOrdersV1ShippingPrice

Fields
Field Name Description
discount - EcommercePlatformCommonPrice Shipping discount before tax.
price - EcommercePlatformCommonPrice Shipping price for display purposes.
taxDetails - EcomTaxItemTaxFullDetails Tax details.
totalPriceAfterTax - EcommercePlatformCommonPrice Shipping price after all discounts (if any exist), and after tax.
totalPriceBeforeTax - EcommercePlatformCommonPrice Total price of shipping after discounts (when relevant), and before tax.
Example
{
  "discount": EcommercePlatformCommonPrice,
  "price": EcommercePlatformCommonPrice,
  "taxDetails": EcomTaxItemTaxFullDetails,
  "totalPriceAfterTax": EcommercePlatformCommonPrice,
  "totalPriceBeforeTax": EcommercePlatformCommonPrice
}

EcomOrdersV1ShippingPriceInput

Fields
Input Field Description
discount - EcommercePlatformCommonPriceInput Shipping discount before tax.
price - EcommercePlatformCommonPriceInput Shipping price for display purposes.
taxDetails - EcomTaxItemTaxFullDetailsInput Tax details.
totalPriceAfterTax - EcommercePlatformCommonPriceInput Shipping price after all discounts (if any exist), and after tax.
totalPriceBeforeTax - EcommercePlatformCommonPriceInput Total price of shipping after discounts (when relevant), and before tax.
Example
{
  "discount": EcommercePlatformCommonPriceInput,
  "price": EcommercePlatformCommonPriceInput,
  "taxDetails": EcomTaxItemTaxFullDetailsInput,
  "totalPriceAfterTax": EcommercePlatformCommonPriceInput,
  "totalPriceBeforeTax": EcommercePlatformCommonPriceInput
}

EcomOrdersV1ShippingRegion

Fields
Field Name Description
name - String Name of shipping region. For example, "Metropolitan London", or "Outer Melbourne suburbs".
Example
{"name": "xyz789"}

EcomOrdersV1ShippingRegionInput

Fields
Input Field Description
name - String Name of shipping region. For example, "Metropolitan London", or "Outer Melbourne suburbs".
Example
{"name": "abc123"}

EcomOrdersV1SubscriptionInfo

Fields
Field Name Description
cycleNumber - Int Subscription cycle. For example, if this order is for the 3rd cycle of a subscription, value will be 3.
id - String Subscription ID.
subscriptionOptionDescription - String Subscription option description. For example, "1kg of selected coffee, once a month".
subscriptionOptionTitle - String Subscription option title. For example, "Monthly coffee Subscription".
subscriptionSettings - EcomOrdersV1SubscriptionSettings Subscription detailed information.
Example
{
  "cycleNumber": 123,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "subscriptionOptionDescription": "xyz789",
  "subscriptionOptionTitle": "xyz789",
  "subscriptionSettings": EcomOrdersV1SubscriptionSettings
}

EcomOrdersV1SubscriptionInfoInput

Fields
Input Field Description
cycleNumber - Int Subscription cycle. For example, if this order is for the 3rd cycle of a subscription, value will be 3.
id - String Subscription ID.
subscriptionOptionDescription - String Subscription option description. For example, "1kg of selected coffee, once a month".
subscriptionOptionTitle - String Subscription option title. For example, "Monthly coffee Subscription".
subscriptionSettings - EcomOrdersV1SubscriptionSettingsInput Subscription detailed information.
Example
{
  "cycleNumber": 987,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "subscriptionOptionDescription": "abc123",
  "subscriptionOptionTitle": "xyz789",
  "subscriptionSettings": EcomOrdersV1SubscriptionSettingsInput
}

EcomOrdersV1SubscriptionSettings

Fields
Field Name Description
autoRenewal - Boolean Whether subscription is renewed automatically at the end of each period.
billingCycles - Int Number of billing cycles before subscription ends. Ignored if autoRenewal: true.
frequency - PaymentPayV2SubscriptionFrequency Frequency of recurring payment.
Example
{"autoRenewal": false, "billingCycles": 987, "frequency": "UNDEFINED"}

EcomOrdersV1SubscriptionSettingsInput

Fields
Input Field Description
autoRenewal - Boolean Whether subscription is renewed automatically at the end of each period.
billingCycles - Int Number of billing cycles before subscription ends. Ignored if autoRenewal: true.
frequency - PaymentPayV2SubscriptionFrequency Frequency of recurring payment.
Example
{"autoRenewal": true, "billingCycles": 123, "frequency": "UNDEFINED"}

EcomOrdersV1UpdateActivityRequestInput

Fields
Input Field Description
activity - EcomOrdersV1PublicActivityInput Activity info.
activityId - String ID of the activity to update.
id - String Order ID.
Example
{
  "activity": EcomOrdersV1PublicActivityInput,
  "activityId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "id": "abc123"
}

EcomOrdersV1UpdateActivityResponse

Fields
Field Name Description
order - EcomOrdersV1Order Updated order.
Example
{"order": EcomOrdersV1Order}

EcomOrdersV1UpdateOrderLineItemRequestInput

Fields
Input Field Description
id - String Order ID
lineItem - EcomOrdersV1OrderLineItemInput Order line item to update
Example
{
  "id": "abc123",
  "lineItem": EcomOrdersV1OrderLineItemInput
}

EcomOrdersV1UpdateOrderLineItemResponse

Fields
Field Name Description
order - EcomOrdersV1Order Updated order data
Example
{"order": EcomOrdersV1Order}

EcomOrdersV1UpdateOrderRequestInput

Fields
Input Field Description
order - EcomOrdersV1OrderInput Order to be updated.
Example
{"order": EcomOrdersV1OrderInput}

EcomOrdersV1UpdateOrderResponse

Fields
Field Name Description
order - EcomOrdersV1Order Newly created order.
Example
{"order": EcomOrdersV1Order}

EcomOrdersV1ActivityTypeEnumActivityType

Values
Enum Value Description

ORDER_REFUNDED

ORDER_PLACED

ORDER_PAID

ORDER_FULFILLED

ORDER_NOT_FULFILLED

ORDER_CANCELED

DOWNLOAD_LINK_SENT

TRACKING_NUMBER_ADDED

TRACKING_NUMBER_EDITED

TRACKING_LINK_ADDED

SHIPPING_CONFIRMATION_EMAIL_SENT

INVOICE_ADDED

INVOICE_REMOVED

INVOICE_SENT

FULFILLER_EMAIL_SENT

SHIPPING_ADDRESS_EDITED

EMAIL_EDITED

PICKUP_READY_EMAIL_SENT

CUSTOM_ACTIVITY

MERCHANT_COMMENT

ORDER_CREATED_FROM_EXCHANGE

NEW_EXCHANGE_ORDER_CREATED

ORDER_PARTIALLY_PAID

DRAFT_ORDER_CHANGES_APPLIED

Example
"ORDER_REFUNDED"

EcomOrdersV1AppliedDiscountDiscountType

Values
Enum Value Description

GLOBAL

SPECIFIC_ITEMS

SHIPPING

Example
"GLOBAL"

EcomOrdersV1AttributionSourceEnumAttributionSource

Values
Enum Value Description

UNSPECIFIED

FACEBOOK_ADS

Example
"UNSPECIFIED"

EcomOrdersV1InventoryUpdateDetailsInventoryAction

Values
Enum Value Description

RESTOCK

Restock inventory

DECREASE

Decrease inventory. Without failing on negative inventory.
Example
"RESTOCK"

EcomOrdersV1MerchantDiscountDiscountReason

Values
Enum Value Description

UNSPECIFIED

EXCHANGED_ITEMS

Example
"UNSPECIFIED"

EcomOrdersV1PaymentStatusEnumPaymentStatus

Values
Enum Value Description

UNSPECIFIED

NOT_PAID

Order is not paid

PAID

Order is paid

PARTIALLY_REFUNDED

Order was refunded, refund amount less than order total price

FULLY_REFUNDED

Full order total price was refunded

PENDING

Payments received but not yet confirmed by the payment provider

PARTIALLY_PAID

At least one payment was received and approved, covering less than total price amount
Example
"UNSPECIFIED"

EcomOrdersV1PickupDetailsPickupMethod

Values
Enum Value Description

UNKNOWN_METHOD

STORE_PICKUP

PICKUP_POINT

Example
"UNKNOWN_METHOD"

EcomOrdersV1UpstreamQueryCursorSearchInput

Fields
Input Field Description
cursorPaging - CommonCursorPagingInput Cursor pointing to page of results. cursorPaging.cursor cannot be used with 'filter' or 'sort'.
filter - JSON

Filter object.

For example, the following filter object will only return orders with payment statuses of paid and/or partially paid: "filter": {"paymentStatus": {"$in": ["PAID", "PARTIALLY_PAID"]}}

Learn more about the filter format here.

sort - [CommonSortingInput]

Array of sort objects that specify the order in which results should be sorted.

For example, the following sort array will sort by createdDate in descending order: "sort": [{"fieldName": "createdDate", "order":"DESC"}].

Learn more about the sort format here.

Example
{
  "cursorPaging": CommonCursorPagingInput,
  "filter": {},
  "sort": [CommonSortingInput]
}

EcomRecommendationsSpiAlgorithmConfig

Fields
Field Name Description
additionalInfo - String A supplemental description. It can be used to help break up and organize information. You can, for example, display this information as a tooltip or as an additional section that is collapsed by default.
algorithmType - EcomRecommendationsSpiAlgorithmType

Algorithms may have the following types:

  • RELATED_ITEMS - This type of algorithm provides recommendations based on 1 or more other provided items. For example, when an item is added to a cart, the algorithm can suggest other items frequently bought together with that item.
  • GLOBAL - This type of algorithm provides general recommendations based on site or project statistics. For example, bestsellers or new arrivals.
description - String Algorithm description. This describes how the algorithm works and if it has any limitations regarding site content, number of items in the catalog, site traffic, and so on. This value is not translatable.
id - String Algorithm ID. This must be unique for a specific app but does not have to be unique across all apps on the site or in the project.
name - String Algorithm name. This value is not translatable.
Example
{
  "additionalInfo": "xyz789",
  "algorithmType": "UNSPECIFIED",
  "description": "abc123",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "name": "xyz789"
}

EcomRecommendationsSpiAlgorithmType

Values
Enum Value Description

UNSPECIFIED

RELATED_ITEMS

GLOBAL

Example
"UNSPECIFIED"

EcomRecommendationsV1Algorithm

Fields
Field Name Description
appId - String

App ID of the Wix or 3rd-party app providing the algorithm.

Wix app IDs are listed here.

id - String Algorithm ID defined by the app providing the algorithm.
Example
{
  "appId": "xyz789",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09"
}

EcomRecommendationsV1AlgorithmInfo

Fields
Field Name Description
appId - String

The app ID of the application providing the algorithm.

Wix app IDs are listed here.

catalogAppIds - [String]

App IDs of catalogs to which the algorithm can be applied.

Wix app IDs are listed here.

config - EcomRecommendationsSpiAlgorithmConfig How the algorithm is configured.
Example
{
  "appId": "xyz789",
  "catalogAppIds": ["abc123"],
  "config": EcomRecommendationsSpiAlgorithmConfig
}

EcomRecommendationsV1AlgorithmInput

Fields
Input Field Description
appId - String

App ID of the Wix or 3rd-party app providing the algorithm.

Wix app IDs are listed here.

id - String Algorithm ID defined by the app providing the algorithm.
Example
{
  "appId": "abc123",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09"
}

EcomRecommendationsV1GetRecommendationRequestInput

Fields
Input Field Description
algorithms - [EcomRecommendationsV1AlgorithmInput]

A list of algorithms checked in a specific order determined by their appID and their position in the algorithms array. See the method description for more information.

If no algorithm is able to return at least minimumRecommendedItems items, an empty array is returned.

items - [EcommerceCatalogSpiV1CatalogReferenceInput] The set of items for which to get recommendations. Required if the algorithmType is RELATED_ITEMS.
minimumRecommendedItems - Int

The minimum number of items that must be recommended by the algorithm for those items to be returned in the response.

Max: 100

Example
{
  "algorithms": [EcomRecommendationsV1AlgorithmInput],
  "items": [EcommerceCatalogSpiV1CatalogReferenceInput],
  "minimumRecommendedItems": 987
}

EcomRecommendationsV1GetRecommendationResponse

Fields
Field Name Description
recommendation - EcomRecommendationsV1Recommendation An object containing a list of items recommended by 1 of the specified algorithms. The recommendation is empty if none of the specified algorithms recommended enough items.
Example
{"recommendation": EcomRecommendationsV1Recommendation}

EcomRecommendationsV1ListAvailableAlgorithmsResponse

Fields
Field Name Description
availableAlgorithms - [EcomRecommendationsV1AlgorithmInfo] Algorithms available for use on your Wix site or project. See the method description for more information.
Example
{
  "availableAlgorithms": [
    EcomRecommendationsV1AlgorithmInfo
  ]
}

EcomRecommendationsV1Recommendation

Fields
Field Name Description
algorithm - EcomRecommendationsV1Algorithm The algorithm used to provide the recommendation.
items - [EcommerceCatalogSpiV1CatalogReference] Recommended items.
Example
{
  "algorithm": EcomRecommendationsV1Algorithm,
  "items": [EcommerceCatalogSpiV1CatalogReference]
}

EcomTaxAutoTaxFallbackCalculationDetails

Fields
Field Name Description
error - ApiApplicationError invalid request (i.e. address), timeout, internal error, license error, and others will be encoded here
fallbackReason - EcomTaxAutoTaxFallbackCalculationDetailsFallbackReason reason for fallback
Example
{
  "error": ApiApplicationError,
  "fallbackReason": "AUTO_TAX_FAILED"
}
Tax

EcomTaxAutoTaxFallbackCalculationDetailsInput

Fields
Input Field Description
error - ApiApplicationErrorInput invalid request (i.e. address), timeout, internal error, license error, and others will be encoded here
fallbackReason - EcomTaxAutoTaxFallbackCalculationDetailsFallbackReason reason for fallback
Example
{
  "error": ApiApplicationErrorInput,
  "fallbackReason": "AUTO_TAX_FAILED"
}
Tax

EcomTaxItemTaxFullDetails

Fields
Field Name Description
taxableAmount - EcommercePlatformCommonPrice Taxable amount of this line item.
taxRate - String Tax rate percentage, as a decimal numeral between 0 and 1. For example, "0.13".
totalTax - EcommercePlatformCommonPrice The calculated tax, based on the taxableAmount and taxRate.
Example
{
  "taxableAmount": EcommercePlatformCommonPrice,
  "taxRate": "xyz789",
  "totalTax": EcommercePlatformCommonPrice
}
Tax

EcomTaxItemTaxFullDetailsInput

Fields
Input Field Description
taxableAmount - EcommercePlatformCommonPriceInput Taxable amount of this line item.
taxRate - String Tax rate percentage, as a decimal numeral between 0 and 1. For example, "0.13".
totalTax - EcommercePlatformCommonPriceInput The calculated tax, based on the taxableAmount and taxRate.
Example
{
  "taxableAmount": EcommercePlatformCommonPriceInput,
  "taxRate": "abc123",
  "totalTax": EcommercePlatformCommonPriceInput
}
Tax

EcomTaxManualCalculationReason

Values
Enum Value Description

GLOBAL_SETTING_TO_MANUAL

user set calculator in Business Manager to be Manual

REGION_SETTING_TO_MANUAL

specific region is on manual even though Global setting is Auto-tax
Example
"GLOBAL_SETTING_TO_MANUAL"
Tax

EcomTaxRateType

Values
Enum Value Description

NO_TAX_COLLECTED

no tax being collected for this request due to location of purchase

MANUAL_RATE

manual rate used for calculation

AUTO_RATE

autotax rate used for calculation

FALLBACK_RATE

fallback rate used for calculation
Example
"NO_TAX_COLLECTED"
Tax

EcomTaxTaxCalculationDetails

Fields
Field Name Description
autoTaxFallbackDetails - EcomTaxAutoTaxFallbackCalculationDetails Details of the fallback rate calculation.
manualRateReason - EcomTaxManualCalculationReason Reason the manual calculation was used.
rateType - EcomTaxRateType Rate calculation type.
Example
{
  "autoTaxFallbackDetails": EcomTaxAutoTaxFallbackCalculationDetails,
  "manualRateReason": "GLOBAL_SETTING_TO_MANUAL",
  "rateType": "NO_TAX_COLLECTED"
}
Tax

EcomTaxTaxCalculationDetailsInput

Fields
Input Field Description
autoTaxFallbackDetails - EcomTaxAutoTaxFallbackCalculationDetailsInput Details of the fallback rate calculation.
manualRateReason - EcomTaxManualCalculationReason Reason the manual calculation was used.
rateType - EcomTaxRateType Rate calculation type.
Example
{
  "autoTaxFallbackDetails": EcomTaxAutoTaxFallbackCalculationDetailsInput,
  "manualRateReason": "GLOBAL_SETTING_TO_MANUAL",
  "rateType": "NO_TAX_COLLECTED"
}
Tax

EcomTaxTaxSummary

Fields
Field Name Description
totalTax - EcommercePlatformCommonPrice Total tax.
Example
{"totalTax": EcommercePlatformCommonPrice}
Tax

EcomTaxTaxSummaryInput

Fields
Input Field Description
totalTax - EcommercePlatformCommonPriceInput Total tax.
Example
{"totalTax": EcommercePlatformCommonPriceInput}

EcomTaxAutoTaxFallbackCalculationDetailsFallbackReason

Values
Enum Value Description

AUTO_TAX_FAILED

auto-tax failed to be calculated

AUTO_TAX_DEACTIVATED

auto-tax was temporarily deactivated on a system-level
Example
"AUTO_TAX_FAILED"

EcomTotalsCalculatorV1AdditionalFee

Fields
Field Name Description
code - String Additional fee's unique code (or ID) for future processing.
lineItemIds - [String] Optional - Line items associated with this additional fee. If no lineItemIds are provided, the fee will be associated with the whole cart/checkout/order.
name - String Translated additional fee's name.
price - EcommercePlatformCommonMultiCurrencyPrice Additional fee's price.
priceBeforeTax - EcommercePlatformCommonMultiCurrencyPrice Additional fee's price before tax.
providerAppId - String Provider's app id.
taxDetails - EcomTotalsCalculatorV1ItemTaxFullDetails Tax details.
Example
{
  "code": "xyz789",
  "lineItemIds": ["abc123"],
  "name": "abc123",
  "price": EcommercePlatformCommonMultiCurrencyPrice,
  "priceBeforeTax": EcommercePlatformCommonMultiCurrencyPrice,
  "providerAppId": "xyz789",
  "taxDetails": EcomTotalsCalculatorV1ItemTaxFullDetails
}

EcomTotalsCalculatorV1AdditionalFeeInput

Fields
Input Field Description
code - String Additional fee's unique code (or ID) for future processing.
lineItemIds - [String] Optional - Line items associated with this additional fee. If no lineItemIds are provided, the fee will be associated with the whole cart/checkout/order.
name - String Translated additional fee's name.
price - EcommercePlatformCommonMultiCurrencyPriceInput Additional fee's price.
priceBeforeTax - EcommercePlatformCommonMultiCurrencyPriceInput Additional fee's price before tax.
providerAppId - String Provider's app id.
taxDetails - EcomTotalsCalculatorV1ItemTaxFullDetailsInput Tax details.
Example
{
  "code": "xyz789",
  "lineItemIds": ["abc123"],
  "name": "abc123",
  "price": EcommercePlatformCommonMultiCurrencyPriceInput,
  "priceBeforeTax": EcommercePlatformCommonMultiCurrencyPriceInput,
  "providerAppId": "abc123",
  "taxDetails": EcomTotalsCalculatorV1ItemTaxFullDetailsInput
}

EcomTotalsCalculatorV1AppliedDiscount

Fields
Field Name Description
coupon - EcomTotalsCalculatorV1Coupon Coupon details.
discountRule - EcomTotalsCalculatorV1DiscountRule Discount rule
discountType - EcomTotalsCalculatorV1AppliedDiscountDiscountType Discount type.
lineItemIds - [String] IDs of line items the discount applies to. IDs of line items the discount applies to.
merchantDiscount - EcomTotalsCalculatorV1MerchantDiscount Merchant discount.
Example
{
  "coupon": EcomTotalsCalculatorV1Coupon,
  "discountRule": EcomTotalsCalculatorV1DiscountRule,
  "discountType": "GLOBAL",
  "lineItemIds": ["abc123"],
  "merchantDiscount": EcomTotalsCalculatorV1MerchantDiscount
}

EcomTotalsCalculatorV1AppliedDiscountInput

Fields
Input Field Description
coupon - EcomTotalsCalculatorV1CouponInput Coupon details.
discountRule - EcomTotalsCalculatorV1DiscountRuleInput Discount rule
discountType - EcomTotalsCalculatorV1AppliedDiscountDiscountType Discount type.
merchantDiscount - EcomTotalsCalculatorV1MerchantDiscountInput Merchant discount.
Example
{
  "coupon": EcomTotalsCalculatorV1CouponInput,
  "discountRule": EcomTotalsCalculatorV1DiscountRuleInput,
  "discountType": "GLOBAL",
  "merchantDiscount": EcomTotalsCalculatorV1MerchantDiscountInput
}

EcomTotalsCalculatorV1CalculatedLineItem

Fields
Field Name Description
lineItemId - String Line item ID.
paymentOption - EcommerceCatalogSpiV1PaymentOptionType

Type of selected payment option for current item. Supported values:

  • "FULL_PAYMENT_ONLINE" - The entire payment for this item will happen as part of the checkout
  • "FULL_PAYMENT_OFFLINE" - The entire payment for this item will happen after the checkout
  • "MEMBERSHIP" - This item cannot be paid via monetary payment options, only via non monetary option such membership. When this option is used, price must be set to 0
  • "DEPOSIT_ONLINE" - Partial payment of the given item will happen as part of the checkout. Amount to be paid is defined by deposit_amount field.
pricesBreakdown - EcomTotalsCalculatorV1LineItemPricesData Price breakdown for this line item.
Example
{
  "lineItemId": "xyz789",
  "paymentOption": "FULL_PAYMENT_ONLINE",
  "pricesBreakdown": EcomTotalsCalculatorV1LineItemPricesData
}

EcomTotalsCalculatorV1CalculationErrors

Fields
Field Name Description
carrierErrors - EcomTotalsCalculatorV1CarrierErrors Carrier errors.
couponCalculationError - ApiDetails Coupon calculation error.
discountsCalculationError - ApiDetails Discount Rule calculation error.
generalShippingCalculationError - ApiDetails General shipping calculation error.
giftCardCalculationError - ApiDetails Gift card calculation error.
membershipError - ApiDetails Membership payment methods calculation errors For example, will indicate that a line item that must be paid with membership payment doesn't have one or selected memberships are invalid
orderValidationErrors - [ApiApplicationError] Order validation errors.
taxCalculationError - ApiDetails Tax calculation error.
Example
{
  "carrierErrors": EcomTotalsCalculatorV1CarrierErrors,
  "couponCalculationError": ApiDetails,
  "discountsCalculationError": ApiDetails,
  "generalShippingCalculationError": ApiDetails,
  "giftCardCalculationError": ApiDetails,
  "membershipError": ApiDetails,
  "orderValidationErrors": [ApiApplicationError],
  "taxCalculationError": ApiDetails
}

EcomTotalsCalculatorV1CalculationErrorsInput

Fields
Input Field Description
carrierErrors - EcomTotalsCalculatorV1CarrierErrorsInput Carrier errors.
couponCalculationError - ApiDetailsInput Coupon calculation error.
discountsCalculationError - ApiDetailsInput Discount Rule calculation error.
generalShippingCalculationError - ApiDetailsInput General shipping calculation error.
giftCardCalculationError - ApiDetailsInput Gift card calculation error.
membershipError - ApiDetailsInput Membership payment methods calculation errors For example, will indicate that a line item that must be paid with membership payment doesn't have one or selected memberships are invalid
orderValidationErrors - [ApiApplicationErrorInput] Order validation errors.
taxCalculationError - ApiDetailsInput Tax calculation error.
Example
{
  "carrierErrors": EcomTotalsCalculatorV1CarrierErrorsInput,
  "couponCalculationError": ApiDetailsInput,
  "discountsCalculationError": ApiDetailsInput,
  "generalShippingCalculationError": ApiDetailsInput,
  "giftCardCalculationError": ApiDetailsInput,
  "membershipError": ApiDetailsInput,
  "orderValidationErrors": [ApiApplicationErrorInput],
  "taxCalculationError": ApiDetailsInput
}

EcomTotalsCalculatorV1CarrierError

Fields
Field Name Description
carrierId - String Carrier ID.
error - ApiDetails Error details.
Example
{
  "carrierId": "xyz789",
  "error": ApiDetails
}

EcomTotalsCalculatorV1CarrierErrorInput

Fields
Input Field Description
carrierId - String Carrier ID.
error - ApiDetailsInput Error details.
Example
{
  "carrierId": "abc123",
  "error": ApiDetailsInput
}

EcomTotalsCalculatorV1CarrierErrors

Fields
Field Name Description
errors - [EcomTotalsCalculatorV1CarrierError] Carrier errors.
Example
{"errors": [EcomTotalsCalculatorV1CarrierError]}

EcomTotalsCalculatorV1CarrierErrorsInput

Fields
Input Field Description
errors - [EcomTotalsCalculatorV1CarrierErrorInput] Carrier errors.
Example
{"errors": [EcomTotalsCalculatorV1CarrierErrorInput]}

EcomTotalsCalculatorV1CarrierServiceOption

Fields
Field Name Description
carrierId - String Carrier ID.
shippingOptions - [EcomTotalsCalculatorV1ShippingOption] Shipping options offered by this carrier for this request.
Example
{
  "carrierId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "shippingOptions": [
    EcomTotalsCalculatorV1ShippingOption
  ]
}

EcomTotalsCalculatorV1CarrierServiceOptionInput

Fields
Input Field Description
carrierId - String Carrier ID.
shippingOptions - [EcomTotalsCalculatorV1ShippingOptionInput] Shipping options offered by this carrier for this request.
Example
{
  "carrierId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "shippingOptions": [
    EcomTotalsCalculatorV1ShippingOptionInput
  ]
}

EcomTotalsCalculatorV1ChargeType

Values
Enum Value Description

HANDLING_FEE

INSURANCE

Example
"HANDLING_FEE"

EcomTotalsCalculatorV1Coupon

Fields
Field Name Description
amount - EcommercePlatformCommonMultiCurrencyPrice Coupon value.
code - String Coupon code.
id - String Coupon ID.
name - String Coupon name.
Example
{
  "amount": EcommercePlatformCommonMultiCurrencyPrice,
  "code": "xyz789",
  "id": "xyz789",
  "name": "xyz789"
}

EcomTotalsCalculatorV1CouponInput

Fields
Input Field Description
amount - EcommercePlatformCommonMultiCurrencyPriceInput Coupon value.
code - String Coupon code.
id - String Coupon ID.
name - String Coupon name.
Example
{
  "amount": EcommercePlatformCommonMultiCurrencyPriceInput,
  "code": "xyz789",
  "id": "abc123",
  "name": "abc123"
}

EcomTotalsCalculatorV1DeliveryLogistics

Fields
Field Name Description
deliveryTime - String Expected delivery time, in free text. For example, "3-5 business days".
instructions - String Instructions for caller, e.g for pickup: "Please deliver during opening hours, and please don't park in disabled parking spot".
pickupDetails - EcomTotalsCalculatorV1PickupDetails Pickup details.
Example
{
  "deliveryTime": "abc123",
  "instructions": "abc123",
  "pickupDetails": EcomTotalsCalculatorV1PickupDetails
}

EcomTotalsCalculatorV1DeliveryLogisticsInput

Fields
Input Field Description
deliveryTime - String Expected delivery time, in free text. For example, "3-5 business days".
instructions - String Instructions for caller, e.g for pickup: "Please deliver during opening hours, and please don't park in disabled parking spot".
pickupDetails - EcomTotalsCalculatorV1PickupDetailsInput Pickup details.
Example
{
  "deliveryTime": "xyz789",
  "instructions": "abc123",
  "pickupDetails": EcomTotalsCalculatorV1PickupDetailsInput
}

EcomTotalsCalculatorV1DiscountRule

Fields
Field Name Description
amount - EcommercePlatformCommonMultiCurrencyPrice Discount value.
discountRule - EcomDiscountsDiscountRule Discount rule ID
id - String Discount rule ID
name - EcomTotalsCalculatorV1DiscountRuleName Discount rule name
Example
{
  "amount": EcommercePlatformCommonMultiCurrencyPrice,
  "discountRule": "62b7b87d-a24a-434d-8666-e270489eac09",
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "name": EcomTotalsCalculatorV1DiscountRuleName
}

EcomTotalsCalculatorV1DiscountRuleInput

Fields
Input Field Description
amount - EcommercePlatformCommonMultiCurrencyPriceInput Discount value.
id - String Discount rule ID
name - EcomTotalsCalculatorV1DiscountRuleNameInput Discount rule name
Example
{
  "amount": EcommercePlatformCommonMultiCurrencyPriceInput,
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "name": EcomTotalsCalculatorV1DiscountRuleNameInput
}

EcomTotalsCalculatorV1DiscountRuleName

Fields
Field Name Description
original - String Original discount rule name (in site's default language).
translated - String Translated discount rule name according to buyer language. Defaults to original when not provided.
Example
{
  "original": "abc123",
  "translated": "abc123"
}

EcomTotalsCalculatorV1DiscountRuleNameInput

Fields
Input Field Description
original - String Original discount rule name (in site's default language).
translated - String Translated discount rule name according to buyer language. Defaults to original when not provided.
Example
{
  "original": "xyz789",
  "translated": "xyz789"
}

EcomTotalsCalculatorV1GiftCard

Fields
Field Name Description
amount - EcommercePlatformCommonMultiCurrencyPrice Gift card value.
appId - String App ID of the gift card provider.
id - String Gift Card ID.
obfuscatedCode - String Gift card obfuscated code.
Example
{
  "amount": EcommercePlatformCommonMultiCurrencyPrice,
  "appId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "id": "abc123",
  "obfuscatedCode": "xyz789"
}

EcomTotalsCalculatorV1GiftCardInput

Fields
Input Field Description
amount - EcommercePlatformCommonMultiCurrencyPriceInput Gift card value.
appId - String App ID of the gift card provider.
id - String Gift Card ID.
obfuscatedCode - String Gift card obfuscated code.
Example
{
  "amount": EcommercePlatformCommonMultiCurrencyPriceInput,
  "appId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "id": "abc123",
  "obfuscatedCode": "xyz789"
}

EcomTotalsCalculatorV1ItemTaxFullDetails

Fields
Field Name Description
rateBreakdown - [EcomTotalsCalculatorV1TaxRateBreakdown] If breakdown exists, the sum of rates in the breakdown must equal tax_rate.
taxableAmount - EcommercePlatformCommonMultiCurrencyPrice Amount for which tax is calculated.
taxRate - String Tax rate %, as a decimal point between 0 and 1.
totalTax - EcommercePlatformCommonMultiCurrencyPrice Calculated tax, based on taxable_amount and tax_rate.
Example
{
  "rateBreakdown": [
    EcomTotalsCalculatorV1TaxRateBreakdown
  ],
  "taxableAmount": EcommercePlatformCommonMultiCurrencyPrice,
  "taxRate": "abc123",
  "totalTax": EcommercePlatformCommonMultiCurrencyPrice
}

EcomTotalsCalculatorV1ItemTaxFullDetailsInput

Fields
Input Field Description
rateBreakdown - [EcomTotalsCalculatorV1TaxRateBreakdownInput] If breakdown exists, the sum of rates in the breakdown must equal tax_rate.
taxableAmount - EcommercePlatformCommonMultiCurrencyPriceInput Amount for which tax is calculated.
taxRate - String Tax rate %, as a decimal point between 0 and 1.
totalTax - EcommercePlatformCommonMultiCurrencyPriceInput Calculated tax, based on taxable_amount and tax_rate.
Example
{
  "rateBreakdown": [
    EcomTotalsCalculatorV1TaxRateBreakdownInput
  ],
  "taxableAmount": EcommercePlatformCommonMultiCurrencyPriceInput,
  "taxRate": "abc123",
  "totalTax": EcommercePlatformCommonMultiCurrencyPriceInput
}

EcomTotalsCalculatorV1LineItemPricesData

Fields
Field Name Description
fullPrice - EcommercePlatformCommonMultiCurrencyPrice Item price before line item discounts and before catalog-defined discount. Defaults to price when not provided.
lineItemPrice - EcommercePlatformCommonMultiCurrencyPrice Total price after catalog-defined discount and line item discounts.
price - EcommercePlatformCommonMultiCurrencyPrice Catalog price after catalog discount and automatic discounts.
priceBeforeDiscounts - EcommercePlatformCommonMultiCurrencyPrice Item price before line item discounts and after catalog-defined discount. Defaults to price when not provided.
taxDetails - EcomTotalsCalculatorV1ItemTaxFullDetails Tax details.
totalDiscount - EcommercePlatformCommonMultiCurrencyPrice Total discount for all line items.
totalPriceAfterTax - EcommercePlatformCommonMultiCurrencyPrice Total price after discounts and after tax.
totalPriceBeforeTax - EcommercePlatformCommonMultiCurrencyPrice Total price after discounts, and before tax.
Example
{
  "fullPrice": EcommercePlatformCommonMultiCurrencyPrice,
  "lineItemPrice": EcommercePlatformCommonMultiCurrencyPrice,
  "price": EcommercePlatformCommonMultiCurrencyPrice,
  "priceBeforeDiscounts": EcommercePlatformCommonMultiCurrencyPrice,
  "taxDetails": EcomTotalsCalculatorV1ItemTaxFullDetails,
  "totalDiscount": EcommercePlatformCommonMultiCurrencyPrice,
  "totalPriceAfterTax": EcommercePlatformCommonMultiCurrencyPrice,
  "totalPriceBeforeTax": EcommercePlatformCommonMultiCurrencyPrice
}

EcomTotalsCalculatorV1MembershipOptions

Fields
Field Name Description
eligibleMemberships - [EcomMembershipsSpiV1HostMembership] List of payment options that can be used.
invalidMemberships - [EcomMembershipsSpiV1HostInvalidMembership] List of payment options that are owned by the member, but cannot be used due to reason provided.
selectedMemberships - [EcomMembershipsSpiV1HostSelectedMembership] The selected membership payment options and which line items they apply to.
Example
{
  "eligibleMemberships": [
    EcomMembershipsSpiV1HostMembership
  ],
  "invalidMemberships": [
    EcomMembershipsSpiV1HostInvalidMembership
  ],
  "selectedMemberships": [
    EcomMembershipsSpiV1HostSelectedMembership
  ]
}

EcomTotalsCalculatorV1MerchantDiscount

Fields
Field Name Description
amount - EcommercePlatformCommonMultiCurrencyPrice Discount value.
Example
{"amount": EcommercePlatformCommonMultiCurrencyPrice}

EcomTotalsCalculatorV1MerchantDiscountInput

Fields
Input Field Description
amount - EcommercePlatformCommonMultiCurrencyPriceInput Discount value.
Example
{"amount": EcommercePlatformCommonMultiCurrencyPriceInput}

EcomTotalsCalculatorV1MerchantDiscountInputInput

Fields
Input Field Description
amount - String Discount amount.
lineItemIds - [String] IDs of line items the discount applies to.
Example
{
  "amount": "abc123",
  "lineItemIds": ["abc123"]
}

EcomTotalsCalculatorV1OtherCharge

Fields
Field Name Description
price - EcommercePlatformCommonMultiCurrencyPrice Price of added cost.
type - EcomTotalsCalculatorV1ChargeType Type of additional cost.
Example
{
  "price": EcommercePlatformCommonMultiCurrencyPrice,
  "type": "HANDLING_FEE"
}

EcomTotalsCalculatorV1OtherChargeInput

Fields
Input Field Description
price - EcommercePlatformCommonMultiCurrencyPriceInput Price of added cost.
type - EcomTotalsCalculatorV1ChargeType Type of additional cost.
Example
{
  "price": EcommercePlatformCommonMultiCurrencyPriceInput,
  "type": "HANDLING_FEE"
}

EcomTotalsCalculatorV1PickupDetails

Fields
Field Name Description
address - EcommercePlatformCommonAddress Pickup address.
businessLocation - Boolean Whether the pickup address is that of a business - this may effect tax calculation.
pickupMethod - EcomTotalsCalculatorV1PickupDetailsPickupMethod Pickup method
Example
{
  "address": EcommercePlatformCommonAddress,
  "businessLocation": false,
  "pickupMethod": "UNKNOWN_METHOD"
}

EcomTotalsCalculatorV1PickupDetailsInput

Fields
Input Field Description
address - EcommercePlatformCommonAddressInput Pickup address.
businessLocation - Boolean Whether the pickup address is that of a business - this may effect tax calculation.
pickupMethod - EcomTotalsCalculatorV1PickupDetailsPickupMethod Pickup method
Example
{
  "address": EcommercePlatformCommonAddressInput,
  "businessLocation": false,
  "pickupMethod": "UNKNOWN_METHOD"
}

EcomTotalsCalculatorV1PriceSummary

Fields
Field Name Description
additionalFees - EcommercePlatformCommonMultiCurrencyPrice Total additional fees price before tax.
discount - EcommercePlatformCommonMultiCurrencyPrice Total calculated discount value.
shipping - EcommercePlatformCommonMultiCurrencyPrice Total shipping price, before discounts and before tax.
subtotal - EcommercePlatformCommonMultiCurrencyPrice Subtotal of all line items, before discounts and before tax.
tax - EcommercePlatformCommonMultiCurrencyPrice Total tax.
total - EcommercePlatformCommonMultiCurrencyPrice Total price after discounts, gift cards, and tax.
Example
{
  "additionalFees": EcommercePlatformCommonMultiCurrencyPrice,
  "discount": EcommercePlatformCommonMultiCurrencyPrice,
  "shipping": EcommercePlatformCommonMultiCurrencyPrice,
  "subtotal": EcommercePlatformCommonMultiCurrencyPrice,
  "tax": EcommercePlatformCommonMultiCurrencyPrice,
  "total": EcommercePlatformCommonMultiCurrencyPrice
}

EcomTotalsCalculatorV1PriceSummaryInput

Fields
Input Field Description
additionalFees - EcommercePlatformCommonMultiCurrencyPriceInput Total additional fees price before tax.
discount - EcommercePlatformCommonMultiCurrencyPriceInput Total calculated discount value.
shipping - EcommercePlatformCommonMultiCurrencyPriceInput Total shipping price, before discounts and before tax.
subtotal - EcommercePlatformCommonMultiCurrencyPriceInput Subtotal of all line items, before discounts and before tax.
tax - EcommercePlatformCommonMultiCurrencyPriceInput Total tax.
total - EcommercePlatformCommonMultiCurrencyPriceInput Total price after discounts, gift cards, and tax.
Example
{
  "additionalFees": EcommercePlatformCommonMultiCurrencyPriceInput,
  "discount": EcommercePlatformCommonMultiCurrencyPriceInput,
  "shipping": EcommercePlatformCommonMultiCurrencyPriceInput,
  "subtotal": EcommercePlatformCommonMultiCurrencyPriceInput,
  "tax": EcommercePlatformCommonMultiCurrencyPriceInput,
  "total": EcommercePlatformCommonMultiCurrencyPriceInput
}

EcomTotalsCalculatorV1SelectedCarrierServiceOption

Fields
Field Name Description
carrierId - String This carrier's unique ID
code - String Unique identifier of selected option. For example, "usps_std_overnight".
cost - EcomTotalsCalculatorV1SelectedCarrierServiceOptionPrices Shipping costs.
logistics - EcomTotalsCalculatorV1DeliveryLogistics Delivery logistics.
otherCharges - [EcomTotalsCalculatorV1SelectedCarrierServiceOptionOtherCharge] Other charges
requestedShippingOption - Boolean Were we able to find the requested shipping option, or otherwise we fallback to the default one (the first)
title - String Title of the option, such as USPS Standard Overnight Delivery (in the requested locale). For example, "Standard" or "First-Class Package International".
Example
{
  "carrierId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "code": "xyz789",
  "cost": EcomTotalsCalculatorV1SelectedCarrierServiceOptionPrices,
  "logistics": EcomTotalsCalculatorV1DeliveryLogistics,
  "otherCharges": [
    EcomTotalsCalculatorV1SelectedCarrierServiceOptionOtherCharge
  ],
  "requestedShippingOption": false,
  "title": "xyz789"
}

EcomTotalsCalculatorV1SelectedCarrierServiceOptionInput

Fields
Input Field Description
carrierId - String This carrier's unique ID
code - String Unique identifier of selected option. For example, "usps_std_overnight".
cost - EcomTotalsCalculatorV1SelectedCarrierServiceOptionPricesInput Shipping costs.
logistics - EcomTotalsCalculatorV1DeliveryLogisticsInput Delivery logistics.
otherCharges - [EcomTotalsCalculatorV1SelectedCarrierServiceOptionOtherChargeInput] Other charges
requestedShippingOption - Boolean Were we able to find the requested shipping option, or otherwise we fallback to the default one (the first)
title - String Title of the option, such as USPS Standard Overnight Delivery (in the requested locale). For example, "Standard" or "First-Class Package International".
Example
{
  "carrierId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "code": "abc123",
  "cost": EcomTotalsCalculatorV1SelectedCarrierServiceOptionPricesInput,
  "logistics": EcomTotalsCalculatorV1DeliveryLogisticsInput,
  "otherCharges": [
    EcomTotalsCalculatorV1SelectedCarrierServiceOptionOtherChargeInput
  ],
  "requestedShippingOption": true,
  "title": "xyz789"
}

EcomTotalsCalculatorV1SelectedCarrierServiceOptionOtherCharge

Fields
Field Name Description
cost - EcomTotalsCalculatorV1SelectedCarrierServiceOptionPrices Price of added charge.
details - String Details of the charge, such as 'Full Coverage Insurance of up to 80% of value of shipment'.
type - EcomTotalsCalculatorV1ChargeType Type of additional cost.
Example
{
  "cost": EcomTotalsCalculatorV1SelectedCarrierServiceOptionPrices,
  "details": "abc123",
  "type": "HANDLING_FEE"
}

EcomTotalsCalculatorV1SelectedCarrierServiceOptionOtherChargeInput

Fields
Input Field Description
cost - EcomTotalsCalculatorV1SelectedCarrierServiceOptionPricesInput Price of added charge.
details - String Details of the charge, such as 'Full Coverage Insurance of up to 80% of value of shipment'.
type - EcomTotalsCalculatorV1ChargeType Type of additional cost.
Example
{
  "cost": EcomTotalsCalculatorV1SelectedCarrierServiceOptionPricesInput,
  "details": "xyz789",
  "type": "HANDLING_FEE"
}

EcomTotalsCalculatorV1SelectedCarrierServiceOptionPrices

Fields
Field Name Description
price - EcommercePlatformCommonMultiCurrencyPrice Shipping price before discount and before tax.
taxDetails - EcomTotalsCalculatorV1ItemTaxFullDetails Tax details.
totalDiscount - EcommercePlatformCommonMultiCurrencyPrice Shipping discount before tax.
totalPriceAfterTax - EcommercePlatformCommonMultiCurrencyPrice Total shipping price, after discount and after tax.
totalPriceBeforeTax - EcommercePlatformCommonMultiCurrencyPrice Total price of shipping after discounts (when relevant), and before tax.
Example
{
  "price": EcommercePlatformCommonMultiCurrencyPrice,
  "taxDetails": EcomTotalsCalculatorV1ItemTaxFullDetails,
  "totalDiscount": EcommercePlatformCommonMultiCurrencyPrice,
  "totalPriceAfterTax": EcommercePlatformCommonMultiCurrencyPrice,
  "totalPriceBeforeTax": EcommercePlatformCommonMultiCurrencyPrice
}

EcomTotalsCalculatorV1SelectedCarrierServiceOptionPricesInput

Fields
Input Field Description
price - EcommercePlatformCommonMultiCurrencyPriceInput Shipping price before discount and before tax.
taxDetails - EcomTotalsCalculatorV1ItemTaxFullDetailsInput Tax details.
totalDiscount - EcommercePlatformCommonMultiCurrencyPriceInput Shipping discount before tax.
totalPriceAfterTax - EcommercePlatformCommonMultiCurrencyPriceInput Total shipping price, after discount and after tax.
totalPriceBeforeTax - EcommercePlatformCommonMultiCurrencyPriceInput Total price of shipping after discounts (when relevant), and before tax.
Example
{
  "price": EcommercePlatformCommonMultiCurrencyPriceInput,
  "taxDetails": EcomTotalsCalculatorV1ItemTaxFullDetailsInput,
  "totalDiscount": EcommercePlatformCommonMultiCurrencyPriceInput,
  "totalPriceAfterTax": EcommercePlatformCommonMultiCurrencyPriceInput,
  "totalPriceBeforeTax": EcommercePlatformCommonMultiCurrencyPriceInput
}

EcomTotalsCalculatorV1SelectedShippingOption

Fields
Field Name Description
carrierId - String Carrier ID.
code - String Selected shipping option code. For example, "usps_std_overnight".
Example
{
  "carrierId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "code": "abc123"
}

EcomTotalsCalculatorV1SelectedShippingOptionInput

Fields
Input Field Description
carrierId - String Carrier ID.
code - String Selected shipping option code. For example, "usps_std_overnight".
Example
{
  "carrierId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "code": "xyz789"
}

EcomTotalsCalculatorV1ShippingInformation

Fields
Field Name Description
carrierServiceOptions - [EcomTotalsCalculatorV1CarrierServiceOption] All shipping options.
region - EcomTotalsCalculatorV1ShippingRegion Shipping region.
selectedCarrierServiceOption - EcomTotalsCalculatorV1SelectedCarrierServiceOption Selected shipping option.
Example
{
  "carrierServiceOptions": [
    EcomTotalsCalculatorV1CarrierServiceOption
  ],
  "region": EcomTotalsCalculatorV1ShippingRegion,
  "selectedCarrierServiceOption": EcomTotalsCalculatorV1SelectedCarrierServiceOption
}

EcomTotalsCalculatorV1ShippingOption

Fields
Field Name Description
code - String Unique code of provided shipping option like "usps_std_overnight". For legacy calculators this would be the UUID of the option.
cost - EcomTotalsCalculatorV1ShippingPrice Sipping price information.
logistics - EcomTotalsCalculatorV1DeliveryLogistics Delivery logistics.
title - String Title of the option, such as USPS Standard Overnight Delivery (in the requested locale). For example, "Standard" or "First-Class Package International".
Example
{
  "code": "abc123",
  "cost": EcomTotalsCalculatorV1ShippingPrice,
  "logistics": EcomTotalsCalculatorV1DeliveryLogistics,
  "title": "abc123"
}

EcomTotalsCalculatorV1ShippingOptionInput

Fields
Input Field Description
code - String Unique code of provided shipping option like "usps_std_overnight". For legacy calculators this would be the UUID of the option.
cost - EcomTotalsCalculatorV1ShippingPriceInput Sipping price information.
logistics - EcomTotalsCalculatorV1DeliveryLogisticsInput Delivery logistics.
title - String Title of the option, such as USPS Standard Overnight Delivery (in the requested locale). For example, "Standard" or "First-Class Package International".
Example
{
  "code": "abc123",
  "cost": EcomTotalsCalculatorV1ShippingPriceInput,
  "logistics": EcomTotalsCalculatorV1DeliveryLogisticsInput,
  "title": "abc123"
}

EcomTotalsCalculatorV1ShippingPrice

Fields
Field Name Description
otherCharges - [EcomTotalsCalculatorV1OtherCharge] Other costs such as insurance, handling & packaging for fragile items, etc.
price - EcommercePlatformCommonMultiCurrencyPrice Shipping price.
Example
{
  "otherCharges": [EcomTotalsCalculatorV1OtherCharge],
  "price": EcommercePlatformCommonMultiCurrencyPrice
}

EcomTotalsCalculatorV1ShippingPriceInput

Fields
Input Field Description
otherCharges - [EcomTotalsCalculatorV1OtherChargeInput] Other costs such as insurance, handling & packaging for fragile items, etc.
price - EcommercePlatformCommonMultiCurrencyPriceInput Shipping price.
Example
{
  "otherCharges": [
    EcomTotalsCalculatorV1OtherChargeInput
  ],
  "price": EcommercePlatformCommonMultiCurrencyPriceInput
}

EcomTotalsCalculatorV1ShippingRegion

Fields
Field Name Description
id - String Shipping region ID.
name - String Shipping region name.
Example
{
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "name": "abc123"
}

EcomTotalsCalculatorV1ShippingRegionInput

Fields
Input Field Description
id - String Shipping region ID.
name - String Shipping region name.
Example
{
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "name": "xyz789"
}

EcomTotalsCalculatorV1TaxRateBreakdown

Fields
Field Name Description
name - String Name of tax against which the calculation was performed.
rate - String Rate at which this tax detail was calculated.
tax - EcommercePlatformCommonMultiCurrencyPrice Amount of tax for this tax detail.
Example
{
  "name": "xyz789",
  "rate": "abc123",
  "tax": EcommercePlatformCommonMultiCurrencyPrice
}

EcomTotalsCalculatorV1TaxRateBreakdownInput

Fields
Input Field Description
name - String Name of tax against which the calculation was performed.
rate - String Rate at which this tax detail was calculated.
tax - EcommercePlatformCommonMultiCurrencyPriceInput Amount of tax for this tax detail.
Example
{
  "name": "xyz789",
  "rate": "xyz789",
  "tax": EcommercePlatformCommonMultiCurrencyPriceInput
}

EcomTotalsCalculatorV1TaxSummary

Fields
Field Name Description
calculationDetails - EcomTaxTaxCalculationDetails Tax calculator that was active when the order was created.
taxableAmount - EcommercePlatformCommonMultiCurrencyPrice Amount for which tax is calculated, added from line items.
totalTax - EcommercePlatformCommonMultiCurrencyPrice Calculated tax, added from line items.
Example
{
  "calculationDetails": EcomTaxTaxCalculationDetails,
  "taxableAmount": EcommercePlatformCommonMultiCurrencyPrice,
  "totalTax": EcommercePlatformCommonMultiCurrencyPrice
}

EcomTotalsCalculatorV1TaxSummaryInput

Fields
Input Field Description
calculationDetails - EcomTaxTaxCalculationDetailsInput Tax calculator that was active when the order was created.
taxableAmount - EcommercePlatformCommonMultiCurrencyPriceInput Amount for which tax is calculated, added from line items.
totalTax - EcommercePlatformCommonMultiCurrencyPriceInput Calculated tax, added from line items.
Example
{
  "calculationDetails": EcomTaxTaxCalculationDetailsInput,
  "taxableAmount": EcommercePlatformCommonMultiCurrencyPriceInput,
  "totalTax": EcommercePlatformCommonMultiCurrencyPriceInput
}

EcomTotalsCalculatorV1AppliedDiscountDiscountType

Values
Enum Value Description

GLOBAL

SPECIFIC_ITEMS

SHIPPING

Example
"GLOBAL"

EcomTotalsCalculatorV1PickupDetailsPickupMethod

Values
Enum Value Description

UNKNOWN_METHOD

STORE_PICKUP

PICKUP_POINT

Example
"UNKNOWN_METHOD"

EcomCheckoutV1AddToCheckoutRequestInput

Fields
Input Field Description
id - String Checkout ID.
lineItems - [EcomCheckoutV1LineItemInput] Catalog line items.
Example
{
  "id": "62b7b87d-a24a-434d-8666-e270489eac09",
  "lineItems": [EcomCheckoutV1LineItemInput]
}

EcomCheckoutV1AddToCheckoutResponse

Fields
Field Name Description
checkout - EcomCheckoutV1Checkout Updated checkout.
Example
{"checkout": EcomCheckoutV1Checkout}

EcomCheckoutV1AddressWithContact

Fields
Field Name Description
address - EcommercePlatformCommonAddress Address.
contactDetails - EcommercePlatformCommonFullAddressContactDetails Contact details.
Example
{
  "address": EcommercePlatformCommonAddress,
  "contactDetails": EcommercePlatformCommonFullAddressContactDetails
}

EcomCheckoutV1AddressWithContactInput

Fields
Input Field Description
address - EcommercePlatformCommonAddressInput Address.
contactDetails - EcommercePlatformCommonFullAddressContactDetailsInput Contact details.
Example
{
  "address": EcommercePlatformCommonAddressInput,
  "contactDetails": EcommercePlatformCommonFullAddressContactDetailsInput
}

EcomCheckoutV1BuyerInfo

Fields
Field Name Description
contact - ContactsCoreV4Contact Contact ID. Auto-created if one does not yet exist. For more information, see Contacts API.
contactId - String Contact ID. Auto-created if one does not yet exist. For more information, see Contacts API.
email - String Buyer email address.
member - MembersMember Member ID (if site visitor is a site member).
memberId - String Member ID (if site visitor is a site member).
visitorId - String Visitor ID (if site visitor is not a member).
Example
{
  "contact": "62b7b87d-a24a-434d-8666-e270489eac09",
  "contactId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "email": "xyz789",
  "member": "62b7b87d-a24a-434d-8666-e270489eac09",
  "memberId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "visitorId": "62b7b87d-a24a-434d-8666-e270489eac09"
}

EcomCheckoutV1BuyerInfoInput

Fields
Input Field Description
contactId - String Contact ID. Auto-created if one does not yet exist. For more information, see Contacts API.
email - String Buyer email address.
memberId - String Member ID (if site visitor is a site member).
visitorId - String Visitor ID (if site visitor is not a member).
Example
{
  "contactId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "email": "abc123",
  "memberId": "62b7b87d-a24a-434d-8666-e270489eac09",
  "visitorId": "62b7b87d-a24a-434d-8666-e270489eac09"
}

EcomCheckoutV1Checkout

Fields
Field Name Description
additionalFees - [EcomTotalsCalculatorV1AdditionalFee] Additional Fees.
appliedDiscounts - [EcomTotalsCalculatorV1AppliedDiscount] Applied discounts.
billingInfo - EcomCheckoutV1AddressWithContact Billing information.
buyerInfo - EcomCheckoutV1BuyerInfo Buyer information.
buyerLanguage - String Language for communication with the buyer. Defaults to the site language. For a site that supports multiple languages, this is the language the buyer selected.
buyerNote - String Buyer note left by the customer.
calculationErrors - EcomTotalsCalculatorV1CalculationErrors