Search.../
  1. Home
  2. Getting Started
  3. Overview
Generate a test token to explore our APIs

List services

Developer Preview

Retrieves a list of services, given the provided filtering. Returns a list of enriched services; Based on the invoker permissions and the request query. Query object support:

  • filter: supports
    • service.id - query for a specific service. Example: "filter { string_value: "{ "service.id": "46ce4cd4-46ff-4aa7-9cc0-02fd4f0f3209" }" }".
    • category.id - query for all services that belongs to the category. Example: "filter { string_value: "{ "category.id": "55ce4cd4-46ff-4aa7-9cc0-01fd4f0f3209" }" }".
    • service.info.name - query for all services with given name. Example: "filter { string_value: "{ "service.info.name": "haircut" }" }".
    • service.info.tagLine - query for all services with given tag line. Example: "filter { string_value: "{ "service.info.tagLine": "short haircut" }" }".
    • service.policy.isBookOnlineAllowed - query for all services that can be booked online. Example: "filter { string_value: "{ "service.policy.isBookOnlineAllowed": true }" }".
    • category.name - query for all services that belongs to categories with given name. Example: "filter { string_value: "{ "categoty.name": "hair services" }" }".
    • service.customProperties.tag - query for all services that has given tag. Example: "filter { string_value: "{ "service.customProperties.tag": "hair services" }" }".
    • service.paymentOptions.wixPayOnline - query for all services that can be payed Online with Wix Pay. Example: "filter { string_value: "{ "service.paymentOptions.wixPayOnline": true }" }".
    • service.paymentOptions.wixPayInPerson - query for all services that be payed Offline with Wix Pay.. Example: "filter { string_value: "{ "service.paymentOptions.wixPayInPerson": true }" }".
    • service.paymentOptions.wixPaidPlan - query for all services that can be booked using a paid plan. Example: "filter { string_value: "{ "service.paymentOptions.wixPaidPlan": true }" }".
    • service.paymentOptions.custom - query for all services that has a custom payment method. Example: "filter { string_value: "{ "service.paymentOptions.custom": true }" }".
    • slugs.name - query for service with given slug. Example: "filter { string_value: "{ "slugs.name": "woman-hair-cut" }" }".
    • schedules.tags - query for all services that has a schedule with given tag. Example: "filter { string_value: "{ "schedules.tags": "Group" }" }".
    • resources.id - query for all services that are given by a given resource. Example: "filter { string_value: "{ "resources.id": "46ce4cd4-46ff-4aa7-9cc0-02fd4f0f3209" }" }".
    • service.policy.bookingsApprovalPolicy.isBusinessApprovalRequired - query for all services that require business approval. Example: "filter { string_value: "{ "service.policy.bookingsApprovalPolicy.isBusinessApprovalRequired": true }" }".
  • paging: Supported. Limit Example: "query { paging { limit { value: 10 } } }". Offset Example: "query { paging { offset { value: 10 } } }".
  • fieldsets: not supported.
  • fields: any projection is supported. Example: query { fields "service.id", "service.status", "service.info.name" } Important: Calling List without any filter, will return all non deleted services.
  • All results are for one specific business, resolved from the request context.

Permissions
This endpoint requires the Read Bookings - Public Data, the Read Bookings - Including Participants or the Manage Bookings permissions scope

Authorization

This endpoint requires an authorization header - pass the access token from the OAuth installation flow.

GET

https://www.wixapis.com/bookings/v1/catalog/services

Query Params

NAME
TYPE
DESCRIPTION
query.fieldsets

Array<string>

Projection on the result object - list of named projections. E.g. "basic" will return id and name fields. Specifying multiple fieldsets will return the union of fields from all. Specifying fieldsets and fields will also return the union of fields.

query.filter

object

A filter object. See documentation here

query.paging

object

Limit number of results

query.fields

Array<string>

Projection on the result object - list of specific field names to return. If fieldsets are also specified, return the union of fieldsets and fields

query.sort

Array<object>

includeDeleted

boolean

Response Object

A list of catalog service response.

NAME
TYPE
DESCRIPTION
services

Array<object>

metadata

object

responseType

string

Supported values: CONSISTENT, EVENTUALLY_CONSISTENT.

Status/Error Codes

The response will include an HTTP status code.

Was this helpful?

Get Service Catalog - specific fields

Returns the services catalog, with only the requested fields.

Request

curl

Copy Code
1curl -X GET \
2 'https://www.wixapis.com/bookings/v1/catalog/services?query.fields=service.id&query.fields=service.status&query.fields=urls&query.filter.stringValue=%7B%22service.info.name%22%3A%20%7B%22%24ne%22%20%3A%20%22haircut%22%7D%7D' \
3 -H 'Authorization: <AUTH>'

Response

json

1
2{
3 "services": [ {
4 "service": {
5 "id": "5228133b-f86b-453c-a400-ffe7f80e1996",
6 "scheduleIds": [],
7 "customProperties": {},
8 "status": "CREATED"
9 },
10 "pricingPlans": [],
11 "resources": [],
12 "schedules": [],
13 "urls": {
14 "servicePageUrl": {
15 "base": "https://www.dimawix.com",
16 "path": "/bookonline/beard-trimming"
17 },
18 "bookingPageUrl": {
19 "base": "https://www.dimawix.com",
20 "path": "/bookonline/beard-trimming/book"
21 }
22 },
23 "slugs": [],
24 "status": "ACTIVE"
25 }],
26 "metadata": {
27 "items": 1,
28 "offset": 0,
29 "totalCount": 1
30 }
31}
Get Services Catalog