openapi: 3.1.0 info: contact: email: support@constructor.io title: Configuration version: '0.1' servers: - url: https://ac.cnstrc.com security: [] tags: - name: Catalog - name: Item groups - name: Items - name: Item statistics - name: Variations - name: Tasks - name: Facets - name: Synonyms - name: Searchabilities - name: Sort options - name: Synonym groups - name: Quizzes - name: Collections - name: Redirect rules - name: Metadata overrides paths: /v1/facets: get: deprecated: true tags: - Facets operationId: v1-facets-retrieve-facets summary: Retrieve facet configurations (Deprecated) description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `facets(r)`. Retrieve all facet configurations.' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: num_results_per_page in: query schema: title: Num Results Per Page description: The number of results per page to return. default: 100 minimum: 1 maximum: 1000 examples: - 100 - 500 type: integer required: false - name: page in: query schema: title: Page description: The page of results to return. minimum: 1 examples: - 1 - 2 type: integer required: false - name: offset in: query schema: title: Offset description: The number of results to skip from the beginning. Cannot be used together with `page`. minimum: 0 examples: - 0 - 100 type: integer required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FacetListGetResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - facets(r) post: deprecated: true tags: - Facets operationId: v1-facets-create-facet summary: Create facet configuration (Deprecated) description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `facets(w)`. Create facet configuration with specified `facet_name`.' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/FacetListPostRequestBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FacetListPostResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - facets(w) put: deprecated: true tags: - Facets operationId: v1-facets-create-or-replace-facets summary: Create or replace facet configurations with options (Deprecated) description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `facets(w)`. Create or replace facet configurations with their options. Replacing will delete the existing facet and recreate it with the provided data.' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/FacetListPutRequestBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FacetListPutResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - facets(w) patch: deprecated: true tags: - Facets operationId: v1-facets-update-facets summary: Update facet configurations (Deprecated) description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `facets(w)`. Update facet configurations with specified `facet_name`.' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/FacetListPatchRequestBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FacetListPatchResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - facets(w) /v1/facets/{facet_name}: get: deprecated: true tags: - Facets operationId: v1-facets-retrieve-facet summary: Retrieve facet configuration (Deprecated) description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `facets(r)`. Retrieve facet configuration with specified `facet_name`.' parameters: - name: facet_name in: path required: true schema: type: string examples: - Brand - Color - Price - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FacetGetResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - facets(r) put: deprecated: true tags: - Facets operationId: v1-facets-replace-facet summary: Replace facet configuration (Deprecated) description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `facets(w)`. Replace facet configuration with specified `facet_name`. This will overwrite all other configurations you may have defined for the facet group, resetting them to their defaults. This includes all facet option configurations you may have defined.' parameters: - name: facet_name in: path required: true schema: type: string examples: - Brand - Color - Price - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/FacetPutRequestBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FacetPutResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '409': description: Conflict '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - facets(w) patch: deprecated: true tags: - Facets operationId: v1-facets-update-facet summary: Update facet configuration (Deprecated) description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `facets(w)`. Partially update facet configuration with specified `facet_name`.' parameters: - name: facet_name in: path required: true schema: type: string examples: - Brand - Color - Price - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/FacetPatchRequestBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FacetPatchResponse' '201': description: Created content: application/json: schema: $ref: '#/components/schemas/FacetPatchResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '409': description: Conflict '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - facets(w) delete: deprecated: true tags: - Facets operationId: v1-facets-delete-facet summary: Delete facet configuration (Deprecated) description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `facets(w)`. Delete facet configuration with specified `facet_name`. This does not delete the facet from items in your index you may have uploaded previously. Once a facet group''s configuration is deleted, all configurations will return to their default values. This includes all facet option configurations (display name, position, etc) you may have defined for the facet group.' parameters: - name: facet_name in: path required: true schema: type: string examples: - Brand - Color - Price - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FacetDeleteResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - facets(w) /v2/facets: get: tags: - Facets operationId: v2-facets-retrieve-facets summary: Retrieve facet configurations description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `facets(r)`. Retrieve all facet configurations.' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: num_results_per_page in: query schema: title: Num Results Per Page description: The number of results per page to return. default: 100 minimum: 1 maximum: 1000 examples: - 100 - 500 type: integer required: false - name: page in: query schema: title: Page description: The page of results to return. minimum: 1 examples: - 1 - 2 type: integer required: false - name: offset in: query schema: title: Offset description: The number of results to skip from the beginning. Cannot be used together with `page`. minimum: 0 examples: - 0 - 100 type: integer required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FacetListV2GetResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - facets(r) post: tags: - Facets operationId: v2-facets-create-facet summary: Create facet configuration description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `facets(w)`. Create facet configuration with specified `facet_name`.' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/FacetListV2PostRequestBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FacetListV2PostResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '409': description: Conflict '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - facets(w) put: tags: - Facets operationId: v2-facets-create-or-replace-facets summary: Create or replace facet configurations description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `facets(w)`. Create or replace facet configurations. Replacing will overwrite all other configurations you may have defined for the facet group, resetting them to their defaults, except facet options - they will not be affected.' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/FacetListV2PutRequestBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FacetListV2PutResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '409': description: Conflict '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - facets(w) patch: tags: - Facets operationId: v2-facets-update-facets summary: Update facet configurations description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `facets(w)`. Update facet configurations.' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/FacetListV2PatchRequestBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FacetListV2PatchResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '409': description: Conflict '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - facets(w) /v2/facets/{facet_name}: get: tags: - Facets operationId: v2-facets-retrieve-facet summary: Retrieve facet configuration description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `facets(r)`. Retrieve facet configuration with specified `facet_name`.' parameters: - name: facet_name in: path required: true schema: type: string examples: - Brand - Color - Price - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FacetV2GetResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - facets(r) put: tags: - Facets operationId: v2-facets-replace-facet summary: Replace facet configuration description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `facets(w)`. Replace facet configuration with specified `facet_name`. This will overwrite all other configurations you may have defined for the facet group, resetting them to their defaults, except facet options - they will not be affected.' parameters: - name: facet_name in: path required: true schema: type: string examples: - Brand - Color - Price - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/FacetV2PutRequestBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FacetV2PutResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '409': description: Conflict '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - facets(w) patch: tags: - Facets operationId: v2-facets-update-facet summary: Update facet configuration description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `facets(w)`. Partially update facet configuration with specified `facet_name`.' parameters: - name: facet_name in: path required: true schema: type: string examples: - Brand - Color - Price - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/FacetV2PatchRequestBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FacetV2PatchResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '409': description: Conflict '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - facets(w) delete: tags: - Facets operationId: v2-facets-delete-facet summary: Delete facet configuration description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `facets(w)`. Delete facet configuration with specified `facet_name`. This does not delete the facet from items in your index you may have uploaded previously. Once a facet group''s configuration is deleted, all configurations will return to their default values. This includes all facet option configurations (display name, position, etc) you may have defined for the facet group.' parameters: - name: facet_name in: path required: true schema: type: string examples: - Brand - Color - Price - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FacetV2DeleteResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - facets(w) /v1/facets/{facet_name}/options: get: tags: - Facets operationId: v1-facet-options-retrieve-facet-options summary: Retrieve facet options description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `facets(r)`. Retrieve facet options for the given `facet_name`.' parameters: - name: facet_name in: path required: true schema: type: string examples: - Brand - Color - Price - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: num_results_per_page in: query schema: title: Num Results Per Page description: The number of results per page to return. default: 100 minimum: 1 maximum: 1000 examples: - 100 - 500 type: integer required: false - name: page in: query schema: title: Page description: The page of results to return. minimum: 1 examples: - 1 - 2 type: integer required: false - name: offset in: query schema: title: Offset description: The number of results to skip from the beginning. Cannot be used together with `page`. minimum: 0 examples: - 0 - 100 type: integer required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false - name: filter in: query schema: title: Filter description: Criteria to narrow the result set by. Different filters are `ANDed` together. examples: - value_alias: blue allOf: - $ref: '#/components/schemas/FacetOptionListFilters' required: false style: deepObject explode: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FacetOptionListGetResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - facets(r) post: tags: - Facets operationId: v1-facet-options-create-facet-option summary: Create facet option description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `facets(w)`. Create facet option for the given `facet_name`.' parameters: - name: facet_name in: path required: true schema: type: string examples: - Brand - Color - Price - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/FacetOptionListPostRequestBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FacetOptionListPostResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '409': description: Conflict '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - facets(w) patch: tags: - Facets operationId: v1-facet-options-create-or-update-facet-options summary: Create or update facet options description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `facets(w)`. Update a list of facet options with specified `value` for the given `facet_name`. If a facet option config with provided value already exists it is updated partially, otherwise it is created.' parameters: - name: facet_name in: path required: true schema: type: string examples: - Brand - Color - Price - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/FacetOptionListPatchRequestBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FacetOptionListPatchResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - facets(w) /v1/facets/{facet_name}/options/{facet_option_value}: get: tags: - Facets operationId: v1-facet-options-retrieve-facet-option summary: Retrieve facet option description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `facets(r)`. Retrieve facet option with specified `facet_name` and `facet_option_value`.' parameters: - name: facet_name in: path required: true schema: type: string examples: - Brand - Color - Price - name: facet_option_value in: path required: true schema: type: string examples: - Nike - Red - 10-20 - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FacetOptionGetResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - facets(r) put: tags: - Facets operationId: v1-facet-options-replace-facet-option summary: Replace facet option description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `facets(w)`. Replace facet option with specified `facet_name` and `facet_option_value`.' parameters: - name: facet_name in: path required: true schema: type: string examples: - Brand - Color - Price - name: facet_option_value in: path required: true schema: type: string examples: - Nike - Red - 10-20 - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/FacetOptionPutRequestBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FacetOptionPutResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - facets(w) patch: tags: - Facets operationId: v1-facet-options-update-facet-option summary: Update facet option description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `facets(w)`. Partially update facet option with specified `facet_name` and `facet_option_value`.' parameters: - name: facet_name in: path required: true schema: type: string examples: - Brand - Color - Price - name: facet_option_value in: path required: true schema: type: string examples: - Nike - Red - 10-20 - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/FacetOptionPatchRequestBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FacetOptionPatchResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - facets(w) delete: tags: - Facets operationId: v1-facet-options-delete-facet-option summary: Delete facet option description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `facets(w)`. Delete facet option with specified `facet_name` and `facet_option_value`. Only do this if you want all configuration options for the facet option to go back to their default values.' parameters: - name: facet_name in: path required: true schema: type: string examples: - Brand - Color - Price - name: facet_option_value in: path required: true schema: type: string examples: - Nike - Red - 10-20 - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FacetOptionDeleteResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - facets(w) /v2/one_way_synonyms/{parent_phrase}: get: tags: - Synonyms operationId: v2-one-way-synonyms-retrieve-one-way-synonym summary: Retrieve one-way synonym description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `synonyms(r)`. Retrieve one-way synonym with specified `parent_phrase`.' parameters: - name: parent_phrase in: path required: true schema: type: string examples: - shoes - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: phrase in: query schema: title: Phrase examples: - shoes - flower minLength: 1 type: string required: false - name: num_results_per_page in: query schema: title: Num Results Per Page description: The number of results per page to return. default: 20 minimum: 1 maximum: 1000 examples: - 20 - 100 type: integer required: false - name: page in: query schema: title: Page description: The page of results to return. minimum: 1 examples: - 1 - 2 type: integer required: false - name: offset in: query schema: title: Offset description: The number of results to skip from the beginning. Cannot be used together with `page`. minimum: 0 examples: - 0 - 100 type: integer required: false - name: sort_by in: query schema: description: Fields that you can sort the results by examples: - parent_phrase - created_at allOf: - $ref: '#/components/schemas/NgramRelationSortByType' required: false - name: sort_order in: query schema: description: In which order results are returned examples: - ascending - descending allOf: - $ref: '#/components/schemas/SortOrderType' required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OneWaySynonymV2GetResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - synonyms(r) post: tags: - Synonyms operationId: v2-one-way-synonyms-create-one-way-synonym summary: Create one-way synonym description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `synonyms(w)`. Create one-way synonym with specified `parent_phrase`.' parameters: - name: parent_phrase in: path required: true schema: type: string examples: - shoes - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/OneWaySynonymV2PostRequestBody' responses: '204': description: No Content '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '409': description: Conflict '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - synonyms(w) put: tags: - Synonyms operationId: v2-one-way-synonyms-replace-one-way-synonym summary: Replace one-way synonym description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `synonyms(w)`. Replace one-way synonym with specified `parent_phrase`. This will overwrite all child phrases with those provided in the `child_phrases` array.' parameters: - name: parent_phrase in: path required: true schema: type: string examples: - shoes - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/OneWaySynonymV2PutRequestBody' responses: '204': description: No Content '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '409': description: Conflict '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - synonyms(w) delete: tags: - Synonyms operationId: v2-one-way-synonyms-delete-one-way-synonym summary: Delete one-way synonym description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `synonyms(w)`. Delete one-way synonyms with specified `parent_phrase`.' parameters: - name: parent_phrase in: path required: true schema: type: string examples: - shoes - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '204': description: No Content '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - synonyms(w) /v2/one_way_synonyms: get: tags: - Synonyms operationId: v2-one-way-synonyms-retrieve-one-way-synonyms summary: Retrieve one-way synonyms description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `synonyms(r)`. Retrieve all one-way synonyms.' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: parent_phrase in: query schema: title: Parent Phrase description: A list of parent phrases to filter by minItems: 1 type: array items: type: string minLength: 1 examples: - shoes - flower required: false - name: phrase in: query schema: title: Phrase examples: - shoes - flower minLength: 1 type: string required: false - name: num_results_per_page in: query schema: title: Num Results Per Page description: The number of results per page to return. default: 20 minimum: 1 maximum: 1000 examples: - 20 - 100 type: integer required: false - name: page in: query schema: title: Page description: The page of results to return. minimum: 1 examples: - 1 - 2 type: integer required: false - name: offset in: query schema: title: Offset description: The number of results to skip from the beginning. Cannot be used together with `page`. minimum: 0 examples: - 0 - 100 type: integer required: false - name: sort_by in: query schema: description: Fields that you can sort the results by examples: - parent_phrase - created_at allOf: - $ref: '#/components/schemas/NgramRelationSortByType' required: false - name: sort_order in: query schema: description: In which order results are returned examples: - ascending - descending allOf: - $ref: '#/components/schemas/SortOrderType' required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OneWaySynonymV2ListGetResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - synonyms(r) delete: tags: - Synonyms operationId: v2-one-way-synonyms-delete-one-way-synonyms summary: Delete one-way synonyms description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `synonyms(w)`. Delete one-way synonyms. It is done asynchronously in a background task.' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OneWaySynonymV2ListDeleteResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - synonyms(w) /v1/searchabilities: get: deprecated: true tags: - Searchabilities operationId: v1-searchabilities-retrieve-searchabilities summary: Retrieve searchabilities (Deprecated) description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `searchabilities(r)`. Retrieve all searchabilities.' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: filters in: query schema: title: Filters description: Criteria to narrow the result set by. Different filters from this parameter are `ANDed` together. examples: - name: brand fuzzy_searchable: true allOf: - $ref: '#/components/schemas/SearchabilityFilters' required: false style: deepObject explode: true - name: num_results_per_page in: query schema: title: Num Results Per Page description: The number of results per page to return. default: 20 minimum: 1 maximum: 1000 examples: - 20 - 100 type: integer required: false - name: page in: query schema: title: Page description: The page of results to return. minimum: 1 examples: - 1 - 2 type: integer required: false - name: offset in: query schema: title: Offset description: The number of results to skip from the beginning. Cannot be used together with `page`. minimum: 0 examples: - 0 - 100 type: integer required: false - name: sort_by in: query schema: title: Sort By description: The criteria by which searchability configurations should be sorted. examples: - name - percentage_presence enum: - name - percentage_presence type: string required: false - name: sort_order in: query schema: description: The sort order by which searchability configurations should be sorted. Only valid when used in conjunction with `sort_by`. default: ascending examples: - ascending - descending allOf: - $ref: '#/components/schemas/SortOrderType' required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false - name: excludes in: query schema: title: Excludes description: Criteria to narrow the result set by. Different filters from this parameter are `ORed` together, and results matching them are excluded examples: - fuzzy_searchable: false allOf: - $ref: '#/components/schemas/SearchabilityFilters' required: false style: deepObject explode: true - name: includes in: query schema: title: Includes description: Criteria to narrow the result set by. Different filters from this parameter are `ORed` together. examples: - displayable: true allOf: - $ref: '#/components/schemas/SearchabilityFilters' required: false style: deepObject explode: true - name: search_configurable in: query schema: title: Search Configurable description: Filter only configurable searchabilities. examples: - true - false type: boolean required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SearchabilityListGetResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - searchabilities(r) patch: deprecated: true tags: - Searchabilities operationId: v1-searchabilities-create-or-update-searchabilities summary: Create or update searchabilities (Deprecated) description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `searchabilities(w)`. Create or update searchabilities.' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false - name: skip_rebuild in: query schema: title: Skip Rebuild description: Skip index rebuild. default: false examples: - false - true type: boolean required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/SearchabilityListPatchRequestBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SearchabilityListPatchResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - searchabilities(w) delete: deprecated: true tags: - Searchabilities operationId: v1-searchabilities-delete-searchabilities summary: Delete searchabilities (Deprecated) description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `searchabilities(w)`. Delete searchabilities.' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false - name: skip_rebuild in: query schema: title: Skip Rebuild description: Skip index rebuild. default: false examples: - false - true type: boolean required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/SearchabilityListDeleteRequestBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SearchabilityListDeleteResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - searchabilities(w) /v1/searchabilities/{name}: get: deprecated: true tags: - Searchabilities operationId: v1-searchabilities-retrieve-searchability summary: Retrieve searchability (Deprecated) description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `searchabilities(r)`. Retrieve searchability with specified `name`.' parameters: - name: name in: path required: true schema: type: string - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SearchabilityGetResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - searchabilities(r) patch: deprecated: true tags: - Searchabilities operationId: v1-searchabilities-create-or-update-searchability summary: Create or update searchability (Deprecated) description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `searchabilities(w)`. Create or update searchability with specified `name`.' parameters: - name: name in: path required: true schema: type: string - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false - name: skip_rebuild in: query schema: title: Skip Rebuild description: Skip index rebuild. default: false examples: - false - true type: boolean required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/SearchabilityPatchRequestBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SearchabilityPatchResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - searchabilities(w) delete: deprecated: true tags: - Searchabilities operationId: v1-searchabilities-delete-searchability summary: Delete searchability (Deprecated) description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `searchabilities(w)`. Delete searchability with specified `name`.' parameters: - name: name in: path required: true schema: type: string - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false - name: skip_rebuild in: query schema: title: Skip Rebuild description: Skip index rebuild. default: false examples: - false - true type: boolean required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SearchabilityDeleteResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - searchabilities(w) /v2/searchabilities: get: tags: - Searchabilities operationId: v2-searchabilities-retrieve-searchabilities summary: Retrieve searchabilities description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `searchabilities(r)`. Retrieve all searchabilities.' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: num_results_per_page in: query schema: title: Num Results Per Page description: The number of results per page to return. default: 20 minimum: 1 maximum: 1000 examples: - 20 - 100 type: integer required: false - name: page in: query schema: title: Page description: The page of results to return. minimum: 1 examples: - 1 - 2 type: integer required: false - name: offset in: query schema: title: Offset description: The number of results to skip from the beginning. Cannot be used together with `page`. minimum: 0 examples: - 0 - 100 type: integer required: false - name: sort_by in: query schema: title: Sort By description: The criteria by which searchability configurations should be sorted. examples: - name enum: - name type: string required: false - name: sort_order in: query schema: description: The sort order by which searchability configurations should be sorted. Only valid when used in conjunction with `sort_by`. default: ascending examples: - ascending - descending allOf: - $ref: '#/components/schemas/SortOrderType' required: false - name: match_type in: query schema: description: Specified whether filters should be ANDed or ORed. default: and examples: - and - or allOf: - $ref: '#/components/schemas/MatchTypeV2' required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false - name: exact_searchable in: query schema: title: Exact Searchable description: Specifies whether the searchability is exact_searchable. examples: - false - true type: boolean required: false - name: fuzzy_searchable in: query schema: title: Fuzzy Searchable description: Specifies whether the searchability is fuzzy_searchable. examples: - true - false type: boolean required: false - name: displayable in: query schema: title: Displayable description: Specifies whether the field is displayable. examples: - true - false type: boolean required: false - name: name in: query schema: title: Name description: Name of searchability field to filter for. Supports exact matching (name=value) and substring matching (name=`*value`, `value*` or `*value*`). maxLength: 300 examples: - brand - '*color*' type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SearchabilityListV2GetResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - searchabilities(r) patch: tags: - Searchabilities operationId: v2-searchabilities-create-or-update-searchabilities summary: Create or update searchabilities description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `searchabilities(w)`. Create or update searchabilities.' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false - name: skip_rebuild in: query schema: title: Skip Rebuild description: Skip index rebuild. default: false examples: - false - true type: boolean required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/SearchabilityListV2PatchRequestBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SearchabilityListV2PatchResponse' '400': description: Bad Request '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - searchabilities(w) delete: tags: - Searchabilities operationId: v2-searchabilities-delete-searchabilities summary: Delete searchabilities description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `searchabilities(w)`. Delete searchabilities.' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false - name: skip_rebuild in: query schema: title: Skip Rebuild description: Skip index rebuild. default: false examples: - false - true type: boolean required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/SearchabilityListV2DeleteRequestBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SearchabilityListV2DeleteResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - searchabilities(w) /v2/searchabilities/{name}: get: tags: - Searchabilities operationId: v2-searchabilities-retrieve-searchability summary: Retrieve searchability description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `searchabilities(r)`. Retrieve searchability with specified `name`.' parameters: - name: name in: path required: true schema: type: string - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SearchabilityV2GetResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - searchabilities(r) patch: tags: - Searchabilities operationId: v2-searchabilities-create-or-update-searchability summary: Create or update searchability description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `searchabilities(w)`. Create or update searchability with specified `name`.' parameters: - name: name in: path required: true schema: type: string - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false - name: skip_rebuild in: query schema: title: Skip Rebuild description: Skip index rebuild. default: false examples: - false - true type: boolean required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/SearchabilityV2PatchRequestBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SearchabilityV2PatchResponse' '400': description: Bad Request '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - searchabilities(w) delete: tags: - Searchabilities operationId: v2-searchabilities-delete-searchability summary: Delete searchability description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `searchabilities(w)`. Delete searchability with specified `name`.' parameters: - name: name in: path required: true schema: type: string - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false - name: skip_rebuild in: query schema: title: Skip Rebuild description: Skip index rebuild. default: false examples: - false - true type: boolean required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SearchabilityV2DeleteResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - searchabilities(w) /v1/sort_options: get: tags: - Sort options operationId: v1-sort-options-retrieve-sort-options summary: Retrieve sort options description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `sort_options(r)`. Retrieve all sort options, optionally filtered by `sort_by`.' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: num_results_per_page in: query schema: title: Num Results Per Page description: The number of results per page to return. default: 200 minimum: 1 maximum: 200 examples: - 50 - 200 type: integer required: false - name: page in: query schema: title: Page description: The page of results to return. minimum: 1 examples: - 1 - 2 type: integer required: false - name: offset in: query schema: title: Offset description: The number of results to skip from the beginning. Cannot be used together with `page`. minimum: 0 examples: - 0 - 100 type: integer required: false - name: sort_by in: query schema: title: Sort By description: '`sort_by` field of the sort options that you''d like to retrieve' examples: - price - relevance minLength: 1 maxLength: 200 type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SortOptionListGetResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - sort_options(r) put: tags: - Sort options operationId: v1-sort-options-create-or-replace-sort-options summary: Create or replace sort options description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `sort_options(w)`. Create or replace existing sort options. When providing sort options, every combination of `sort_by` and `sort_order` must be unique. For instance, there can only be one sort option that has a `sort_by` with value `price` and a `sort_order` with value `ascending`.' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/SortOptionListPutBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SortOptionListPutResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - sort_options(w) delete: tags: - Sort options operationId: v1-sort-options-delete-sort-options summary: Delete sort options description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `sort_options(w)`. Delete sort option with specified `sort_by` and `sort_order`.' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/SortOptionListDeleteRequestBody' responses: '204': description: No Content '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - sort_options(w) /v1/sort_option: post: tags: - Sort options operationId: v1-sort-options-create-sort-option summary: Create a sort option description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `sort_options(w)`. Create a new sort option. Note that total number of sort options is limited, and every combination of `sort_by` and `sort_order` fields among the sort options must be unique.' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/SortOptionPostBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SortOptionPostResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '409': description: Conflict '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - sort_options(w) /v1/sort_option/{sort_by}/{sort_order}: put: tags: - Sort options operationId: v1-sort-options-create-or-replace-sort-option summary: Replace a sort option description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `sort_options(w)`. Replace a sort option. If the sort option already exists, it will be updated, if not it will be created. Note that total number of sort options is limited, and every combination of `sort_by` and `sort_order` fields among the sort options must be unique.' parameters: - name: sort_by in: path required: true schema: type: string - name: sort_order in: path required: true schema: type: string - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/SortOptionPutBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SortOptionPutResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - sort_options(w) patch: tags: - Sort options operationId: v1-sort-options-update-sort-option summary: Update a sort option description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `sort_options(w)`. Update existing sort option. Note that total number of sort options is limited, and every combination of `sort_by` and `sort_order` fields among the sort options must be unique.' parameters: - name: sort_by in: path required: true schema: type: string - name: sort_order in: path required: true schema: type: string - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/SortOptionPatchBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SortOptionPatchResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - sort_options(w) /v1/synonym_groups/{group_id}: get: tags: - Synonym groups operationId: v1-synonyms-retrieve-synonym summary: Retrieve synonym group description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `synonyms(r)`. Retrieve synonym group by identifier.' parameters: - name: group_id in: path required: true schema: type: integer format: int32 - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SynonymGetResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - synonyms(r) put: tags: - Synonym groups operationId: v1-synonyms-update-synonym summary: Update synonym group description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `synonyms(w)`. Update existing synonym group by identifier. Synonyms list inside the group will be replaced with a newly provided synonyms list.' parameters: - name: group_id in: path required: true schema: type: integer format: int32 - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/SynonymPutRequestBody' responses: '204': description: No Content '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '409': description: Conflict '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - synonyms(w) delete: tags: - Synonym groups operationId: v1-synonyms-delete-synonym summary: Delete synonym group description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `synonyms(w)`. Delete synonyms group by identifier.' parameters: - name: group_id in: path required: true schema: type: integer format: int32 - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '204': description: No Content '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - synonyms(w) /v1/synonym_groups: get: tags: - Synonym groups operationId: v1-synonyms-list-synonyms summary: Retrieve synonym groups description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `synonyms(r)`. Retrieve all synonyms, optionally filtered by phrase.' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: synonym_group_id in: query schema: title: Synonym Group Id description: A list of synonym group IDs for filter by minItems: 1 type: array items: type: integer examples: - 1 - 20 required: false - name: phrase in: query schema: title: Phrase description: Phrase to search by minLength: 1 examples: - milk - sneakers type: string required: false - name: num_results_per_page in: query schema: title: Num Results Per Page description: The number of results per page to return. default: 20 minimum: 1 maximum: 1000 examples: - 20 - 100 type: integer required: false - name: page in: query schema: title: Page description: The page of results to return. minimum: 1 examples: - 1 - 2 type: integer required: false - name: offset in: query schema: title: Offset description: The number of results to skip from the beginning. Cannot be used together with `page`. minimum: 0 examples: - 0 - 100 type: integer required: false - name: sort_by in: query schema: title: Sort By description: Fields that you can sort the results by default: id examples: - id - created_at enum: - id - created_at - updated_at type: string required: false - name: sort_order in: query schema: description: In which order results are returned default: ascending examples: - ascending - descending allOf: - $ref: '#/components/schemas/SortOrderType' required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SynonymListGetResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - synonyms(r) post: tags: - Synonym groups operationId: v1-synonyms-create-synonym summary: Create synonym group description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `synonyms(w)`. Create synonym groups by providing list of the names for the synonyms.' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/SynonymListPostRequestBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SynonymListPostResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '409': description: Conflict '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - synonyms(w) delete: tags: - Synonym groups operationId: v1-synonyms-delete-synonyms summary: Delete synonym groups description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `synonyms(w)`. Delete all synonyms groups for the provided `key`. Starts a background [task](/reference/v1-tasks-retrieve-task). Returns message.' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SynonymListDeleteResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - synonyms(w) /v1/quizzes/{quiz_id}: get: tags: - Quizzes operationId: v1-quizzes-retrieve-quiz summary: Retrieve quiz description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `quizzes(r)`. Retrieve a quiz.' parameters: - name: quiz_id in: path required: true schema: type: string - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/QuizGetResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - quizzes(r) put: tags: - Quizzes operationId: v1-quizzes-create-or-replace-quiz summary: Create or replace quiz description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `quizzes(w)`. Create or replace an existing quiz.' parameters: - name: quiz_id in: path required: true schema: type: string - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/QuizPutRequestBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/QuizPutResponse' '201': description: Created content: application/json: schema: $ref: '#/components/schemas/QuizPutResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - quizzes(w) patch: tags: - Quizzes operationId: v1-quizzes-update-quiz summary: Update quiz description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `quizzes(w)`. Update a quiz. Data sent through the request body will be merged with existing quiz. Full validation (e.g. logic) will be performed over the merged quiz.' parameters: - name: quiz_id in: path required: true schema: type: string - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/QuizPatchRequestBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/QuizPatchResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - quizzes(w) delete: tags: - Quizzes operationId: v1-quizzes-delete-quiz summary: Delete quiz description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `quizzes(w)`. Delete a quiz.' parameters: - name: quiz_id in: path required: true schema: type: string - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/QuizDeleteResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - quizzes(w) /v1/collections/{collection_id}: get: tags: - Collections operationId: v1-collections-retrieve-collection summary: Retrieve collection description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `collections(r)`. Retrieve a collection.' parameters: - name: collection_id in: path required: true schema: type: string - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CollectionGetResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - collections(r) put: tags: - Collections operationId: v1-collections-replace-collection summary: Replace collection description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `collections(w)`. Replace collection.' parameters: - name: collection_id in: path required: true schema: type: string - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/CollectionPutBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CollectionPutResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '409': description: Conflict '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - collections(w) patch: tags: - Collections operationId: v1-collections-update-collection summary: Update collection description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `collections(w)`. Update a collection. Data sent through the request body will be merged with existing collection. Validation will be performed over the merged collection.' parameters: - name: collection_id in: path required: true schema: type: string - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/CollectionPatchBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CollectionPatchResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '409': description: Conflict '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - collections(w) delete: tags: - Collections operationId: v1-collections-delete-collection summary: Delete collection description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `collections(w)`. Delete a collection.' parameters: - name: collection_id in: path required: true schema: type: string - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CollectionDeleteResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '409': description: Conflict '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - collections(w) /v1/collections: get: tags: - Collections operationId: v1-collections-retrieve-collections summary: Retrieve collections description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `collections(r)`. Retrieve all collections. By default, only base collections (collections with no `overridden_collection_id`) are returned. Use the `overridden_collection_id` query parameter to retrieve overriding collections for a specific base collection.' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: id in: query schema: title: Id description: The ID(s) of collections to filter by. type: array items: type: string minLength: 1 maxLength: 100 examples: - summer-sale - halloween-baking-mixes maxItems: 100 required: false - name: overridden_collection_id in: query schema: title: Overridden Collection ID description: When provided, returns only collections that override the specified collection ID. examples: - summer-sale - daily-deals minLength: 1 maxLength: 100 type: string required: false - name: query in: query schema: title: Query description: A query to narrow the result set when listing collections. Matches on `id` or `display_name`. examples: - sneakers - sale type: string required: false - name: num_results_per_page in: query schema: title: Num Results Per Page description: The number of results per page to return. default: 20 minimum: 1 maximum: 100 examples: - 20 - 50 type: integer required: false - name: page in: query schema: title: Page description: The page of results to return. minimum: 1 examples: - 1 - 2 type: integer required: false - name: offset in: query schema: title: Offset description: The number of results to skip from the beginning. Cannot be used together with `page`. minimum: 0 examples: - 0 - 100 type: integer required: false - name: sort_by in: query schema: title: Sort By description: The attribute to sort by. Accepted values are 'created_at', 'updated_at', 'display_name', 'start_time', 'end_time' default: id examples: - created_at - display_name enum: - created_at - updated_at - display_name - start_time - end_time type: string required: false - name: sort_order in: query schema: description: The order by which results should be sorted. Only valid in conjunction with `sort_by`. Accepted values are 'ascending' and 'descending'. default: ascending examples: - ascending - descending allOf: - $ref: '#/components/schemas/SortOrderType' required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false - name: has_future_items in: query schema: title: Has Future Items description: When true, only collections that have future items (items not yet in the catalog) will be returned. When false, only collections that do not have future items will be returned. examples: - false - true type: boolean required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CollectionListGetResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - collections(r) post: tags: - Collections operationId: v1-collections-create-collection summary: Create collection description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `collections(w)`. Create a collection.' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/CollectionListPostBody' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/CollectionListPostResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '409': description: Conflict '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - collections(w) /v1/collections/{collection_id}/items/{item_id}: delete: tags: - Collections operationId: v1-collections-delete-collection-item summary: Delete item from a collection description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `collections(w)`. Delete an item from a collection.' parameters: - name: collection_id in: path required: true schema: type: string - name: item_id in: path required: true schema: type: string examples: - nike-shoes - product-123 - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CollectionItemDeleteResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - collections(w) /v1/collections/{collection_id}/items: get: tags: - Collections operationId: v1-collections-retrieve-collection-items summary: Retrieve collection items description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `collections(r)`. Retrieve all items of a collection, optionally filtered by `type`, i.e. method of addition to the collection.' parameters: - name: collection_id in: path required: true schema: type: string - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: filters in: query schema: title: Filters description: Criteria to narrow the result set by. Different filters from this parameter are `ANDed` together. default: manual_items: true dynamic_items: false unindexed_items: false allOf: - $ref: '#/components/schemas/CollectionItemFilters' required: false style: deepObject explode: true - name: num_results_per_page in: query schema: title: Num Results Per Page description: The number of results per page to return. default: 100 minimum: 1 maximum: 1000 examples: - 20 - 100 type: integer required: false - name: page in: query schema: title: Page description: The page of results to return. minimum: 1 examples: - 1 - 2 type: integer required: false - name: offset in: query schema: title: Offset description: The number of results to skip from the beginning. Cannot be used together with `page`. minimum: 0 examples: - 0 - 100 type: integer required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CollectionItemListGetResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - collections(r) put: tags: - Collections operationId: v1-collections-create-or-ignore-collection-items summary: Add or update items in a collection description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `collections(w)`. Add items to a collection, or update existing items. Items already in the collection are updated, others are added. Note that the total number of items per collection is limited, and the request will fail if adding items would exceed this limit.' parameters: - name: collection_id in: path required: true schema: type: string - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false - name: on_missing in: query schema: description: The strategy for handling items or variations that do not exist in the catalog. `FAIL` (default) returns an error if any items or variations are missing. `IGNORE` silently skips missing items and missing variations from the request. `CREATE` adds items to the collection even if they or their variations don't exist in the catalog yet (allows future item/variation IDs). default: FAIL allOf: - $ref: '#/components/schemas/CollectionItemListPutOnMissingParam' required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/CollectionItemListPutBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CollectionItemListPutResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - collections(w) delete: tags: - Collections operationId: v1-collections-delete-collection-items summary: Delete items from a collection description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `collections(w)`. Delete items from a collection. If no items are provided, all items in the given collection will be deleted. Invalid items and items that are not part of the given collection will be ignored.' parameters: - name: collection_id in: path required: true schema: type: string - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/CollectionItemListDeleteBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CollectionItemListDeleteResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - collections(w) /v1/redirect_rules/{redirect_rule_id}: get: tags: - Redirect rules operationId: v1-redirects-retrieve-redirect-rule summary: Retrieve redirect rule description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `redirects(r)`. Retrieve a redirect rule' parameters: - name: redirect_rule_id in: path required: true schema: type: integer format: int32 - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RedirectRuleGetResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - redirects(r) put: tags: - Redirect rules operationId: v1-redirects-replace-redirect-rule summary: Replace redirect rule description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `redirects(w)`. Replace a redirect rule' parameters: - name: redirect_rule_id in: path required: true schema: type: integer format: int32 - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/RedirectRulePutBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RedirectRulePutResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - redirects(w) patch: tags: - Redirect rules operationId: v1-redirects-update-redirect-rule summary: Update redirect rule description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `redirects(w)`. Update a redirect rule' parameters: - name: redirect_rule_id in: path required: true schema: type: integer format: int32 - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/RedirectRulePatchBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RedirectRulePatchResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - redirects(w) delete: tags: - Redirect rules operationId: v1-redirects-delete-redirect-rule summary: Delete redirect rule description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `redirects(w)`. Delete a redirect rule' parameters: - name: redirect_rule_id in: path required: true schema: type: integer format: int32 - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RedirectRuleDeleteResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - redirects(w) /v1/redirect_rules: get: tags: - Redirect rules operationId: v1-redirects-retrieve-redirect-rules summary: Retrieve redirect rules description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `redirects(r)`. Retrieve all redirect rules' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: id in: query schema: title: Id description: The ID(s) of redirect rules to filter by. examples: - 1 - 9 anyOf: - type: integer - type: array items: type: integer required: false - name: query in: query schema: title: Query description: A search query for redirect rules. examples: - take me here - sale type: string required: false - name: num_results_per_page in: query schema: title: Num Results Per Page description: The number of results per page to return. default: 20 minimum: 1 maximum: 100 examples: - 20 - 50 type: integer required: false - name: page in: query schema: title: Page description: The page of results to return. minimum: 1 examples: - 1 - 2 type: integer required: false - name: offset in: query schema: title: Offset description: The number of results to skip from the beginning. Cannot be used together with `page`. minimum: 0 examples: - 0 - 100 type: integer required: false - name: sort_order in: query schema: description: The sort order for redirect rules. examples: - ascending - descending allOf: - $ref: '#/components/schemas/SortOrderType' required: false - name: status in: query schema: title: Status description: A filter by status of redirect rules. examples: - current - pending enum: - current - pending - expired type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RedirectRuleListGetResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - redirects(r) post: tags: - Redirect rules operationId: v1-redirects-create-redirect-rule summary: Create redirect rule description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `redirects(w)`. Create a redirect rule' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/RedirectRuleListPostBody' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/RedirectRuleListPostResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - redirects(w) /v1/metadata_overrides: get: tags: - Metadata overrides operationId: metadata-overrides-get-metadata-overrides summary: Get metadata overrides for the specified autocomplete ID and description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `metadata_overrides(r)`. optionally query via field name and/or active.' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false - name: field_name in: query schema: title: Field Name description: Field name to filter metadata override configurations by. maxLength: 100 minLength: 1 examples: - price - description type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MetadataOverridesListGetResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - metadata_overrides(r) post: tags: - Metadata overrides operationId: metadata-overrides-post-metadata-override summary: Create a new metadata override rule for the specified field name. description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `metadata_overrides(w)`. ' parameters: - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/MetadataOverridesListPostBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MetadataOverridesListPostResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - metadata_overrides(w) /v1/metadata_overrides/{field_name}: patch: tags: - Metadata overrides operationId: metadata-overrides-patch-metadata-override summary: Patch an existing metadata override rule for the specified field name. description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `metadata_overrides(w)`. ' parameters: - name: field_name in: path required: true schema: type: string - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false requestBody: content: application/json: schema: $ref: '#/components/schemas/MetadataOverridesPatchBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MetadataOverridesPatchResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - metadata_overrides(w) delete: tags: - Metadata overrides operationId: metadata-overrides-delete-metadata-override summary: Delete an existing metadata override rule for the specified field name. description: '**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).** For authenticating with Bearer token, required scopes are: `metadata_overrides(w)`. ' parameters: - name: field_name in: path required: true schema: type: string - name: key in: query schema: title: Key description: The key of the index to use. maxLength: 100 minLength: 1 examples: - key_K2pX7vBnU0bgA5xp type: string required: true - name: section in: query schema: title: Section description: The section of the index to use. Defaults to `Products`. maxLength: 100 minLength: 1 examples: - Products - Search Suggestions type: string required: false - name: c in: query schema: title: C description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`. maxLength: 100 minLength: 1 examples: - cio-js-2.90 - cio-ios-1.0 type: string required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MetadataOverridesDeleteResponse' '400': description: Validation Error '401': description: Credentials are not passed or action is forbidden. '403': description: The supplied token does not have the required permissions. '404': description: Not Found '429': description: Rate limit breached security: - http_basic_auth: [] - http_bearer_auth: - metadata_overrides(w) components: schemas: CollectionGetResponse: title: CollectionGetResponse type: object properties: id: title: ID description: ID of the collection. minLength: 1 maxLength: 100 type: string display_name: title: Display Name description: Name of the collection to be displayed to end users. examples: - Summer Sale - Halloween Baking Mixes minLength: 1 maxLength: 100 type: string filter_expression: title: Filter expression description: '[Filter expression](/reference/shared-filter-expressions) associated with this collection.' examples: - name: brand value: Nike - and: - name: price range: - 10 - 100 - name: color value: red allOf: - $ref: '#/components/schemas/DictOrJsonStringWithDict' data: title: Data description: 'Object containing additional data, that should be attached to this collection. The maximum size of data object is limited to 200kb. ' examples: - key: value - promo_code: SUMMER20 type: object discoverable: title: Discoverable description: When true, the collection is discoverable in autocomplete and search. default: false examples: - false - true type: boolean matches: title: Matches description: A list of terms associated with this collection for matching purposes. maxItems: 50 type: array items: $ref: '#/components/schemas/CollectionMatchResponse' start_time: title: Start Time description: ISO-8601 string in UTC defining start time when the collection becomes active. Any specified timezone will be omitted. type: string format: date-time end_time: title: End Time description: ISO-8601 string in UTC defining start time when the collection becomes inactive. Any specified timezone will be omitted. type: string format: date-time overridden_collection_id: title: Overridden Collection ID description: The ID of the base collection that this collection overrides. An overriding collection temporarily replaces the content of a base collection during a scheduled time window. Only base collections (collections with `overridden_collection_id` set to `null`) can be overridden. minLength: 1 maxLength: 100 type: string created_at: title: Created At description: Collection creation date in ISO 8601 format. Present only for manually added collections. type: string format: date-time updated_at: title: Updated At description: Last collection update date in ISO 8601 format. Present only for manually added collections. type: string format: date-time required: - id - display_name - created_at additionalProperties: false DictOrJsonStringWithDict: title: DictOrJsonStringWithDict anyOf: - type: object title: object - type: string format: json title: Encoded JSON string CollectionMatchType: title: CollectionMatchType enum: - EXACT - UNORDERED - PHRASE type: string CollectionMatchResponse: title: CollectionMatchResponse type: object properties: pattern: title: Pattern description: A term to associate with this collection for matching purposes. examples: - summer sale - black friday deals minLength: 1 maxLength: 255 type: string match_type: description: The type of match to perform. default: PHRASE examples: - PHRASE - EXACT allOf: - $ref: '#/components/schemas/CollectionMatchType' required: - pattern additionalProperties: false CollectionPutBody: title: CollectionPutBody type: object properties: id: title: Id description: ID of the collection, must be unique. examples: - summer-sale - halloween-baking-mixes minLength: 1 maxLength: 100 type: string display_name: title: Display Name description: Name of the collection to be displayed to end users. examples: - Summer Sale - Halloween Baking Mixes minLength: 1 maxLength: 100 type: string filter_expression: title: Filter expression description: '[Filter expression](/reference/shared-filter-expressions) associated with this collection.' examples: - name: brand value: Nike - and: - name: price range: - 10 - 100 - name: color value: red allOf: - $ref: '#/components/schemas/DictOrJsonStringWithDict' data: title: Data description: 'Object containing additional data, that should be attached to this collection. The maximum size of data object is limited to 200kb. ' examples: - key: value - promo_code: SUMMER20 type: object discoverable: title: Discoverable description: When true, the collection is discoverable in autocomplete and search. default: false examples: - false - true type: boolean matches: title: Matches description: A list of terms associated with this collection for matching purposes. maxItems: 50 type: array items: $ref: '#/components/schemas/CollectionMatch' start_time: title: Start Time description: ISO-8601 string in UTC defining start time when the collection becomes active. Any specified timezone will be omitted. examples: - '2025-12-10T10:00:00' type: string format: date-time end_time: title: End Time description: ISO-8601 string in UTC defining start time when the collection becomes inactive. Any specified timezone will be omitted. examples: - '2025-12-31T23:59:59' type: string format: date-time overridden_collection_id: title: Overridden Collection ID description: The ID of the base collection that this collection overrides. An overriding collection temporarily replaces the content of a base collection during a scheduled time window. Only base collections (collections with `overridden_collection_id` set to `null`) can be overridden. examples: - overridden-collection - sales minLength: 1 maxLength: 100 type: string required: - id - display_name additionalProperties: false CollectionMatch: title: CollectionMatch type: object properties: pattern: title: Pattern description: A term to associate with this collection for matching purposes. examples: - summer sale - black friday deals minLength: 1 maxLength: 255 type: string match_type: description: The type of match to perform. default: PHRASE examples: - PHRASE - EXACT allOf: - $ref: '#/components/schemas/CollectionMatchType' required: - pattern additionalProperties: false CollectionPutResponse: title: CollectionPutResponse type: object properties: id: title: ID description: ID of the collection. minLength: 1 maxLength: 100 type: string display_name: title: Display Name description: Name of the collection to be displayed to end users. examples: - Summer Sale - Halloween Baking Mixes minLength: 1 maxLength: 100 type: string filter_expression: title: Filter expression description: '[Filter expression](/reference/shared-filter-expressions) associated with this collection.' examples: - name: brand value: Nike - and: - name: price range: - 10 - 100 - name: color value: red allOf: - $ref: '#/components/schemas/DictOrJsonStringWithDict' data: title: Data description: 'Object containing additional data, that should be attached to this collection. The maximum size of data object is limited to 200kb. ' examples: - key: value - promo_code: SUMMER20 type: object discoverable: title: Discoverable description: When true, the collection is discoverable in autocomplete and search. default: false examples: - false - true type: boolean matches: title: Matches description: A list of terms associated with this collection for matching purposes. maxItems: 50 type: array items: $ref: '#/components/schemas/CollectionMatchResponse' start_time: title: Start Time description: ISO-8601 string in UTC defining start time when the collection becomes active. Any specified timezone will be omitted. type: string format: date-time end_time: title: End Time description: ISO-8601 string in UTC defining start time when the collection becomes inactive. Any specified timezone will be omitted. type: string format: date-time overridden_collection_id: title: Overridden Collection ID description: The ID of the base collection that this collection overrides. An overriding collection temporarily replaces the content of a base collection during a scheduled time window. Only base collections (collections with `overridden_collection_id` set to `null`) can be overridden. minLength: 1 maxLength: 100 type: string created_at: title: Created At description: Collection creation date in ISO 8601 format. Present only for manually added collections. type: string format: date-time updated_at: title: Updated At description: Last collection update date in ISO 8601 format. Present only for manually added collections. type: string format: date-time required: - id - display_name - created_at additionalProperties: false CollectionPatchBody: title: CollectionPatchBody type: object properties: id: title: Id description: ID of the collection, must be unique. examples: - summer-sale - halloween-baking-mixes minLength: 1 maxLength: 100 type: string display_name: title: Display Name description: Name of the collection to be displayed to end users. examples: - Summer Sale - Halloween Baking Mixes minLength: 1 maxLength: 100 type: string filter_expression: title: Filter expression description: '[Filter expression](/reference/shared-filter-expressions) associated with this collection.' examples: - name: brand value: Nike - and: - name: price range: - 10 - 100 - name: color value: red allOf: - $ref: '#/components/schemas/DictOrJsonStringWithDict' data: title: Data description: 'Object containing additional data, that should be attached to this collection. The maximum size of data object is limited to 200kb. ' examples: - key: value - promo_code: SUMMER20 type: object discoverable: title: Discoverable description: When true, the collection is discoverable in autocomplete and search. default: false examples: - false - true type: boolean matches: title: Matches description: A list of terms associated with this collection for matching purposes. maxItems: 50 type: array items: $ref: '#/components/schemas/CollectionMatch' start_time: title: Start Time description: ISO-8601 string in UTC defining start time when the collection becomes active. Any specified timezone will be omitted. examples: - '2025-12-10T10:00:00' type: string format: date-time end_time: title: End Time description: ISO-8601 string in UTC defining start time when the collection becomes inactive. Any specified timezone will be omitted. examples: - '2025-12-31T23:59:59' type: string format: date-time overridden_collection_id: title: Overridden Collection ID description: The ID of the base collection that this collection overrides. An overriding collection temporarily replaces the content of a base collection during a scheduled time window. Only base collections (collections with `overridden_collection_id` set to `null`) can be overridden. examples: - overridden-collection - sales minLength: 1 maxLength: 100 type: string additionalProperties: false CollectionPatchResponse: title: CollectionPatchResponse type: object properties: id: title: ID description: ID of the collection. minLength: 1 maxLength: 100 type: string display_name: title: Display Name description: Name of the collection to be displayed to end users. examples: - Summer Sale - Halloween Baking Mixes minLength: 1 maxLength: 100 type: string filter_expression: title: Filter expression description: '[Filter expression](/reference/shared-filter-expressions) associated with this collection.' examples: - name: brand value: Nike - and: - name: price range: - 10 - 100 - name: color value: red allOf: - $ref: '#/components/schemas/DictOrJsonStringWithDict' data: title: Data description: 'Object containing additional data, that should be attached to this collection. The maximum size of data object is limited to 200kb. ' examples: - key: value - promo_code: SUMMER20 type: object discoverable: title: Discoverable description: When true, the collection is discoverable in autocomplete and search. default: false examples: - false - true type: boolean matches: title: Matches description: A list of terms associated with this collection for matching purposes. maxItems: 50 type: array items: $ref: '#/components/schemas/CollectionMatchResponse' start_time: title: Start Time description: ISO-8601 string in UTC defining start time when the collection becomes active. Any specified timezone will be omitted. type: string format: date-time end_time: title: End Time description: ISO-8601 string in UTC defining start time when the collection becomes inactive. Any specified timezone will be omitted. type: string format: date-time overridden_collection_id: title: Overridden Collection ID description: The ID of the base collection that this collection overrides. An overriding collection temporarily replaces the content of a base collection during a scheduled time window. Only base collections (collections with `overridden_collection_id` set to `null`) can be overridden. minLength: 1 maxLength: 100 type: string created_at: title: Created At description: Collection creation date in ISO 8601 format. Present only for manually added collections. type: string format: date-time updated_at: title: Updated At description: Last collection update date in ISO 8601 format. Present only for manually added collections. type: string format: date-time required: - id - display_name - created_at additionalProperties: false CollectionDeleteResponse: title: CollectionDeleteResponse type: object properties: id: title: ID description: ID of the collection. minLength: 1 maxLength: 100 type: string display_name: title: Display Name description: Name of the collection to be displayed to end users. examples: - Summer Sale - Halloween Baking Mixes minLength: 1 maxLength: 100 type: string filter_expression: title: Filter expression description: '[Filter expression](/reference/shared-filter-expressions) associated with this collection.' examples: - name: brand value: Nike - and: - name: price range: - 10 - 100 - name: color value: red allOf: - $ref: '#/components/schemas/DictOrJsonStringWithDict' data: title: Data description: 'Object containing additional data, that should be attached to this collection. The maximum size of data object is limited to 200kb. ' examples: - key: value - promo_code: SUMMER20 type: object discoverable: title: Discoverable description: When true, the collection is discoverable in autocomplete and search. default: false examples: - false - true type: boolean matches: title: Matches description: A list of terms associated with this collection for matching purposes. maxItems: 50 type: array items: $ref: '#/components/schemas/CollectionMatchResponse' start_time: title: Start Time description: ISO-8601 string in UTC defining start time when the collection becomes active. Any specified timezone will be omitted. type: string format: date-time end_time: title: End Time description: ISO-8601 string in UTC defining start time when the collection becomes inactive. Any specified timezone will be omitted. type: string format: date-time overridden_collection_id: title: Overridden Collection ID description: The ID of the base collection that this collection overrides. An overriding collection temporarily replaces the content of a base collection during a scheduled time window. Only base collections (collections with `overridden_collection_id` set to `null`) can be overridden. minLength: 1 maxLength: 100 type: string created_at: title: Created At description: Collection creation date in ISO 8601 format. Present only for manually added collections. type: string format: date-time updated_at: title: Updated At description: Last collection update date in ISO 8601 format. Present only for manually added collections. type: string format: date-time required: - id - display_name - created_at additionalProperties: false CollectionItemDeleteResponse: title: CollectionItemDeleteResponse type: object properties: id: title: ID description: The ID of the item, added to the collection. minLength: 1 maxLength: 250 type: string source: title: Source description: Arbitrary identifier of the source of the item manually added to the collection. examples: - manual_upload - api_sync minLength: 1 maxLength: 250 type: string variation_ids: title: Variation IDs description: List of variation IDs to include in this collection for the item. If not provided, all variations of the item are included. maxItems: 20 type: array items: type: string minLength: 1 maxLength: 250 examples: - var-red - var-blue created_at: title: Created At description: Collection Item creation date in ISO 8601 format. Present only for manually added items. type: string format: date-time updated_at: title: Updated At description: Collection Item update date in ISO 8601 format. Present only for manually added items. type: string format: date-time type: description: Describes the method of addition for the item - `manual` if it was manually added to the collection, dynamic if it matches collection's filter expression. default: manual allOf: - $ref: '#/components/schemas/CollectionItemType' required: - id additionalProperties: false CollectionItemType: title: CollectionItemType enum: - manual - dynamic type: string CollectionItemFilters: title: CollectionItemFilters type: object properties: manual_items: title: Manual Items description: Specifies whether to include manually added items in the response. default: true examples: - true - false type: boolean dynamic_items: title: Dynamic Items description: Specifies whether to include dynamic items (matching collection.filter_expression) in the response. default: false examples: - false - true type: boolean unindexed_items: title: Unindexed Items description: Specifies whether to include unindexed collection items. Supported only for manual items, hence mutually exclusive with `dynamic_items` filter default: false examples: - false - true type: boolean additionalProperties: false CollectionItemListGetResponse: title: CollectionItemListGetResponse type: object properties: items: title: Items type: array items: $ref: '#/components/schemas/CollectionItemResponse' total_count: title: Total Count type: integer required: - items - total_count additionalProperties: false CollectionItemResponse: title: CollectionItemResponse type: object properties: id: title: ID description: The ID of the item, added to the collection. minLength: 1 maxLength: 250 type: string source: title: Source description: Arbitrary identifier of the source of the item manually added to the collection. examples: - manual_upload - api_sync minLength: 1 maxLength: 250 type: string variation_ids: title: Variation IDs description: List of variation IDs to include in this collection for the item. If not provided, all variations of the item are included. maxItems: 20 type: array items: type: string minLength: 1 maxLength: 250 examples: - var-red - var-blue created_at: title: Created At description: Collection Item creation date in ISO 8601 format. Present only for manually added items. type: string format: date-time updated_at: title: Updated At description: Collection Item update date in ISO 8601 format. Present only for manually added items. type: string format: date-time type: description: Describes the method of addition for the item - `manual` if it was manually added to the collection, dynamic if it matches collection's filter expression. default: manual allOf: - $ref: '#/components/schemas/CollectionItemType' required: - id CollectionItemListPutOnMissingParam: title: CollectionItemListPutOnMissingParam enum: - IGNORE - FAIL - CREATE type: string CollectionItemListPutBody: title: CollectionItemListPutBody type: object properties: items: title: Items description: A list of item IDs to add to the collection. maxItems: 100 type: array items: $ref: '#/components/schemas/CollectionItemBase' required: - items additionalProperties: false CollectionItemBase: title: CollectionItemBase type: object properties: id: title: Id description: The ID of the item, must be unique. examples: - nike-shoes - product-123 minLength: 1 maxLength: 250 type: string source: title: Source description: Arbitrary identifier of the source of the item manually added to the collection. examples: - manual_upload - api_sync minLength: 1 maxLength: 250 type: string variation_ids: title: Variation IDs description: List of variation IDs to include in this collection for the item. If not provided, all variations of the item are included. maxItems: 20 type: array items: type: string minLength: 1 maxLength: 250 examples: - var-red - var-blue required: - id additionalProperties: false CollectionItemListPutResponse: title: CollectionItemListPutResponse type: object properties: items: title: Items type: array items: $ref: '#/components/schemas/CollectionItemResponse' required: - items additionalProperties: false CollectionItemListDeleteBody: title: CollectionItemListDeleteBody type: object properties: items: title: Items description: 'A list of item ids to delete from the collection. Warning: If no body or an empty body is provided, all items in the collection will be deleted.' minItems: 1 maxItems: 100 type: array items: $ref: '#/components/schemas/CollectionItemBase' required: - items additionalProperties: false CollectionItemListDeleteResponse: title: CollectionItemListDeleteResponse type: object properties: items: title: Items type: array items: $ref: '#/components/schemas/CollectionItemResponse' required: - items additionalProperties: false SortOrderType: title: SortOrderType enum: - ascending - descending type: string CollectionListGetResponse: title: CollectionListGetResponse type: object properties: collections: title: Collections type: array items: $ref: '#/components/schemas/CollectionResponse' total_count: title: Total Count minimum: 0 type: integer required: - collections - total_count additionalProperties: false CollectionResponse: title: CollectionResponse type: object properties: id: title: ID description: ID of the collection. minLength: 1 maxLength: 100 type: string display_name: title: Display Name description: Name of the collection to be displayed to end users. examples: - Summer Sale - Halloween Baking Mixes minLength: 1 maxLength: 100 type: string filter_expression: title: Filter expression description: '[Filter expression](/reference/shared-filter-expressions) associated with this collection.' examples: - name: brand value: Nike - and: - name: price range: - 10 - 100 - name: color value: red allOf: - $ref: '#/components/schemas/DictOrJsonStringWithDict' data: title: Data description: 'Object containing additional data, that should be attached to this collection. The maximum size of data object is limited to 200kb. ' examples: - key: value - promo_code: SUMMER20 type: object discoverable: title: Discoverable description: When true, the collection is discoverable in autocomplete and search. default: false examples: - false - true type: boolean matches: title: Matches description: A list of terms associated with this collection for matching purposes. maxItems: 50 type: array items: $ref: '#/components/schemas/CollectionMatchResponse' start_time: title: Start Time description: ISO-8601 string in UTC defining start time when the collection becomes active. Any specified timezone will be omitted. type: string format: date-time end_time: title: End Time description: ISO-8601 string in UTC defining start time when the collection becomes inactive. Any specified timezone will be omitted. type: string format: date-time overridden_collection_id: title: Overridden Collection ID description: The ID of the base collection that this collection overrides. An overriding collection temporarily replaces the content of a base collection during a scheduled time window. Only base collections (collections with `overridden_collection_id` set to `null`) can be overridden. minLength: 1 maxLength: 100 type: string created_at: title: Created At description: Collection creation date in ISO 8601 format. Present only for manually added collections. type: string format: date-time updated_at: title: Updated At description: Last collection update date in ISO 8601 format. Present only for manually added collections. type: string format: date-time required: - id - display_name - created_at additionalProperties: false CollectionListPostBody: title: CollectionListPostBody type: object properties: id: title: Id description: ID of the collection, must be unique. examples: - summer-sale - halloween-baking-mixes minLength: 1 maxLength: 100 type: string display_name: title: Display Name description: Name of the collection to be displayed to end users. examples: - Summer Sale - Halloween Baking Mixes minLength: 1 maxLength: 100 type: string filter_expression: title: Filter expression description: '[Filter expression](/reference/shared-filter-expressions) associated with this collection.' examples: - name: brand value: Nike - and: - name: price range: - 10 - 100 - name: color value: red allOf: - $ref: '#/components/schemas/DictOrJsonStringWithDict' data: title: Data description: 'Object containing additional data, that should be attached to this collection. The maximum size of data object is limited to 200kb. ' examples: - key: value - promo_code: SUMMER20 type: object discoverable: title: Discoverable description: When true, the collection is discoverable in autocomplete and search. default: false examples: - false - true type: boolean matches: title: Matches description: A list of terms associated with this collection for matching purposes. maxItems: 50 type: array items: $ref: '#/components/schemas/CollectionMatch' start_time: title: Start Time description: ISO-8601 string in UTC defining start time when the collection becomes active. Any specified timezone will be omitted. examples: - '2025-12-10T10:00:00' type: string format: date-time end_time: title: End Time description: ISO-8601 string in UTC defining start time when the collection becomes inactive. Any specified timezone will be omitted. examples: - '2025-12-31T23:59:59' type: string format: date-time overridden_collection_id: title: Overridden Collection ID description: The ID of the base collection that this collection overrides. An overriding collection temporarily replaces the content of a base collection during a scheduled time window. Only base collections (collections with `overridden_collection_id` set to `null`) can be overridden. examples: - overridden-collection - sales minLength: 1 maxLength: 100 type: string required: - id - display_name additionalProperties: false CollectionListPostResponse: title: CollectionListPostResponse type: object properties: id: title: ID description: ID of the collection. minLength: 1 maxLength: 100 type: string display_name: title: Display Name description: Name of the collection to be displayed to end users. examples: - Summer Sale - Halloween Baking Mixes minLength: 1 maxLength: 100 type: string filter_expression: title: Filter expression description: '[Filter expression](/reference/shared-filter-expressions) associated with this collection.' examples: - name: brand value: Nike - and: - name: price range: - 10 - 100 - name: color value: red allOf: - $ref: '#/components/schemas/DictOrJsonStringWithDict' data: title: Data description: 'Object containing additional data, that should be attached to this collection. The maximum size of data object is limited to 200kb. ' examples: - key: value - promo_code: SUMMER20 type: object discoverable: title: Discoverable description: When true, the collection is discoverable in autocomplete and search. default: false examples: - false - true type: boolean matches: title: Matches description: A list of terms associated with this collection for matching purposes. maxItems: 50 type: array items: $ref: '#/components/schemas/CollectionMatchResponse' start_time: title: Start Time description: ISO-8601 string in UTC defining start time when the collection becomes active. Any specified timezone will be omitted. type: string format: date-time end_time: title: End Time description: ISO-8601 string in UTC defining start time when the collection becomes inactive. Any specified timezone will be omitted. type: string format: date-time overridden_collection_id: title: Overridden Collection ID description: The ID of the base collection that this collection overrides. An overriding collection temporarily replaces the content of a base collection during a scheduled time window. Only base collections (collections with `overridden_collection_id` set to `null`) can be overridden. minLength: 1 maxLength: 100 type: string created_at: title: Created At description: Collection creation date in ISO 8601 format. Present only for manually added collections. type: string format: date-time updated_at: title: Updated At description: Last collection update date in ISO 8601 format. Present only for manually added collections. type: string format: date-time required: - id - display_name - created_at additionalProperties: false RedirectRuleGetResponse: title: RedirectRuleGetResponse type: object properties: id: title: Id description: The identifier for the redirect rule match. type: integer start_time: title: Start Time description: The start time for the redirect rule. type: string format: date-time end_time: title: End Time description: The end time for the redirect rule. type: string format: date-time url: title: Target Url description: The target URL for redirect the rule. type: string metadata: title: Metadata Json description: The metadata for the redirect rule. type: object last_updated: title: Last Updated description: The last updated time for the redirect rule. type: string format: date-time user_segments: title: User Segments description: A list of user segments for the redirect rule. type: array items: type: string matches: title: Matches Dicts description: A list of redirect rule matches. type: array items: $ref: '#/components/schemas/RedirectRuleMatchResponse' required: - id - url - matches additionalProperties: false RedirectRuleMatchResponse: title: RedirectRuleMatchResponse type: object properties: pattern: title: Pattern description: The pattern for the redirect rule match. examples: - take me here - summer sale minLength: 1 maxLength: 255 type: string match_type: title: Match Type description: The match type for the redirect rule. examples: - EXACT - PHRASE - UNORDERED enum: - EXACT - PHRASE - UNORDERED type: string id: title: Id description: The identifier for the redirect rule match. type: integer required: - pattern - match_type - id additionalProperties: false RedirectRulePutBody: title: RedirectRulePutBody type: object properties: url: title: Url description: The target URL for the redirect rule. examples: - /landing-page - /promotions/summer-sale minLength: 1 maxLength: 1000 type: string matches: title: Matches description: A list of redirect rule matches. minItems: 1 maxItems: 300 type: array items: $ref: '#/components/schemas/RedirectRuleMatchRequest' start_time: title: Start Time description: The start time for the redirect rule. examples: - '2025-01-01T00:00:00' type: string format: date-time end_time: title: End Time description: The end time for redirect rule. examples: - '2025-12-31T23:59:59' type: string format: date-time user_segments: title: User Segments description: A list of user segments for the redirect rule. minItems: 1 type: array items: type: string examples: - premium - vip metadata: title: Metadata description: The metadata for the redirect rule. examples: - campaign: summer type: object required: - url - matches additionalProperties: false RedirectRuleMatchRequest: title: RedirectRuleMatchRequest type: object properties: pattern: title: Pattern description: The pattern for the redirect rule match. examples: - take me here - summer sale minLength: 1 maxLength: 255 type: string match_type: title: Match Type description: The match type for the redirect rule. examples: - EXACT - PHRASE - UNORDERED enum: - EXACT - PHRASE - UNORDERED type: string required: - pattern - match_type additionalProperties: false RedirectRulePutResponse: title: RedirectRulePutResponse type: object properties: id: title: Id description: The identifier for the redirect rule match. type: integer start_time: title: Start Time description: The start time for the redirect rule. type: string format: date-time end_time: title: End Time description: The end time for the redirect rule. type: string format: date-time url: title: Target Url description: The target URL for redirect the rule. type: string metadata: title: Metadata Json description: The metadata for the redirect rule. type: object last_updated: title: Last Updated description: The last updated time for the redirect rule. type: string format: date-time user_segments: title: User Segments description: A list of user segments for the redirect rule. type: array items: type: string matches: title: Matches Dicts description: A list of redirect rule matches. type: array items: $ref: '#/components/schemas/RedirectRuleMatchResponse' required: - id - url - matches additionalProperties: false RedirectRulePatchBody: title: RedirectRulePatchBody type: object properties: url: title: Url description: The target URL for the redirect rule. examples: - /landing-page - /promotions/summer-sale minLength: 1 maxLength: 1000 type: string matches: title: Matches description: A list of redirect rule matches. minItems: 1 maxItems: 300 type: array items: $ref: '#/components/schemas/RedirectRuleMatchRequest' start_time: title: Start Time description: The start time for the redirect rule. examples: - '2025-01-01T00:00:00' type: string format: date-time end_time: title: End Time description: The end time for redirect rule. examples: - '2025-12-31T23:59:59' type: string format: date-time user_segments: title: User Segments description: A list of user segments for the redirect rule. minItems: 1 type: array items: type: string examples: - premium - vip metadata: title: Metadata description: The metadata for the redirect rule. examples: - campaign: summer type: object additionalProperties: false RedirectRulePatchResponse: title: RedirectRulePatchResponse type: object properties: id: title: Id description: The identifier for the redirect rule match. type: integer start_time: title: Start Time description: The start time for the redirect rule. type: string format: date-time end_time: title: End Time description: The end time for the redirect rule. type: string format: date-time url: title: Target Url description: The target URL for redirect the rule. type: string metadata: title: Metadata Json description: The metadata for the redirect rule. type: object last_updated: title: Last Updated description: The last updated time for the redirect rule. type: string format: date-time user_segments: title: User Segments description: A list of user segments for the redirect rule. type: array items: type: string matches: title: Matches Dicts description: A list of redirect rule matches. type: array items: $ref: '#/components/schemas/RedirectRuleMatchResponse' required: - id - url - matches additionalProperties: false RedirectRuleDeleteResponse: title: RedirectRuleDeleteResponse type: object properties: id: title: Id description: The identifier for the redirect rule match. type: integer start_time: title: Start Time description: The start time for the redirect rule. type: string format: date-time end_time: title: End Time description: The end time for the redirect rule. type: string format: date-time url: title: Target Url description: The target URL for redirect the rule. type: string metadata: title: Metadata Json description: The metadata for the redirect rule. type: object last_updated: title: Last Updated description: The last updated time for the redirect rule. type: string format: date-time user_segments: title: User Segments description: A list of user segments for the redirect rule. type: array items: type: string matches: title: Matches Dicts description: A list of redirect rule matches. type: array items: $ref: '#/components/schemas/RedirectRuleMatchResponse' required: - id - url - matches additionalProperties: false RedirectRuleListGetResponse: title: RedirectRuleListGetResponse type: object properties: redirect_rules: title: Redirect Rules description: A list of redirect rules. type: array items: $ref: '#/components/schemas/RedirectRule' total_count: title: Total Count description: The total count of redirect rules. type: integer required: - redirect_rules - total_count additionalProperties: false RedirectRule: title: RedirectRule type: object properties: id: title: Id description: The identifier for the redirect rule match. type: integer start_time: title: Start Time description: The start time for the redirect rule. type: string format: date-time end_time: title: End Time description: The end time for the redirect rule. type: string format: date-time url: title: Target Url description: The target URL for redirect the rule. type: string metadata: title: Metadata Json description: The metadata for the redirect rule. type: object last_updated: title: Last Updated description: The last updated time for the redirect rule. type: string format: date-time user_segments: title: User Segments description: A list of user segments for the redirect rule. type: array items: type: string matches: title: Matches Dicts description: A list of redirect rule matches. type: array items: $ref: '#/components/schemas/RedirectRuleMatchResponse' required: - id - url - matches additionalProperties: false RedirectRuleListPostBody: title: RedirectRuleListPostBody type: object properties: url: title: Url description: The target URL for the redirect rule. examples: - /landing-page - /promotions/summer-sale minLength: 1 maxLength: 1000 type: string matches: title: Matches description: A list of redirect rule matches. minItems: 1 maxItems: 300 type: array items: $ref: '#/components/schemas/RedirectRuleMatchRequest' start_time: title: Start Time description: The start time for the redirect rule. examples: - '2025-01-01T00:00:00' type: string format: date-time end_time: title: End Time description: The end time for redirect rule. examples: - '2025-12-31T23:59:59' type: string format: date-time user_segments: title: User Segments description: A list of user segments for the redirect rule. minItems: 1 type: array items: type: string examples: - premium - vip metadata: title: Metadata description: The metadata for the redirect rule. examples: - campaign: summer type: object required: - url - matches additionalProperties: false RedirectRuleListPostResponse: title: RedirectRuleListPostResponse type: object properties: id: title: Id description: The identifier for the redirect rule match. type: integer start_time: title: Start Time description: The start time for the redirect rule. type: string format: date-time end_time: title: End Time description: The end time for the redirect rule. type: string format: date-time url: title: Target Url description: The target URL for redirect the rule. type: string metadata: title: Metadata Json description: The metadata for the redirect rule. type: object last_updated: title: Last Updated description: The last updated time for the redirect rule. type: string format: date-time user_segments: title: User Segments description: A list of user segments for the redirect rule. type: array items: type: string matches: title: Matches Dicts description: A list of redirect rule matches. type: array items: $ref: '#/components/schemas/RedirectRuleMatchResponse' required: - id - url - matches additionalProperties: false FacetGetResponse: title: FacetGetResponse type: object properties: options: title: Options description: A list of facet option configurations to create and associate with this facet configuration. Default value is `[]` (empty list). default: [] type: array items: $ref: '#/components/schemas/FacetOption' name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string type: description: Type of facet. Use `multiple` to display the facet as categorical values (for example, a Brand facet with values of Under Armour, Adidas and Puma) and `range` to display as a numeric range. You must use `range` when you want to display a slider, as well as when you want to display a list of range buckets. examples: - multiple - range allOf: - $ref: '#/components/schemas/FacetType' display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: description: Format of `range` facets. Determines whether the facet is configured to display as a slider (in which case the search endpoint will return only min & max values) or as a list of buckets. `boundaries` for sliders, `options` for buckets. Default value is `null`. examples: - boundaries - options allOf: - $ref: '#/components/schemas/FacetRangeFormat' range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Default value is `null`. examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. examples: - false - true type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. minimum: 0 maximum: 4000 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object created_at: title: Created At description: Facet creation date and time in ISO 8601 format type: string format: date-time updated_at: title: Updated At description: Last facet update date and time in ISO 8601 format. type: string format: date-time required: - created_at additionalProperties: false FacetOption: title: FacetOption type: object properties: value: title: Value description: A value for this facet option. Must be unique for particular facet. maxLength: 200 examples: - Red - Blue type: string value_alias: title: Value Alias description: A value alias. It is used to merge several different but semantically similar facet options into one. For example, 'dark blue' and 'light blue' can be aliased to 'blue'. maxLength: 200 examples: - blue - red type: string replace_value_alias: title: Replace Value Alias description: Determines the handling of a value alias when present. If set to `true`, exclusively considers the aliased value. If `false`, both the original and the aliased values are used. default: true examples: - true - false type: boolean display_name: title: Display Name description: A display name for this facet option. maxLength: 200 examples: - Bright Red - Navy Blue type: string position: title: Position description: Used to order facet options. examples: - 1 - 5 type: integer data: title: Data description: Dictionary with any extra facet option data. Default value is `null`. examples: - hex: '#FF0000' - swatch_url: http://example.com/swatch.png type: object hidden: title: Hidden description: Specifies whether the facet option is hidden from users. default: false examples: - false - true type: boolean required: - value additionalProperties: false FacetType: title: FacetType enum: - multiple - range - hierarchical type: string FacetOptionSortOrder: title: FacetOptionSortOrder enum: - relevance - value - num_matches type: string FacetRangeType: title: FacetRangeType enum: - static type: string FacetRangeFormat: title: FacetRangeFormat enum: - boundaries - options type: string FacetRangeInclusionType: title: FacetRangeInclusionType enum: - above - below type: string FilterMatchType: title: FilterMatchType enum: - any - all - none type: string FacetPutRequestBody: title: FacetPutRequestBody discriminator: propertyName: type mapping: multiple: '#/components/schemas/MultipleFacet' hierarchical: '#/components/schemas/HierarchicalFacet' range: '#/components/schemas/RangeFacet' oneOf: - $ref: '#/components/schemas/MultipleFacet' - $ref: '#/components/schemas/HierarchicalFacet' - $ref: '#/components/schemas/RangeFacet' MultipleFacet: title: Multiple facet type: object properties: options: title: Options description: A list of facet option configurations to create and associate with this facet configuration. Default value is `[]` (empty list). default: [] type: array items: $ref: '#/components/schemas/FacetOption' name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string type: title: Type enum: - multiple type: string display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. default: relevance examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' default: false examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: description: Format of `range` facets. Determines whether the facet is configured to display as a slider (in which case the search endpoint will return only min & max values) or as a list of buckets. `boundaries` for sliders, `options` for buckets. Default value is `null`. examples: - boundaries - options allOf: - $ref: '#/components/schemas/FacetRangeFormat' range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' default: any examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Default value is `null`. examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. default: false examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. default: false examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. default: true examples: - false - true type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. examples: - 300 - 500 minimum: 0 maximum: 2000 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object required: - name - type additionalProperties: false HierarchicalFacet: title: Hierarchical facet type: object properties: options: title: Options description: A list of facet option configurations to create and associate with this facet configuration. Default value is `[]` (empty list). default: [] type: array items: $ref: '#/components/schemas/FacetOption' name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string type: title: Type enum: - hierarchical type: string display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. default: relevance examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' default: false examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: description: Format of `range` facets. Determines whether the facet is configured to display as a slider (in which case the search endpoint will return only min & max values) or as a list of buckets. `boundaries` for sliders, `options` for buckets. Default value is `null`. examples: - boundaries - options allOf: - $ref: '#/components/schemas/FacetRangeFormat' range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' default: any examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Default value is `null`. examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. default: false examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. default: false examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. default: true examples: - false - true type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. examples: - 300 - 500 minimum: 0 maximum: 2000 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object required: - name - type additionalProperties: false BoundariesRangeFacet: title: Boundaries range facet type: object properties: options: title: Options description: A list of facet option configurations to create and associate with this facet configuration. Default value is `[]` (empty list). default: [] type: array items: $ref: '#/components/schemas/FacetOption' name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string type: title: Type enum: - range type: string display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. default: relevance examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' default: false examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. default: static examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: title: Range Format enum: - boundaries type: string range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' default: any examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Default value is `null`. examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. default: false examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. default: false examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. default: true examples: - false - true type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. examples: - 300 - 500 minimum: 0 maximum: 2000 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object required: - name - type - range_format additionalProperties: false OptionsRangeFacet: title: Options range facet type: object properties: options: title: Options description: A list of facet option configurations to create and associate with this facet configuration. Default value is `[]` (empty list). default: [] type: array items: $ref: '#/components/schemas/FacetOption' name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string type: title: Type enum: - range type: string display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. default: relevance examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' default: false examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. default: static examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: title: Range Format enum: - options type: string range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' default: any examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Default value is `null`. examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. default: false examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. default: false examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. default: true examples: - false - true type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. examples: - 300 - 500 minimum: 0 maximum: 2000 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object required: - name - type - range_format - range_limits additionalProperties: false RangeFacet: title: Range facet discriminator: propertyName: range_format mapping: boundaries: '#/components/schemas/BoundariesRangeFacet' options: '#/components/schemas/OptionsRangeFacet' oneOf: - $ref: '#/components/schemas/BoundariesRangeFacet' - $ref: '#/components/schemas/OptionsRangeFacet' FacetPutResponse: title: FacetPutResponse type: object properties: options: title: Options description: A list of facet option configurations to create and associate with this facet configuration. Default value is `[]` (empty list). default: [] type: array items: $ref: '#/components/schemas/FacetOption' name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string type: description: Type of facet. Use `multiple` to display the facet as categorical values (for example, a Brand facet with values of Under Armour, Adidas and Puma) and `range` to display as a numeric range. You must use `range` when you want to display a slider, as well as when you want to display a list of range buckets. examples: - multiple - range allOf: - $ref: '#/components/schemas/FacetType' display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: description: Format of `range` facets. Determines whether the facet is configured to display as a slider (in which case the search endpoint will return only min & max values) or as a list of buckets. `boundaries` for sliders, `options` for buckets. Default value is `null`. examples: - boundaries - options allOf: - $ref: '#/components/schemas/FacetRangeFormat' range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Default value is `null`. examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. examples: - false - true type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. minimum: 0 maximum: 4000 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object created_at: title: Created At description: Facet creation date and time in ISO 8601 format type: string format: date-time updated_at: title: Updated At description: Last facet update date and time in ISO 8601 format. type: string format: date-time required: - created_at additionalProperties: false FacetPatchRequestBody: title: FacetPatchRequestBody type: object properties: options: title: Options description: A list of facet option configurations to create and associate with this facet configuration. Default value is `[]` (empty list). default: [] type: array items: $ref: '#/components/schemas/FacetOption' name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string type: description: Type of facet. Use `multiple` to display the facet as categorical values (for example, a Brand facet with values of Under Armour, Adidas and Puma) and `range` to display as a numeric range. You must use `range` when you want to display a slider, as well as when you want to display a list of range buckets. examples: - multiple - range allOf: - $ref: '#/components/schemas/FacetType' display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: description: Format of `range` facets. Determines whether the facet is configured to display as a slider (in which case the search endpoint will return only min & max values) or as a list of buckets. `boundaries` for sliders, `options` for buckets. Default value is `null`. examples: - boundaries - options allOf: - $ref: '#/components/schemas/FacetRangeFormat' range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Default value is `null`. examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. examples: - false - true type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. examples: - 300 - 500 minimum: 0 maximum: 2000 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object additionalProperties: false FacetPatchResponse: title: FacetPatchResponse type: object properties: options: title: Options description: A list of facet option configurations to create and associate with this facet configuration. Default value is `[]` (empty list). default: [] type: array items: $ref: '#/components/schemas/FacetOption' name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string type: description: Type of facet. Use `multiple` to display the facet as categorical values (for example, a Brand facet with values of Under Armour, Adidas and Puma) and `range` to display as a numeric range. You must use `range` when you want to display a slider, as well as when you want to display a list of range buckets. examples: - multiple - range allOf: - $ref: '#/components/schemas/FacetType' display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: description: Format of `range` facets. Determines whether the facet is configured to display as a slider (in which case the search endpoint will return only min & max values) or as a list of buckets. `boundaries` for sliders, `options` for buckets. Default value is `null`. examples: - boundaries - options allOf: - $ref: '#/components/schemas/FacetRangeFormat' range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Default value is `null`. examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. examples: - false - true type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. minimum: 0 maximum: 4000 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object created_at: title: Created At description: Facet creation date and time in ISO 8601 format type: string format: date-time updated_at: title: Updated At description: Last facet update date and time in ISO 8601 format. type: string format: date-time required: - created_at additionalProperties: false FacetDeleteResponse: title: FacetDeleteResponse type: object properties: options: title: Options description: A list of facet option configurations to create and associate with this facet configuration. Default value is `[]` (empty list). default: [] type: array items: $ref: '#/components/schemas/FacetOption' name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string type: description: Type of facet. Use `multiple` to display the facet as categorical values (for example, a Brand facet with values of Under Armour, Adidas and Puma) and `range` to display as a numeric range. You must use `range` when you want to display a slider, as well as when you want to display a list of range buckets. examples: - multiple - range allOf: - $ref: '#/components/schemas/FacetType' display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: description: Format of `range` facets. Determines whether the facet is configured to display as a slider (in which case the search endpoint will return only min & max values) or as a list of buckets. `boundaries` for sliders, `options` for buckets. Default value is `null`. examples: - boundaries - options allOf: - $ref: '#/components/schemas/FacetRangeFormat' range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Default value is `null`. examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. examples: - false - true type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. minimum: 0 maximum: 4000 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object created_at: title: Created At description: Facet creation date and time in ISO 8601 format type: string format: date-time updated_at: title: Updated At description: Last facet update date and time in ISO 8601 format. type: string format: date-time required: - created_at additionalProperties: false FacetListGetResponse: title: FacetListGetResponse type: object properties: facets: title: Facets description: A list of facets. type: array items: $ref: '#/components/schemas/FacetResponse' total_count: title: Total Count description: Total count of facets. type: integer required: - facets - total_count additionalProperties: false FacetResponse: title: FacetResponse type: object properties: name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string type: description: Type of facet. Use `multiple` to display the facet as categorical values (for example, a Brand facet with values of Under Armour, Adidas and Puma) and `range` to display as a numeric range. You must use `range` when you want to display a slider, as well as when you want to display a list of range buckets. examples: - multiple - range allOf: - $ref: '#/components/schemas/FacetType' display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: description: Format of `range` facets. Determines whether the facet is configured to display as a slider (in which case the search endpoint will return only min & max values) or as a list of buckets. `boundaries` for sliders, `options` for buckets. Default value is `null`. examples: - boundaries - options allOf: - $ref: '#/components/schemas/FacetRangeFormat' range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Default value is `null`. examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. examples: - false - true type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. minimum: 0 maximum: 4000 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object created_at: title: Created At description: Facet creation date and time in ISO 8601 format type: string format: date-time updated_at: title: Updated At description: Last facet update date and time in ISO 8601 format. type: string format: date-time required: - created_at additionalProperties: false FacetListPostRequestBody: title: FacetListPostRequestBody discriminator: propertyName: type mapping: multiple: '#/components/schemas/MultipleFacet' hierarchical: '#/components/schemas/HierarchicalFacet' range: '#/components/schemas/RangeFacet' oneOf: - $ref: '#/components/schemas/MultipleFacet' - $ref: '#/components/schemas/HierarchicalFacet' - $ref: '#/components/schemas/RangeFacet' FacetListPostResponse: title: FacetListPostResponse type: object properties: options: title: Options description: A list of facet option configurations to create and associate with this facet configuration. Default value is `[]` (empty list). default: [] type: array items: $ref: '#/components/schemas/FacetOption' name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string type: description: Type of facet. Use `multiple` to display the facet as categorical values (for example, a Brand facet with values of Under Armour, Adidas and Puma) and `range` to display as a numeric range. You must use `range` when you want to display a slider, as well as when you want to display a list of range buckets. examples: - multiple - range allOf: - $ref: '#/components/schemas/FacetType' display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: description: Format of `range` facets. Determines whether the facet is configured to display as a slider (in which case the search endpoint will return only min & max values) or as a list of buckets. `boundaries` for sliders, `options` for buckets. Default value is `null`. examples: - boundaries - options allOf: - $ref: '#/components/schemas/FacetRangeFormat' range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Default value is `null`. examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. examples: - false - true type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. minimum: 0 maximum: 4000 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object created_at: title: Created At description: Facet creation date and time in ISO 8601 format type: string format: date-time updated_at: title: Updated At description: Last facet update date and time in ISO 8601 format. type: string format: date-time required: - created_at additionalProperties: false FacetListPatchRequestBody: title: FacetListPatchRequestBody description: A list of facets with fields that should be updated. maxItems: 1000 type: array items: $ref: '#/components/schemas/BatchFacetPartial' additionalProperties: false BatchFacetPartial: title: BatchFacetPartial type: object properties: name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string type: description: Type of facet. Use `multiple` to display the facet as categorical values (for example, a Brand facet with values of Under Armour, Adidas and Puma) and `range` to display as a numeric range. You must use `range` when you want to display a slider, as well as when you want to display a list of range buckets. examples: - multiple - range allOf: - $ref: '#/components/schemas/FacetType' display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: description: Format of `range` facets. Determines whether the facet is configured to display as a slider (in which case the search endpoint will return only min & max values) or as a list of buckets. `boundaries` for sliders, `options` for buckets. Default value is `null`. examples: - boundaries - options allOf: - $ref: '#/components/schemas/FacetRangeFormat' range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Default value is `null`. examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. examples: - false - true type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. examples: - 300 - 500 minimum: 0 maximum: 2000 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object required: - name additionalProperties: false FacetListPatchResponse: title: FacetListPatchResponse description: A list of facets type: array items: $ref: '#/components/schemas/FacetWithOptionsResponse' additionalProperties: false FacetWithOptionsResponse: title: FacetWithOptionsResponse type: object properties: options: title: Options description: A list of facet option configurations to create and associate with this facet configuration. Default value is `[]` (empty list). default: [] type: array items: $ref: '#/components/schemas/FacetOption' name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string type: description: Type of facet. Use `multiple` to display the facet as categorical values (for example, a Brand facet with values of Under Armour, Adidas and Puma) and `range` to display as a numeric range. You must use `range` when you want to display a slider, as well as when you want to display a list of range buckets. examples: - multiple - range allOf: - $ref: '#/components/schemas/FacetType' display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: description: Format of `range` facets. Determines whether the facet is configured to display as a slider (in which case the search endpoint will return only min & max values) or as a list of buckets. `boundaries` for sliders, `options` for buckets. Default value is `null`. examples: - boundaries - options allOf: - $ref: '#/components/schemas/FacetRangeFormat' range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Default value is `null`. examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. examples: - false - true type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. minimum: 0 maximum: 4000 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object created_at: title: Created At description: Facet creation date and time in ISO 8601 format type: string format: date-time updated_at: title: Updated At description: Last facet update date and time in ISO 8601 format. type: string format: date-time required: - created_at additionalProperties: false FacetListPutRequestBody: title: FacetListPutRequestBody type: object properties: facets: title: Facets description: A list of facets with fields that should be created or replaced. maxItems: 25 type: array items: $ref: '#/components/schemas/FacetWithOptions' examples: - - name: Brand type: multiple display_name: Brand Name - name: Price type: range range_format: boundaries required: - facets additionalProperties: false FacetWithOptions: title: FacetWithOptions type: object properties: options: title: Options description: A list of facet option configurations to create and associate with this facet configuration. Default value is `[]` (empty list). default: [] maxItems: 2000 type: array items: $ref: '#/components/schemas/FacetOption' name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string type: description: Type of facet. Use `multiple` to display the facet as categorical values (for example, a Brand facet with values of Under Armour, Adidas and Puma) and `range` to display as a numeric range. You must use `range` when you want to display a slider, as well as when you want to display a list of range buckets. examples: - multiple - range allOf: - $ref: '#/components/schemas/FacetType' display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. default: relevance examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' default: false examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: description: Format of `range` facets. Determines whether the facet is configured to display as a slider (in which case the search endpoint will return only min & max values) or as a list of buckets. `boundaries` for sliders, `options` for buckets. Default value is `null`. examples: - boundaries - options allOf: - $ref: '#/components/schemas/FacetRangeFormat' range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' default: any examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Default value is `null`. examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. default: false examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. default: false examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. default: true examples: - false - true type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. examples: - 300 - 500 minimum: 0 maximum: 2000 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object required: - name - type additionalProperties: false FacetListPutResponse: title: FacetListPutResponse type: object properties: facets: title: Facets description: A list of facets. type: array items: $ref: '#/components/schemas/FacetResponse' required: - facets additionalProperties: false FacetListV2GetResponse: title: FacetListV2GetResponse type: object properties: facets: title: Facets description: A list of facets. type: array items: $ref: '#/components/schemas/FacetResponseV2' total_count: title: Total Count description: Total count of facets. examples: - 10 - 100 type: integer required: - facets - total_count additionalProperties: false FacetResponseV2: title: FacetResponseV2 type: object properties: name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string path_in_metadata: title: Path In Metadata description: The path in metadata of each item where this facet is present. Must be unique inside the section and key. maxLength: 300 minLength: 1 examples: - data.brand - data.attributes.color type: string type: description: Type of facet. Use `multiple` to display the facet as categorical values (for example, a Brand facet with values of Under Armour, Adidas and Puma) and `range` to display as a numeric range. You must use `range` when you want to display a slider, as well as when you want to display a list of range buckets. examples: - multiple - range allOf: - $ref: '#/components/schemas/FacetType' display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: description: Format of `range` facets. Determines whether the facet is configured to display as a slider (in which case the search endpoint will return only min & max values) or as a list of buckets. `boundaries` for sliders, `options` for buckets. Default value is `null`. examples: - boundaries - options allOf: - $ref: '#/components/schemas/FacetRangeFormat' range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Must be >= 1. Default value is `null`. examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. examples: - true - false type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. minimum: 0 maximum: 4000 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object created_at: title: Created At description: Facet creation date and time in ISO 8601 format type: string format: date-time updated_at: title: Updated At description: Last facet update date and time in ISO 8601 format. type: string format: date-time required: - created_at additionalProperties: false FacetListV2PostRequestBody: title: FacetListV2PostRequestBody discriminator: propertyName: type mapping: multiple: '#/components/schemas/MultipleFacetV2' hierarchical: '#/components/schemas/HierarchicalFacetV2' range: '#/components/schemas/RangeFacetV2' oneOf: - $ref: '#/components/schemas/MultipleFacetV2' - $ref: '#/components/schemas/HierarchicalFacetV2' - $ref: '#/components/schemas/RangeFacetV2' MultipleFacetV2: title: Multiple facet type: object properties: name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string path_in_metadata: title: Path In Metadata description: The path in metadata of each item where this facet is present. Must be unique inside the section and key. maxLength: 300 minLength: 1 examples: - data.brand - data.attributes.color type: string type: title: Type enum: - multiple type: string display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. default: relevance examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' default: false examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: description: Format of `range` facets. Determines whether the facet is configured to display as a slider (in which case the search endpoint will return only min & max values) or as a list of buckets. `boundaries` for sliders, `options` for buckets. Default value is `null`. examples: - boundaries - options allOf: - $ref: '#/components/schemas/FacetRangeFormat' range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' default: any examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Must be >= 1. Default value is `null`. examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. default: false examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. default: false examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. default: true examples: - true - false type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. minimum: 0 maximum: 2000 examples: - 300 - 500 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object required: - name - path_in_metadata - type additionalProperties: false HierarchicalFacetV2: title: Hierarchical facet type: object properties: name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string path_in_metadata: title: Path In Metadata description: The path in metadata of each item where this facet is present. Must be unique inside the section and key. maxLength: 300 minLength: 1 examples: - data.brand - data.attributes.color type: string type: title: Type enum: - hierarchical type: string display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. default: relevance examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' default: false examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: description: Format of `range` facets. Determines whether the facet is configured to display as a slider (in which case the search endpoint will return only min & max values) or as a list of buckets. `boundaries` for sliders, `options` for buckets. Default value is `null`. examples: - boundaries - options allOf: - $ref: '#/components/schemas/FacetRangeFormat' range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' default: any examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Must be >= 1. Default value is `null`. examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. default: false examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. default: false examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. default: true examples: - true - false type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. minimum: 0 maximum: 2000 examples: - 300 - 500 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object required: - name - path_in_metadata - type additionalProperties: false BoundariesRangeFacetV2: title: Boundaries range facet type: object properties: name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string path_in_metadata: title: Path In Metadata description: The path in metadata of each item where this facet is present. Must be unique inside the section and key. maxLength: 300 minLength: 1 examples: - data.brand - data.attributes.color type: string type: title: Type enum: - range type: string display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. default: relevance examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' default: false examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. default: static examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: title: Range Format enum: - boundaries type: string range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' default: any examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Must be >= 1. Default value is `null`. examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. default: false examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. default: false examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. default: true examples: - true - false type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. minimum: 0 maximum: 2000 examples: - 300 - 500 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object required: - name - path_in_metadata - type - range_format additionalProperties: false OptionsRangeFacetV2: title: Options range facet type: object properties: name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string path_in_metadata: title: Path In Metadata description: The path in metadata of each item where this facet is present. Must be unique inside the section and key. maxLength: 300 minLength: 1 examples: - data.brand - data.attributes.color type: string type: title: Type enum: - range type: string display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. default: relevance examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' default: false examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. default: static examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: title: Range Format enum: - options type: string range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' default: any examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Must be >= 1. Default value is `null`. examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. default: false examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. default: false examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. default: true examples: - true - false type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. minimum: 0 maximum: 2000 examples: - 300 - 500 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object required: - name - path_in_metadata - type - range_format - range_limits additionalProperties: false RangeFacetV2: title: Range facet discriminator: propertyName: range_format mapping: boundaries: '#/components/schemas/BoundariesRangeFacetV2' options: '#/components/schemas/OptionsRangeFacetV2' oneOf: - $ref: '#/components/schemas/BoundariesRangeFacetV2' - $ref: '#/components/schemas/OptionsRangeFacetV2' FacetListV2PostResponse: title: FacetListV2PostResponse type: object properties: name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string path_in_metadata: title: Path In Metadata description: The path in metadata of each item where this facet is present. Must be unique inside the section and key. maxLength: 300 minLength: 1 examples: - data.brand - data.attributes.color type: string type: description: Type of facet. Use `multiple` to display the facet as categorical values (for example, a Brand facet with values of Under Armour, Adidas and Puma) and `range` to display as a numeric range. You must use `range` when you want to display a slider, as well as when you want to display a list of range buckets. examples: - multiple - range allOf: - $ref: '#/components/schemas/FacetType' display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: description: Format of `range` facets. Determines whether the facet is configured to display as a slider (in which case the search endpoint will return only min & max values) or as a list of buckets. `boundaries` for sliders, `options` for buckets. Default value is `null`. examples: - boundaries - options allOf: - $ref: '#/components/schemas/FacetRangeFormat' range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Must be >= 1. Default value is `null`. examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. examples: - true - false type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. minimum: 0 maximum: 4000 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object created_at: title: Created At description: Facet creation date and time in ISO 8601 format type: string format: date-time updated_at: title: Updated At description: Last facet update date and time in ISO 8601 format. type: string format: date-time required: - created_at additionalProperties: false FacetListV2PatchRequestBody: title: FacetListV2PatchRequestBody type: object properties: facets: title: Facets description: A list of facets with fields that should be created or replaced. maxItems: 1000 type: array items: $ref: '#/components/schemas/BatchFacetPartialV2' required: - facets additionalProperties: false BatchFacetPartialV2: title: BatchFacetPartialV2 type: object properties: name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string path_in_metadata: title: Path In Metadata description: The path in metadata of each item where this facet is present. Must be unique inside the section and key. maxLength: 300 minLength: 1 examples: - data.brand - data.attributes.color type: string type: description: Type of facet. Use `multiple` to display the facet as categorical values (for example, a Brand facet with values of Under Armour, Adidas and Puma) and `range` to display as a numeric range. You must use `range` when you want to display a slider, as well as when you want to display a list of range buckets. examples: - multiple - range allOf: - $ref: '#/components/schemas/FacetType' display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: description: Format of `range` facets. Determines whether the facet is configured to display as a slider (in which case the search endpoint will return only min & max values) or as a list of buckets. `boundaries` for sliders, `options` for buckets. Default value is `null`. examples: - boundaries - options allOf: - $ref: '#/components/schemas/FacetRangeFormat' range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Default value is `null`. minimum: 1 examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. examples: - true - false type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. minimum: 0 maximum: 2000 examples: - 300 - 500 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object required: - name additionalProperties: false FacetListV2PatchResponse: title: FacetListV2PatchResponse type: object properties: facets: title: Facets description: A list of facets. type: array items: $ref: '#/components/schemas/FacetResponseV2' required: - facets additionalProperties: false FacetListV2PutRequestBody: title: FacetListV2PutRequestBody type: object properties: facets: title: Facets description: A list of facets with fields that should be created or replaced. maxItems: 25 type: array items: $ref: '#/components/schemas/FacetV2' examples: - - name: Brand type: multiple path_in_metadata: data.brand display_name: Brand Name - name: Price type: range path_in_metadata: data.price range_format: boundaries required: - facets additionalProperties: false FacetV2: title: FacetV2 type: object properties: name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string path_in_metadata: title: Path In Metadata description: The path in metadata of each item where this facet is present. Must be unique inside the section and key. maxLength: 300 minLength: 1 examples: - data.brand - data.attributes.color type: string type: description: Type of facet. Use `multiple` to display the facet as categorical values (for example, a Brand facet with values of Under Armour, Adidas and Puma) and `range` to display as a numeric range. You must use `range` when you want to display a slider, as well as when you want to display a list of range buckets. examples: - multiple - range allOf: - $ref: '#/components/schemas/FacetType' display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. default: relevance examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' default: false examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: description: Format of `range` facets. Determines whether the facet is configured to display as a slider (in which case the search endpoint will return only min & max values) or as a list of buckets. `boundaries` for sliders, `options` for buckets. Default value is `null`. examples: - boundaries - options allOf: - $ref: '#/components/schemas/FacetRangeFormat' range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' default: any examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Must be >= 1. Default value is `null`. examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. default: false examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. default: false examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. default: true examples: - true - false type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. minimum: 0 maximum: 2000 examples: - 300 - 500 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object required: - name - path_in_metadata - type additionalProperties: false FacetListV2PutResponse: title: FacetListV2PutResponse type: object properties: facets: title: Facets description: A list of facets. type: array items: $ref: '#/components/schemas/FacetResponseV2' required: - facets additionalProperties: false FacetOptionGetResponse: title: FacetOptionGetResponse type: object properties: value: title: Value description: A value for this facet option. Must be unique for particular facet. maxLength: 200 examples: - Red - Blue type: string value_alias: title: Value Alias description: A value alias. It is used to merge several different but semantically similar facet options into one. For example, 'dark blue' and 'light blue' can be aliased to 'blue'. maxLength: 200 examples: - blue - red type: string replace_value_alias: title: Replace Value Alias description: Determines the handling of a value alias when present. If set to `true`, exclusively considers the aliased value. If `false`, both the original and the aliased values are used. default: true examples: - true - false type: boolean display_name: title: Display Name description: A display name for this facet option. maxLength: 200 examples: - Bright Red - Navy Blue type: string position: title: Position description: Used to order facet options. examples: - 1 - 5 type: integer data: title: Data description: Dictionary with any extra facet option data. Default value is `null`. examples: - hex: '#FF0000' - swatch_url: http://example.com/swatch.png type: object hidden: title: Hidden description: Specifies whether the facet option is hidden from users. default: false examples: - false - true type: boolean required: - value additionalProperties: false FacetOptionPutRequestBody: title: FacetOptionPutRequestBody type: object properties: value: title: Value description: A value for this facet option. Must be unique for particular facet. maxLength: 200 examples: - Red - Blue type: string value_alias: title: Value Alias description: A value alias. It is used to merge several different but semantically similar facet options into one. For example, 'dark blue' and 'light blue' can be aliased to 'blue'. maxLength: 200 examples: - blue - red type: string replace_value_alias: title: Replace Value Alias description: Determines the handling of a value alias when present. If set to `true`, exclusively considers the aliased value. If `false`, both the original and the aliased values are used. default: true examples: - true - false type: boolean display_name: title: Display Name description: A display name for this facet option. maxLength: 200 examples: - Bright Red - Navy Blue type: string position: title: Position description: Used to order facet options. examples: - 1 - 5 type: integer data: title: Data description: Dictionary with any extra facet option data. Default value is `null`. examples: - hex: '#FF0000' - swatch_url: http://example.com/swatch.png type: object hidden: title: Hidden description: Specifies whether the facet option is hidden from users. default: false examples: - false - true type: boolean required: - value additionalProperties: false FacetOptionPutResponse: title: FacetOptionPutResponse type: object properties: value: title: Value description: A value for this facet option. Must be unique for particular facet. maxLength: 200 examples: - Red - Blue type: string value_alias: title: Value Alias description: A value alias. It is used to merge several different but semantically similar facet options into one. For example, 'dark blue' and 'light blue' can be aliased to 'blue'. maxLength: 200 examples: - blue - red type: string replace_value_alias: title: Replace Value Alias description: Determines the handling of a value alias when present. If set to `true`, exclusively considers the aliased value. If `false`, both the original and the aliased values are used. default: true examples: - true - false type: boolean display_name: title: Display Name description: A display name for this facet option. maxLength: 200 examples: - Bright Red - Navy Blue type: string position: title: Position description: Used to order facet options. examples: - 1 - 5 type: integer data: title: Data description: Dictionary with any extra facet option data. Default value is `null`. examples: - hex: '#FF0000' - swatch_url: http://example.com/swatch.png type: object hidden: title: Hidden description: Specifies whether the facet option is hidden from users. default: false examples: - false - true type: boolean required: - value additionalProperties: false FacetOptionPatchRequestBody: title: FacetOptionPatchRequestBody type: object properties: value: title: Value description: A value for this facet option. Must be unique for particular facet. maxLength: 200 examples: - Red - Blue type: string value_alias: title: Value Alias description: A value alias. It is used to merge several different but semantically similar facet options into one. For example, 'dark blue' and 'light blue' can be aliased to 'blue'. maxLength: 200 examples: - blue - red type: string replace_value_alias: title: Replace Value Alias description: Determines the handling of a value alias when present. If set to `true`, exclusively considers the aliased value. If `false`, both the original and the aliased values are used. default: true examples: - true - false type: boolean display_name: title: Display Name description: A display name for this facet option. maxLength: 200 examples: - Bright Red - Navy Blue type: string position: title: Position description: Used to order facet options. examples: - 1 - 5 type: integer data: title: Data description: Dictionary with any extra facet option data. Default value is `null`. examples: - hex: '#FF0000' - swatch_url: http://example.com/swatch.png type: object hidden: title: Hidden description: Specifies whether the facet option is hidden from users. default: false examples: - false - true type: boolean additionalProperties: false FacetOptionPatchResponse: title: FacetOptionPatchResponse type: object properties: value: title: Value description: A value for this facet option. Must be unique for particular facet. maxLength: 200 examples: - Red - Blue type: string value_alias: title: Value Alias description: A value alias. It is used to merge several different but semantically similar facet options into one. For example, 'dark blue' and 'light blue' can be aliased to 'blue'. maxLength: 200 examples: - blue - red type: string replace_value_alias: title: Replace Value Alias description: Determines the handling of a value alias when present. If set to `true`, exclusively considers the aliased value. If `false`, both the original and the aliased values are used. default: true examples: - true - false type: boolean display_name: title: Display Name description: A display name for this facet option. maxLength: 200 examples: - Bright Red - Navy Blue type: string position: title: Position description: Used to order facet options. examples: - 1 - 5 type: integer data: title: Data description: Dictionary with any extra facet option data. Default value is `null`. examples: - hex: '#FF0000' - swatch_url: http://example.com/swatch.png type: object hidden: title: Hidden description: Specifies whether the facet option is hidden from users. default: false examples: - false - true type: boolean required: - value additionalProperties: false FacetOptionDeleteResponse: title: FacetOptionDeleteResponse type: object properties: value: title: Value description: A value for this facet option. Must be unique for particular facet. maxLength: 200 examples: - Red - Blue type: string value_alias: title: Value Alias description: A value alias. It is used to merge several different but semantically similar facet options into one. For example, 'dark blue' and 'light blue' can be aliased to 'blue'. maxLength: 200 examples: - blue - red type: string replace_value_alias: title: Replace Value Alias description: Determines the handling of a value alias when present. If set to `true`, exclusively considers the aliased value. If `false`, both the original and the aliased values are used. default: true examples: - true - false type: boolean display_name: title: Display Name description: A display name for this facet option. maxLength: 200 examples: - Bright Red - Navy Blue type: string position: title: Position description: Used to order facet options. examples: - 1 - 5 type: integer data: title: Data description: Dictionary with any extra facet option data. Default value is `null`. examples: - hex: '#FF0000' - swatch_url: http://example.com/swatch.png type: object hidden: title: Hidden description: Specifies whether the facet option is hidden from users. default: false examples: - false - true type: boolean required: - value additionalProperties: false FacetOptionListFilters: title: FacetOptionListFilters type: object properties: value_alias: title: Value Alias description: Value alias to filter by. examples: - blue - red minLength: 1 maxLength: 200 type: string additionalProperties: false FacetOptionListGetResponse: title: FacetOptionListGetResponse type: object properties: facet_options: title: Facet Options description: A list of facet options. type: array items: $ref: '#/components/schemas/FacetOption' total_count: title: Total Count description: Total count of facet options. type: integer required: - facet_options - total_count additionalProperties: false FacetOptionListPostRequestBody: title: FacetOptionListPostRequestBody type: object properties: value: title: Value description: A value for this facet option. Must be unique for particular facet. maxLength: 200 examples: - Red - Blue type: string value_alias: title: Value Alias description: A value alias. It is used to merge several different but semantically similar facet options into one. For example, 'dark blue' and 'light blue' can be aliased to 'blue'. maxLength: 200 examples: - blue - red type: string replace_value_alias: title: Replace Value Alias description: Determines the handling of a value alias when present. If set to `true`, exclusively considers the aliased value. If `false`, both the original and the aliased values are used. default: true examples: - true - false type: boolean display_name: title: Display Name description: A display name for this facet option. maxLength: 200 examples: - Bright Red - Navy Blue type: string position: title: Position description: Used to order facet options. examples: - 1 - 5 type: integer data: title: Data description: Dictionary with any extra facet option data. Default value is `null`. examples: - hex: '#FF0000' - swatch_url: http://example.com/swatch.png type: object hidden: title: Hidden description: Specifies whether the facet option is hidden from users. default: false examples: - false - true type: boolean required: - value additionalProperties: false FacetOptionListPostResponse: title: FacetOptionListPostResponse type: object properties: value: title: Value description: A value for this facet option. Must be unique for particular facet. maxLength: 200 examples: - Red - Blue type: string value_alias: title: Value Alias description: A value alias. It is used to merge several different but semantically similar facet options into one. For example, 'dark blue' and 'light blue' can be aliased to 'blue'. maxLength: 200 examples: - blue - red type: string replace_value_alias: title: Replace Value Alias description: Determines the handling of a value alias when present. If set to `true`, exclusively considers the aliased value. If `false`, both the original and the aliased values are used. default: true examples: - true - false type: boolean display_name: title: Display Name description: A display name for this facet option. maxLength: 200 examples: - Bright Red - Navy Blue type: string position: title: Position description: Used to order facet options. examples: - 1 - 5 type: integer data: title: Data description: Dictionary with any extra facet option data. Default value is `null`. examples: - hex: '#FF0000' - swatch_url: http://example.com/swatch.png type: object hidden: title: Hidden description: Specifies whether the facet option is hidden from users. default: false examples: - false - true type: boolean required: - value additionalProperties: false FacetOptionListPatchRequestBody: title: FacetOptionListPatchRequestBody description: A list of facet options that should be updated. maxItems: 1000 type: array items: $ref: '#/components/schemas/FacetOption' additionalProperties: false FacetOptionListPatchResponse: title: FacetOptionListPatchResponse description: A list of facet options type: array items: $ref: '#/components/schemas/FacetOption' additionalProperties: false FacetV2GetResponse: title: FacetV2GetResponse type: object properties: name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string path_in_metadata: title: Path In Metadata description: The path in metadata of each item where this facet is present. Must be unique inside the section and key. maxLength: 300 minLength: 1 examples: - data.brand - data.attributes.color type: string type: description: Type of facet. Use `multiple` to display the facet as categorical values (for example, a Brand facet with values of Under Armour, Adidas and Puma) and `range` to display as a numeric range. You must use `range` when you want to display a slider, as well as when you want to display a list of range buckets. examples: - multiple - range allOf: - $ref: '#/components/schemas/FacetType' display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: description: Format of `range` facets. Determines whether the facet is configured to display as a slider (in which case the search endpoint will return only min & max values) or as a list of buckets. `boundaries` for sliders, `options` for buckets. Default value is `null`. examples: - boundaries - options allOf: - $ref: '#/components/schemas/FacetRangeFormat' range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Must be >= 1. Default value is `null`. examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. examples: - true - false type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. minimum: 0 maximum: 4000 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object created_at: title: Created At description: Facet creation date and time in ISO 8601 format type: string format: date-time updated_at: title: Updated At description: Last facet update date and time in ISO 8601 format. type: string format: date-time required: - created_at additionalProperties: false FacetV2PutRequestBody: title: FacetV2PutRequestBody discriminator: propertyName: type mapping: multiple: '#/components/schemas/MultipleFacetV2' hierarchical: '#/components/schemas/HierarchicalFacetV2' range: '#/components/schemas/RangeFacetV2' oneOf: - $ref: '#/components/schemas/MultipleFacetV2' - $ref: '#/components/schemas/HierarchicalFacetV2' - $ref: '#/components/schemas/RangeFacetV2' FacetV2PutResponse: title: FacetV2PutResponse type: object properties: name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string path_in_metadata: title: Path In Metadata description: The path in metadata of each item where this facet is present. Must be unique inside the section and key. maxLength: 300 minLength: 1 examples: - data.brand - data.attributes.color type: string type: description: Type of facet. Use `multiple` to display the facet as categorical values (for example, a Brand facet with values of Under Armour, Adidas and Puma) and `range` to display as a numeric range. You must use `range` when you want to display a slider, as well as when you want to display a list of range buckets. examples: - multiple - range allOf: - $ref: '#/components/schemas/FacetType' display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: description: Format of `range` facets. Determines whether the facet is configured to display as a slider (in which case the search endpoint will return only min & max values) or as a list of buckets. `boundaries` for sliders, `options` for buckets. Default value is `null`. examples: - boundaries - options allOf: - $ref: '#/components/schemas/FacetRangeFormat' range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Must be >= 1. Default value is `null`. examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. examples: - true - false type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. minimum: 0 maximum: 4000 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object created_at: title: Created At description: Facet creation date and time in ISO 8601 format type: string format: date-time updated_at: title: Updated At description: Last facet update date and time in ISO 8601 format. type: string format: date-time required: - created_at additionalProperties: false FacetV2PatchRequestBody: title: FacetV2PatchRequestBody type: object properties: name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string path_in_metadata: title: Path In Metadata description: The path in metadata of each item where this facet is present. Must be unique inside the section and key. maxLength: 300 minLength: 1 examples: - data.brand - data.attributes.color type: string type: description: Type of facet. Use `multiple` to display the facet as categorical values (for example, a Brand facet with values of Under Armour, Adidas and Puma) and `range` to display as a numeric range. You must use `range` when you want to display a slider, as well as when you want to display a list of range buckets. examples: - multiple - range allOf: - $ref: '#/components/schemas/FacetType' display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: description: Format of `range` facets. Determines whether the facet is configured to display as a slider (in which case the search endpoint will return only min & max values) or as a list of buckets. `boundaries` for sliders, `options` for buckets. Default value is `null`. examples: - boundaries - options allOf: - $ref: '#/components/schemas/FacetRangeFormat' range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Default value is `null`. minimum: 1 examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. examples: - true - false type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. minimum: 0 maximum: 2000 examples: - 300 - 500 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object additionalProperties: false FacetV2PatchResponse: title: FacetV2PatchResponse type: object properties: name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string path_in_metadata: title: Path In Metadata description: The path in metadata of each item where this facet is present. Must be unique inside the section and key. maxLength: 300 minLength: 1 examples: - data.brand - data.attributes.color type: string type: description: Type of facet. Use `multiple` to display the facet as categorical values (for example, a Brand facet with values of Under Armour, Adidas and Puma) and `range` to display as a numeric range. You must use `range` when you want to display a slider, as well as when you want to display a list of range buckets. examples: - multiple - range allOf: - $ref: '#/components/schemas/FacetType' display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: description: Format of `range` facets. Determines whether the facet is configured to display as a slider (in which case the search endpoint will return only min & max values) or as a list of buckets. `boundaries` for sliders, `options` for buckets. Default value is `null`. examples: - boundaries - options allOf: - $ref: '#/components/schemas/FacetRangeFormat' range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Must be >= 1. Default value is `null`. examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. examples: - true - false type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. minimum: 0 maximum: 4000 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object created_at: title: Created At description: Facet creation date and time in ISO 8601 format type: string format: date-time updated_at: title: Updated At description: Last facet update date and time in ISO 8601 format. type: string format: date-time required: - created_at additionalProperties: false FacetV2DeleteResponse: title: FacetV2DeleteResponse type: object properties: name: title: Name description: The facet name used to refer to the facet in your catalog. Must be unique inside the section and key. maxLength: 100 minLength: 1 examples: - Brand - Color type: string path_in_metadata: title: Path In Metadata description: The path in metadata of each item where this facet is present. Must be unique inside the section and key. maxLength: 300 minLength: 1 examples: - data.brand - data.attributes.color type: string type: description: Type of facet. Use `multiple` to display the facet as categorical values (for example, a Brand facet with values of Under Armour, Adidas and Puma) and `range` to display as a numeric range. You must use `range` when you want to display a slider, as well as when you want to display a list of range buckets. examples: - multiple - range allOf: - $ref: '#/components/schemas/FacetType' display_name: title: Display Name description: The name of the facet to present to end users. Default value is `null`, in which case the `name` will be presented. maxLength: 200 examples: - Brand Name - Size type: string sort_order: description: Determines the default criterion by which options of this facet group are sorted. Must be one of `relevance`, `value` (to sort facet options alphanumerically), `num_matches` (to sort facet options by number of matching results). Default value is `relevance`. Sort can be overridden by setting the `position` attribute on facet options. examples: - relevance - value - num_matches allOf: - $ref: '#/components/schemas/FacetOptionSortOrder' sort_descending: title: Sort Descending description: '`true` if this facet group''s options should be sorted in descending order, `false` to sort ascending. Default value is `true` if `sort_order` is `relevance` or `num_matches` and `false` for `value`. Setting `sort_order: relevance` will set `sort_descending: true` for `POST`, `PUT`, `PATCH` endpoints if `sort_descending` is not explicitly set in the request.' examples: - true - false type: boolean range_type: description: Should be `static` if a facet is configured as `range`. If the facet is not configured as a range, value will be `null`. Default value is null. examples: - static allOf: - $ref: '#/components/schemas/FacetRangeType' range_format: description: Format of `range` facets. Determines whether the facet is configured to display as a slider (in which case the search endpoint will return only min & max values) or as a list of buckets. `boundaries` for sliders, `options` for buckets. Default value is `null`. examples: - boundaries - options allOf: - $ref: '#/components/schemas/FacetRangeFormat' range_inclusive: description: Used to create inclusive buckets. For example, for a `rating` facet, you might want to display options like `1 and above`, `2 and above`, `3 and above`, etc. Values can be either `above` (options have no upper bound), `below` (options have no lower bound), or `null` if range options should not be inclusive. Default value is `null` examples: - above - below allOf: - $ref: '#/components/schemas/FacetRangeInclusionType' range_limits: title: Range Limits description: Defines the cut-off points for generating static range buckets. Expects list of sorted numbers (like `[10, 25, 40]`). Default value is `null` minItems: 1 maxItems: 24 type: array items: anyOf: - type: integer - type: number examples: - 10 - 25 - 40 match_type: description: 'Match types specify the behavior of filters when multiple options of the same facet (e.g: color: yellow & blue) are selected. Specifies whether the results must match all options, any of them or none.' examples: - any - all - none allOf: - $ref: '#/components/schemas/FilterMatchType' position: title: Position description: Used to slot facet groups to fixed positions. Must be >= 1. Default value is `null`. examples: - 1 - 5 type: integer hidden: title: Hidden description: Specifies whether the facet is hidden from users. Use this for facet data that you don't want shown to end users, but that isn't sensitive. examples: - false - true type: boolean protected: title: Protected description: Specifies whether the facet is protected from users. Setting this to `true` will require authentication to view the facet. examples: - false - true type: boolean countable: title: Countable description: Specifies whether counts for each facet option should be calculated and shown in the response. Setting this to `false` will skip counting these options, improving performance for facets with high cardinality. examples: - true - false type: boolean options_limit: title: Options Limit description: Maximum number of options of facet type `multiple` to return in search responses. If absent, the default limit is applied. minimum: 0 maximum: 4000 type: integer default: 500 data: title: Data description: Dictionary with any extra facet data. Default value is `{}` (empty dictionary). examples: - key: value - config_key: config_value type: object created_at: title: Created At description: Facet creation date and time in ISO 8601 format type: string format: date-time updated_at: title: Updated At description: Last facet update date and time in ISO 8601 format. type: string format: date-time required: - created_at additionalProperties: false MetadataOverridesListGetResponse: title: MetadataOverridesListGetResponse type: object properties: metadata_overrides: title: Metadata Overrides description: List of metadata override configurations. default: [] type: array items: $ref: '#/components/schemas/MetadataOverridesResponseBase' total_count: title: Total Count description: Total number of metadata override configurations. minimum: 0 type: integer required: - total_count additionalProperties: false MetadataOverridesRuleResponseBase: title: MetadataOverridesRuleResponseBase type: object properties: start_time: title: Start Time description: Datetime (In UTC) when the rule should be enabled. Overlapping rules are not allowed. examples: - '2024-03-06T16:05:19' type: string format: date-time end_time: title: End Time description: Datetime (In UTC) when the rule should be disabled. Overlapping rules are not allowed. examples: - '2024-03-07T16:05:19' type: string format: date-time replaced_field_name: title: Replaced Field Name description: Field name that the rule is replacing. maxLength: 100 minLength: 1 examples: - price - description type: string replaced_field_path_in_metadata: title: Replaced Field Path In Metadata description: Path to the replacement field in metadata. maxLength: 300 minLength: 1 examples: - data.sale_price - data.promo_description type: string required: - start_time - end_time - replaced_field_name - replaced_field_path_in_metadata MetadataOverridesResponseBase: title: MetadataOverridesResponseBase type: object properties: field_name: title: Field Name description: Field name associated with the metadata override configuration. maxLength: 100 minLength: 1 type: string field_path_in_metadata: title: Field Path In Metadata description: Path to the field in metadata where the metadata override configuration is applied. maxLength: 300 minLength: 1 type: string rules: title: Rules description: List of rules associated with metadata override configuration. minItems: 1 type: array items: $ref: '#/components/schemas/MetadataOverridesRuleResponseBase' required: - field_name - rules MetadataOverridesListPostBody: title: MetadataOverridesListPostBody type: object properties: field_name: title: Field Name description: Field name associated with the metadata override configuration. maxLength: 100 minLength: 1 examples: - price - description type: string field_path_in_metadata: title: Field Path In Metadata description: Path to the field in metadata where the metadata override configuration is applied. maxLength: 300 minLength: 1 examples: - data.price - data.description type: string rules: title: Rules description: List of rules associated with the metadata override configuration. In total, there can be a maximum of 5 rules per key. minItems: 1 maxItems: 5 type: array items: $ref: '#/components/schemas/MetadataOverridesRuleBase' required: - field_name - field_path_in_metadata - rules additionalProperties: false MetadataOverridesRuleBase: title: MetadataOverridesRuleBase type: object properties: start_time: title: Start Time description: Datetime (In UTC) when the rule should be enabled. Overlapping rules are not allowed. examples: - '2024-03-06T16:05:19' type: string format: date-time end_time: title: End Time description: Datetime (In UTC) when the rule should be disabled. Overlapping rules are not allowed. examples: - '2024-03-07T16:05:19' type: string format: date-time replaced_field_name: title: Replaced Field Name description: Field name that the rule is replacing. maxLength: 100 minLength: 1 examples: - price - description type: string replaced_field_path_in_metadata: title: Replaced Field Path In Metadata description: Path to the replacement field in metadata. maxLength: 300 minLength: 1 examples: - data.sale_price - data.promo_description type: string required: - start_time - end_time - replaced_field_name - replaced_field_path_in_metadata additionalProperties: false MetadataOverridesListPostResponse: title: MetadataOverridesListPostResponse type: object properties: field_name: title: Field Name description: Field name associated with the metadata override configuration. maxLength: 100 minLength: 1 type: string field_path_in_metadata: title: Field Path In Metadata description: Path to the field in metadata where the metadata override configuration is applied. maxLength: 300 minLength: 1 type: string rules: title: Rules description: List of rules associated with metadata override configuration. minItems: 1 type: array items: $ref: '#/components/schemas/MetadataOverridesRuleResponseBase' required: - field_name - rules MetadataOverridesPatchBody: title: MetadataOverridesPatchBody type: object properties: field_path_in_metadata: title: Field Path In Metadata description: Path to the field in metadata where the metadata override configuration is applied. maxLength: 300 minLength: 1 type: string rules: title: Rules description: List of rules associated with the metadata override configuration. In total, there can be a maximum of 5 rules per key. minItems: 1 maxItems: 5 type: array items: $ref: '#/components/schemas/MetadataOverridesRuleBase' additionalProperties: false MetadataOverridesPatchResponse: title: MetadataOverridesPatchResponse type: object properties: field_name: title: Field Name description: Field name associated with the metadata override configuration. maxLength: 100 minLength: 1 type: string field_path_in_metadata: title: Field Path In Metadata description: Path to the field in metadata where the metadata override configuration is applied. maxLength: 300 minLength: 1 type: string rules: title: Rules description: List of rules associated with metadata override configuration. minItems: 1 type: array items: $ref: '#/components/schemas/MetadataOverridesRuleResponseBase' required: - field_name - rules MetadataOverridesDeleteResponse: title: MetadataOverridesDeleteResponse type: object properties: field_name: title: Field Name description: Field name associated with the metadata override configuration. maxLength: 100 minLength: 1 type: string field_path_in_metadata: title: Field Path In Metadata description: Path to the field in metadata where the metadata override configuration is applied. maxLength: 300 minLength: 1 type: string rules: title: Rules description: List of rules associated with metadata override configuration. minItems: 1 type: array items: $ref: '#/components/schemas/MetadataOverridesRuleResponseBase' required: - field_name - rules NgramRelationSortByType: title: NgramRelationSortByType enum: - created_at - updated_at - activated_at type: string Filters: title: Filters type: object properties: automatically_generated: title: Automatically Generated examples: - false - true type: boolean created_at_gt: title: Created At Gt examples: - '2024-01-01T00:00:00' type: string format: date-time OneWaySynonymV2GetResponse: title: OneWaySynonymV2GetResponse type: object properties: one_way_synonym_relations: title: One Way Synonym Relations description: A list of one way synonyms type: array items: $ref: '#/components/schemas/OneWaySynonymRelationV2' total_count: title: Total Count description: Total count of one way synonyms returned type: integer required: - one_way_synonym_relations - total_count additionalProperties: false PhraseResponse: title: PhraseResponse type: object properties: phrase: title: Related Ngram minLength: 1 maxLength: 200 type: string automatically_generated: title: Automatically Generated type: boolean created_at: title: Created At description: One way synonym creation date and time in ISO 8601 format type: string format: date-time updated_at: title: Updated At description: Last one way synonym update date and time in ISO 8601 format. type: string format: date-time activated_at: title: Activated At description: Last one way synonym update date and time in ISO 8601 format. type: string format: date-time required: - phrase additionalProperties: false OneWaySynonymRelationV2: title: OneWaySynonymRelationV2 type: object properties: parent_phrase: title: Parent Phrase minLength: 1 maxLength: 200 type: string child_phrases: title: Child Phrases type: array items: $ref: '#/components/schemas/PhraseResponse' required: - parent_phrase - child_phrases additionalProperties: false OneWaySynonymV2PutRequestBody: title: OneWaySynonymV2PutRequestBody type: object properties: child_phrases: title: Child Phrases minItems: 1 maxItems: 50 type: array items: $ref: '#/components/schemas/Phrase' required: - child_phrases additionalProperties: false Phrase: title: Phrase type: object properties: phrase: title: Phrase examples: - sneakers - running shoes minLength: 1 maxLength: 200 type: string required: - phrase additionalProperties: false OneWaySynonymV2PostRequestBody: title: OneWaySynonymV2PostRequestBody type: object properties: child_phrases: title: Child Phrases minItems: 1 maxItems: 50 type: array items: $ref: '#/components/schemas/Phrase' required: - child_phrases additionalProperties: false OneWaySynonymV2ListGetResponse: title: OneWaySynonymV2ListGetResponse type: object properties: one_way_synonym_relations: title: One Way Synonym Relations description: A list of one way synonyms type: array items: $ref: '#/components/schemas/OneWaySynonymRelationV2' total_count: title: Total Count description: Total count of one way synonyms returned type: integer required: - one_way_synonym_relations - total_count additionalProperties: false OneWaySynonymV2ListDeleteResponse: title: OneWaySynonymV2ListDeleteResponse type: object properties: message: title: Message description: Descriptive message of the deletion status type: string required: - message additionalProperties: false QuizGetResponse: title: QuizGetResponse type: object properties: display_name: title: Display Name description: Name of the quiz to be displayed to end users examples: - Product Finder Quiz - Size Selector minLength: 1 maxLength: 200 type: string active: title: Active description: Identifies whether quiz should be displayed or not default: true examples: - true - false type: boolean id: title: ID description: ID of the quiz. minLength: 1 maxLength: 255 type: string questions: title: Questions description: A list of questions of the quiz type: array items: discriminator: propertyName: question_type mapping: single: '#/components/schemas/SingleQuestionResponse' multiple: '#/components/schemas/MultipleQuestionResponse' single_filter_value: '#/components/schemas/SingleFilterValueQuestionResponse' multiple_filter_values: '#/components/schemas/MultipleFilterValuesQuestionResponse' open: '#/components/schemas/OpenQuestionResponse' cover: '#/components/schemas/CoverQuestionResponse' free_form: '#/components/schemas/FreeFormQuestionResponse' oneOf: - $ref: '#/components/schemas/SingleQuestionResponse' - $ref: '#/components/schemas/MultipleQuestionResponse' - $ref: '#/components/schemas/SingleFilterValueQuestionResponse' - $ref: '#/components/schemas/MultipleFilterValuesQuestionResponse' - $ref: '#/components/schemas/OpenQuestionResponse' - $ref: '#/components/schemas/CoverQuestionResponse' - $ref: '#/components/schemas/FreeFormQuestionResponse' logic: title: Logic description: Logic that is used when going through quiz type: object additionalProperties: type: array items: {} created_at: title: Created At description: Quiz creation date in ISO 8601 format type: string format: date-time updated_at: title: Updated At description: Last quiz update date in ISO 8601 format. type: string format: date-time results_config: title: Results Config description: Results configuration for the quiz allOf: - $ref: '#/components/schemas/ResultsConfig' metadata_json: title: Metadata Json description: Metadata related to the quiz and its questions. type: object pre_filter_expression: title: Pre Filter Expression description: Pre-filter expression to be applied to all questions. type: object required: - display_name - id - created_at - updated_at additionalProperties: false Images: title: Images type: object properties: primary_url: title: Primary Url description: Primary source of the image. maxLength: 255 minLength: 1 examples: - https://example.com/image.jpg type: string primary_alt: title: Primary Alt description: Alt text of the primary image. maxLength: 511 minLength: 1 examples: - Product image type: string secondary_url: title: Secondary Url description: Secondary source of the image. maxLength: 255 minLength: 1 examples: - https://example.com/image2.jpg type: string secondary_alt: title: Secondary Alt description: Alt text of the secondary image. maxLength: 511 minLength: 1 examples: - Alternative product view type: string additionalProperties: false OptionResponse: title: OptionResponse type: object properties: value: title: Value description: Value of the option. minLength: 1 examples: - Red - Blue type: string attribute: title: Attribute description: Attribute expression of the option. examples: - color: red type: object images: title: Images description: Images attached to the option. allOf: - $ref: '#/components/schemas/Images' key: title: Option Key description: Unique ID of the option type: string format: uuid required: - value SingleQuestionResponse: title: SingleQuestionResponse type: object properties: title: title: Title description: Title of the question. maxLength: 255 minLength: 1 examples: - What is your favorite color? - What size do you need? type: string question_type: title: Question Type enum: - single type: string description: title: Description description: Description of the question. maxLength: 2047 minLength: 1 examples: - Choose your preferred color type: string is_skippable: title: Is Skippable description: Identifies whether the question can be skipped or not default: false examples: - false - true type: boolean cta_text: title: Cta Text description: The name of the call-to-action button (e.g. next). examples: - Next - Continue type: string images: title: Images description: Images attached to the question. allOf: - $ref: '#/components/schemas/Images' internal_name: title: Internal Name description: Internal name of a question, this is for internal use only. examples: - q1_color - q2_size type: string bucket_id: title: Bucket Id description: Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR. examples: - 1 - 2 type: integer key: title: Question Key description: Unique ID of the question type: string format: uuid attribute_condition: title: Attribute Condition description: Always `null` type: - string - 'null' default: 'null' options: title: Options description: A list of options of the quiz. minItems: 1 maxItems: 30 type: array items: $ref: '#/components/schemas/OptionResponse' priority: title: Priority description: Defines which question's attributes should be dropped first in case of 0 results. The lower the number, the higher priority it has. E.g. if 0 results received, question's attributes with priority 10(lowest) will be dropped first hence question's attributes with priority 1(highest) will be dropped last. minimum: 1 maximum: 10 type: integer input_placeholder: title: Input Placeholder description: Always `null` type: - string - 'null' default: 'null' filter_name: title: Filter Name description: Always `null` type: - string - 'null' default: 'null' filter_sort_option: title: Filter Sort Option description: Filter sort option. Always `null` for single type questions type: - string - 'null' default: 'null' required: - title - question_type - options - priority QuizQuestionAttributeCondition: title: QuizQuestionAttributeCondition enum: - and - or type: string MultipleQuestionResponse: title: MultipleQuestionResponse type: object properties: title: title: Title description: Title of the question. maxLength: 255 minLength: 1 examples: - What is your favorite color? - What size do you need? type: string question_type: title: Question Type enum: - multiple type: string description: title: Description description: Description of the question. maxLength: 2047 minLength: 1 examples: - Choose your preferred color type: string is_skippable: title: Is Skippable description: Identifies whether the question can be skipped or not default: false examples: - false - true type: boolean cta_text: title: Cta Text description: The name of the call-to-action button (e.g. next). examples: - Next - Continue type: string images: title: Images description: Images attached to the question. allOf: - $ref: '#/components/schemas/Images' internal_name: title: Internal Name description: Internal name of a question, this is for internal use only. examples: - q1_color - q2_size type: string bucket_id: title: Bucket Id description: Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR. examples: - 1 - 2 type: integer key: title: Question Key description: Unique ID of the question type: string format: uuid attribute_condition: description: Defines how the results associated to this question will be joined to the previous ones, either with a union (`or`) or an intersection (`and`). allOf: - $ref: '#/components/schemas/QuizQuestionAttributeCondition' options: title: Options description: A list of options of the quiz. minItems: 1 maxItems: 30 type: array items: $ref: '#/components/schemas/OptionResponse' priority: title: Priority description: Defines which question's attributes should be dropped first in case of 0 results. The lower the number, the higher priority it has. E.g. if 0 results received, question's attributes with priority 10(lowest) will be dropped first hence question's attributes with priority 1(highest) will be dropped last. minimum: 1 maximum: 10 type: integer input_placeholder: title: Input Placeholder description: Always `null` type: - string - 'null' default: 'null' filter_name: title: Filter Name description: Always `null` type: - string - 'null' default: 'null' filter_sort_option: title: Filter Sort Option description: Filter sort option. Always `null` for multiple type questions type: - string - 'null' default: 'null' required: - title - question_type - attribute_condition - options - priority QuizFilterSortOption: title: QuizFilterSortOption enum: - most_matching_products - alphanumeric_asc - alphanumeric_desc type: string SingleFilterValueQuestionResponse: title: SingleFilterValueQuestionResponse type: object properties: title: title: Title description: Title of the question. maxLength: 255 minLength: 1 examples: - What is your favorite color? - What size do you need? type: string question_type: title: Question Type enum: - single_filter_value type: string description: title: Description description: Description of the question. maxLength: 2047 minLength: 1 examples: - Choose your preferred color type: string is_skippable: title: Is Skippable description: Identifies whether the question can be skipped or not default: false examples: - false - true type: boolean cta_text: title: Cta Text description: The name of the call-to-action button (e.g. next). examples: - Next - Continue type: string images: title: Images description: Images attached to the question. allOf: - $ref: '#/components/schemas/Images' internal_name: title: Internal Name description: Internal name of a question, this is for internal use only. examples: - q1_color - q2_size type: string bucket_id: title: Bucket Id description: Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR. examples: - 1 - 2 type: integer key: title: Question Key description: Unique ID of the question type: string format: uuid attribute_condition: title: Attribute Condition description: Always `null` type: - string - 'null' default: 'null' options: title: Options minItems: 0 maxItems: 0 type: array items: $ref: '#/components/schemas/OptionResponse' filter_name: title: Filter Name description: Name of the filter to use for this question. maxLength: 100 minLength: 1 type: string priority: title: Priority description: Defines which question's attributes should be dropped first in case of 0 results. The lower the number, the higher priority it has. E.g. if 0 results received, question's attributes with priority 10(lowest) will be dropped first hence question's attributes with priority 1(highest) will be dropped last. minimum: 1 maximum: 10 type: integer input_placeholder: title: Input Placeholder description: Always `null` type: - string - 'null' default: 'null' filter_sort_option: description: Determines how filter options should be sorted in quiz question. Defaults to `most_matching_products` if unspecified allOf: - $ref: '#/components/schemas/QuizFilterSortOption' excluded_filter_values: title: Excluded Filter Values description: List of filter values to exclude from being displayed to users maxItems: 100 type: array items: type: string minLength: 1 maxLength: 255 required: - title - question_type - filter_name - priority MultipleFilterValuesQuestionResponse: title: MultipleFilterValuesQuestionResponse type: object properties: title: title: Title description: Title of the question. maxLength: 255 minLength: 1 examples: - What is your favorite color? - What size do you need? type: string question_type: title: Question Type enum: - multiple_filter_values type: string description: title: Description description: Description of the question. maxLength: 2047 minLength: 1 examples: - Choose your preferred color type: string is_skippable: title: Is Skippable description: Identifies whether the question can be skipped or not default: false examples: - false - true type: boolean cta_text: title: Cta Text description: The name of the call-to-action button (e.g. next). examples: - Next - Continue type: string images: title: Images description: Images attached to the question. allOf: - $ref: '#/components/schemas/Images' internal_name: title: Internal Name description: Internal name of a question, this is for internal use only. examples: - q1_color - q2_size type: string bucket_id: title: Bucket Id description: Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR. examples: - 1 - 2 type: integer key: title: Question Key description: Unique ID of the question type: string format: uuid attribute_condition: description: Defines how the results associated to this question will be joined to the previous ones, either with a union (`or`) or an intersection (`and`). allOf: - $ref: '#/components/schemas/QuizQuestionAttributeCondition' options: title: Options minItems: 0 maxItems: 0 type: array items: $ref: '#/components/schemas/OptionResponse' filter_name: title: Filter Name description: Name of the filter to use for this question. maxLength: 100 minLength: 1 type: string priority: title: Priority description: Defines which question's attributes should be dropped first in case of 0 results. The lower the number, the higher priority it has. E.g. if 0 results received, question's attributes with priority 10(lowest) will be dropped first hence question's attributes with priority 1(highest) will be dropped last. minimum: 1 maximum: 10 type: integer input_placeholder: title: Input Placeholder description: Always `null` type: - string - 'null' default: 'null' filter_sort_option: description: Determines how filter options should be sorted in quiz question. Defaults to `most_matching_products` if unspecified default: most_matching_products allOf: - $ref: '#/components/schemas/QuizFilterSortOption' excluded_filter_values: title: Excluded Filter Values description: List of filter values to exclude from being displayed to users maxItems: 100 type: array items: type: string minLength: 1 maxLength: 255 required: - title - question_type - attribute_condition - filter_name - priority OpenQuestionResponse: title: OpenQuestionResponse type: object properties: title: title: Title description: Title of the question. maxLength: 255 minLength: 1 examples: - What is your favorite color? - What size do you need? type: string question_type: title: Question Type enum: - open type: string description: title: Description description: Description of the question. maxLength: 2047 minLength: 1 examples: - Choose your preferred color type: string is_skippable: title: Is Skippable description: Identifies whether the question can be skipped or not default: false examples: - false - true type: boolean cta_text: title: Cta Text description: The name of the call-to-action button (e.g. next). examples: - Next - Continue type: string images: title: Images description: Images attached to the question. allOf: - $ref: '#/components/schemas/Images' internal_name: title: Internal Name description: Internal name of a question, this is for internal use only. examples: - q1_color - q2_size type: string bucket_id: title: Bucket Id description: Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR. examples: - 1 - 2 type: integer key: title: Question Key description: Unique ID of the question type: string format: uuid options: title: Options minItems: 0 maxItems: 0 type: array items: $ref: '#/components/schemas/OptionResponse' attribute_condition: title: Attribute Condition description: Always `null` type: - string - 'null' default: 'null' input_placeholder: title: Input Placeholder description: Placeholder for open-text question input. maxLength: 255 minLength: 1 type: string priority: title: Priority description: Always `null` type: - string - 'null' default: 'null' filter_name: title: Filter Name description: Always `null` type: - string - 'null' default: 'null' filter_sort_option: title: Filter Sort Option description: Filter sort option. Always `null` for open type questions type: - string - 'null' default: 'null' required: - title - question_type CoverQuestionResponse: title: CoverQuestionResponse type: object properties: title: title: Title description: Title of the question. maxLength: 255 minLength: 1 examples: - What is your favorite color? - What size do you need? type: string question_type: title: Question Type enum: - cover type: string description: title: Description description: Description of the question. maxLength: 2047 minLength: 1 examples: - Choose your preferred color type: string is_skippable: title: Is Skippable enum: - false type: boolean cta_text: title: Cta Text description: The name of the call-to-action button (e.g. next). examples: - Next - Continue type: string images: title: Images description: Images attached to the question. allOf: - $ref: '#/components/schemas/Images' internal_name: title: Internal Name description: Internal name of a question, this is for internal use only. examples: - q1_color - q2_size type: string bucket_id: title: Bucket Id description: Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR. examples: - 1 - 2 type: integer key: title: Question Key description: Unique ID of the question type: string format: uuid options: title: Options minItems: 0 maxItems: 0 type: array items: $ref: '#/components/schemas/OptionResponse' input_placeholder: title: Input Placeholder description: Always `null` type: - string - 'null' default: 'null' attribute_condition: title: Attribute Condition description: Always `null` type: - string - 'null' default: 'null' priority: title: Priority description: Always `null` type: - string - 'null' default: 'null' filter_name: title: Filter Name description: Always `null` type: - string - 'null' default: 'null' filter_sort_option: title: Filter Sort Option description: Filter sort option. Always `null` for cover type questions type: - string - 'null' default: 'null' required: - title - question_type - is_skippable FreeFormQuestionResponse: title: FreeFormQuestionResponse type: object properties: title: title: Title description: Title of the question. maxLength: 255 minLength: 1 examples: - What is your favorite color? - What size do you need? type: string question_type: title: Question Type enum: - free_form type: string description: title: Description description: Description of the question. maxLength: 2047 minLength: 1 examples: - Choose your preferred color type: string is_skippable: title: Is Skippable description: Identifies whether the question can be skipped or not default: false examples: - false - true type: boolean cta_text: title: Cta Text description: The name of the call-to-action button (e.g. next). examples: - Next - Continue type: string images: title: Images description: Images attached to the question. allOf: - $ref: '#/components/schemas/Images' internal_name: title: Internal Name description: Internal name of a question, this is for internal use only. examples: - q1_color - q2_size type: string bucket_id: title: Bucket Id description: Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR. examples: - 1 - 2 type: integer key: title: Question Key description: Unique ID of the question type: string format: uuid options: title: Options minItems: 0 maxItems: 0 type: array items: $ref: '#/components/schemas/OptionResponse' attribute_condition: title: Attribute Condition description: Always `null` type: - string - 'null' default: 'null' input_placeholder: title: Input Placeholder description: Placeholder for free-form question input. maxLength: 255 minLength: 1 type: string priority: title: Priority description: Always `null` type: - string - 'null' default: 'null' filter_name: title: Filter Name description: Always `null` type: - string - 'null' default: 'null' filter_sort_option: title: Filter Sort Option description: Filter sort option. Always `null` for free form type questions type: - string - 'null' default: 'null' required: - title - question_type TitleConfig: title: TitleConfig type: object properties: text: title: Text minLength: 1 maxLength: 255 type: string is_active: title: Is Active type: boolean required: - text - is_active DescriptionConfig: title: DescriptionConfig type: object properties: text: title: Text minLength: 1 maxLength: 2000 type: string is_active: title: Is Active type: boolean required: - text - is_active ResponseSummaryConfig: title: ResponseSummaryConfig type: object properties: text: title: Text minLength: 1 maxLength: 2000 type: string is_active: title: Is Active type: boolean items_separator: title: Items Separator minLength: 1 maxLength: 2000 type: string last_separator: title: Last Separator minLength: 1 maxLength: 2000 type: string required: - text - is_active - items_separator - last_separator DeviceConfig: title: DeviceConfig type: object properties: title: $ref: '#/components/schemas/TitleConfig' description: $ref: '#/components/schemas/DescriptionConfig' response_summary: $ref: '#/components/schemas/ResponseSummaryConfig' ResultsConfig: title: ResultsConfig type: object properties: desktop: $ref: '#/components/schemas/DeviceConfig' required: - desktop QuizDeleteResponse: title: QuizDeleteResponse type: object properties: display_name: title: Display Name description: Name of the quiz to be displayed to end users examples: - Product Finder Quiz - Size Selector minLength: 1 maxLength: 200 type: string active: title: Active description: Identifies whether quiz should be displayed or not default: true examples: - true - false type: boolean id: title: ID description: ID of the quiz. minLength: 1 maxLength: 255 type: string questions: title: Questions description: A list of questions of the quiz type: array items: discriminator: propertyName: question_type mapping: single: '#/components/schemas/SingleQuestionResponse' multiple: '#/components/schemas/MultipleQuestionResponse' single_filter_value: '#/components/schemas/SingleFilterValueQuestionResponse' multiple_filter_values: '#/components/schemas/MultipleFilterValuesQuestionResponse' open: '#/components/schemas/OpenQuestionResponse' cover: '#/components/schemas/CoverQuestionResponse' free_form: '#/components/schemas/FreeFormQuestionResponse' oneOf: - $ref: '#/components/schemas/SingleQuestionResponse' - $ref: '#/components/schemas/MultipleQuestionResponse' - $ref: '#/components/schemas/SingleFilterValueQuestionResponse' - $ref: '#/components/schemas/MultipleFilterValuesQuestionResponse' - $ref: '#/components/schemas/OpenQuestionResponse' - $ref: '#/components/schemas/CoverQuestionResponse' - $ref: '#/components/schemas/FreeFormQuestionResponse' logic: title: Logic description: Logic that is used when going through quiz type: object additionalProperties: type: array items: {} created_at: title: Created At description: Quiz creation date in ISO 8601 format type: string format: date-time updated_at: title: Updated At description: Last quiz update date in ISO 8601 format. type: string format: date-time results_config: title: Results Config description: Results configuration for the quiz allOf: - $ref: '#/components/schemas/ResultsConfig' metadata_json: title: Metadata Json description: Metadata related to the quiz and its questions. type: object pre_filter_expression: title: Pre Filter Expression description: Pre-filter expression to be applied to all questions. type: object required: - display_name - id - created_at - updated_at additionalProperties: false QuizPutRequestBody: title: QuizPutRequestBody type: object properties: display_name: title: Display Name description: Name of the quiz to be displayed to end users examples: - Product Finder Quiz - Size Selector minLength: 1 maxLength: 200 type: string active: title: Active description: Identifies whether quiz should be displayed or not default: true type: boolean logic: title: Logic description: Logic that is used when going through quiz type: object additionalProperties: type: array items: {} questions: title: Questions description: A list of questions of the quiz default: [] type: array items: discriminator: propertyName: question_type mapping: single: '#/components/schemas/SingleQuestion' multiple: '#/components/schemas/MultipleQuestion' single_filter_value: '#/components/schemas/SingleFilterValueQuestion' multiple_filter_values: '#/components/schemas/MultipleFilterValuesQuestion' open: '#/components/schemas/OpenQuestion' cover: '#/components/schemas/CoverQuestion' free_form: '#/components/schemas/FreeFormQuestion' oneOf: - $ref: '#/components/schemas/SingleQuestion' - $ref: '#/components/schemas/MultipleQuestion' - $ref: '#/components/schemas/SingleFilterValueQuestion' - $ref: '#/components/schemas/MultipleFilterValuesQuestion' - $ref: '#/components/schemas/OpenQuestion' - $ref: '#/components/schemas/CoverQuestion' - $ref: '#/components/schemas/FreeFormQuestion' results_config: title: Results Config description: Results configuration for the quiz allOf: - $ref: '#/components/schemas/ResultsConfig' metadata_json: title: Metadata Json description: Metadata related to the quiz and its questions. type: object pre_filter_expression: title: Pre Filter Expression description: Pre-filter expression to be applied to all questions. type: object required: - display_name additionalProperties: false Option: title: Option type: object properties: value: title: Value description: Value of the option. minLength: 1 examples: - Red - Blue type: string attribute: title: Attribute description: Attribute expression of the option. examples: - color: red type: object images: title: Images description: Images attached to the option. allOf: - $ref: '#/components/schemas/Images' option_key: title: Key description: Unique ID of the option type: string format: uuid required: - value additionalProperties: false SingleQuestion: title: SingleQuestion type: object properties: title: title: Title description: Title of the question. maxLength: 255 minLength: 1 examples: - What is your favorite color? - What size do you need? type: string question_type: title: Question Type enum: - single type: string description: title: Description description: Description of the question. maxLength: 2047 minLength: 1 examples: - Choose your preferred color type: string is_skippable: title: Is Skippable description: Identifies whether the question can be skipped or not default: false examples: - false - true type: boolean cta_text: title: Cta Text description: The name of the call-to-action button (e.g. next). examples: - Next - Continue type: string images: title: Images description: Images attached to the question. allOf: - $ref: '#/components/schemas/Images' internal_name: title: Internal Name description: Internal name of a question, this is for internal use only. examples: - q1_color - q2_size type: string bucket_id: title: Bucket Id description: Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR. examples: - 1 - 2 type: integer question_key: title: Key description: Unique ID of the question type: string format: uuid options: title: Options description: A list of options of the quiz. minItems: 1 maxItems: 30 type: array items: $ref: '#/components/schemas/Option' priority: title: Priority description: Defines which question's attributes should be dropped first in case of 0 results. The lower the number, the higher priority it has. E.g. if 0 results received, question's attributes with priority 10(lowest) will be dropped first hence question's attributes with priority 1(highest) will be dropped last. minimum: 1 maximum: 10 type: integer required: - title - question_type - options - priority additionalProperties: false MultipleQuestion: title: MultipleQuestion type: object properties: title: title: Title description: Title of the question. maxLength: 255 minLength: 1 examples: - What is your favorite color? - What size do you need? type: string question_type: title: Question Type enum: - multiple type: string description: title: Description description: Description of the question. maxLength: 2047 minLength: 1 examples: - Choose your preferred color type: string is_skippable: title: Is Skippable description: Identifies whether the question can be skipped or not default: false examples: - false - true type: boolean cta_text: title: Cta Text description: The name of the call-to-action button (e.g. next). examples: - Next - Continue type: string images: title: Images description: Images attached to the question. allOf: - $ref: '#/components/schemas/Images' internal_name: title: Internal Name description: Internal name of a question, this is for internal use only. examples: - q1_color - q2_size type: string bucket_id: title: Bucket Id description: Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR. examples: - 1 - 2 type: integer question_key: title: Key description: Unique ID of the question type: string format: uuid attribute_condition: description: Defines how the results associated to this question will be joined to the previous ones, either with a union (`or`) or an intersection (`and`). allOf: - $ref: '#/components/schemas/QuizQuestionAttributeCondition' options: title: Options description: A list of options of the quiz. minItems: 1 maxItems: 30 type: array items: $ref: '#/components/schemas/Option' priority: title: Priority description: Defines which question's attributes should be dropped first in case of 0 results. The lower the number, the higher priority it has. E.g. if 0 results received, question's attributes with priority 10(lowest) will be dropped first hence question's attributes with priority 1(highest) will be dropped last. minimum: 1 maximum: 10 type: integer required: - title - question_type - attribute_condition - options - priority additionalProperties: false SingleFilterValueQuestion: title: SingleFilterValueQuestion type: object properties: title: title: Title description: Title of the question. maxLength: 255 minLength: 1 examples: - What is your favorite color? - What size do you need? type: string question_type: title: Question Type enum: - single_filter_value type: string description: title: Description description: Description of the question. maxLength: 2047 minLength: 1 examples: - Choose your preferred color type: string is_skippable: title: Is Skippable description: Identifies whether the question can be skipped or not default: false examples: - false - true type: boolean cta_text: title: Cta Text description: The name of the call-to-action button (e.g. next). examples: - Next - Continue type: string images: title: Images description: Images attached to the question. allOf: - $ref: '#/components/schemas/Images' internal_name: title: Internal Name description: Internal name of a question, this is for internal use only. examples: - q1_color - q2_size type: string bucket_id: title: Bucket Id description: Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR. examples: - 1 - 2 type: integer question_key: title: Key description: Unique ID of the question type: string format: uuid options: title: Options minItems: 0 maxItems: 0 type: array items: $ref: '#/components/schemas/Option' filter_name: title: Filter Name description: Name of the filter to use for this question. maxLength: 100 minLength: 1 type: string priority: title: Priority description: Defines which question's attributes should be dropped first in case of 0 results. The lower the number, the higher priority it has. E.g. if 0 results received, question's attributes with priority 10(lowest) will be dropped first hence question's attributes with priority 1(highest) will be dropped last. minimum: 1 maximum: 10 type: integer filter_sort_option: description: Determines how filter options should be sorted in quiz question default: most_matching_products allOf: - $ref: '#/components/schemas/QuizFilterSortOption' excluded_filter_values: title: Excluded Filter Values description: List of filter values to exclude from being displayed to users maxItems: 100 type: array items: type: string minLength: 1 maxLength: 255 required: - title - question_type - filter_name - priority additionalProperties: false MultipleFilterValuesQuestion: title: MultipleFilterValuesQuestion type: object properties: title: title: Title description: Title of the question. maxLength: 255 minLength: 1 examples: - What is your favorite color? - What size do you need? type: string question_type: title: Question Type enum: - multiple_filter_values type: string description: title: Description description: Description of the question. maxLength: 2047 minLength: 1 examples: - Choose your preferred color type: string is_skippable: title: Is Skippable description: Identifies whether the question can be skipped or not default: false examples: - false - true type: boolean cta_text: title: Cta Text description: The name of the call-to-action button (e.g. next). examples: - Next - Continue type: string images: title: Images description: Images attached to the question. allOf: - $ref: '#/components/schemas/Images' internal_name: title: Internal Name description: Internal name of a question, this is for internal use only. examples: - q1_color - q2_size type: string bucket_id: title: Bucket Id description: Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR. examples: - 1 - 2 type: integer question_key: title: Key description: Unique ID of the question type: string format: uuid attribute_condition: description: Defines how the results associated to this question will be joined to the previous ones, either with a union (`or`) or an intersection (`and`). allOf: - $ref: '#/components/schemas/QuizQuestionAttributeCondition' options: title: Options minItems: 0 maxItems: 0 type: array items: $ref: '#/components/schemas/Option' filter_name: title: Filter Name description: Name of the filter to use for this question. maxLength: 100 minLength: 1 type: string priority: title: Priority description: Defines which question's attributes should be dropped first in case of 0 results. The lower the number, the higher priority it has. E.g. if 0 results received, question's attributes with priority 10(lowest) will be dropped first hence question's attributes with priority 1(highest) will be dropped last. minimum: 1 maximum: 10 type: integer filter_sort_option: description: Determines how filter options should be sorted in quiz question default: most_matching_products allOf: - $ref: '#/components/schemas/QuizFilterSortOption' excluded_filter_values: title: Excluded Filter Values description: List of filter values to exclude from being displayed to users maxItems: 100 type: array items: type: string minLength: 1 maxLength: 255 required: - title - question_type - attribute_condition - filter_name - priority additionalProperties: false OpenQuestion: title: OpenQuestion type: object properties: title: title: Title description: Title of the question. maxLength: 255 minLength: 1 examples: - What is your favorite color? - What size do you need? type: string question_type: title: Question Type enum: - open type: string description: title: Description description: Description of the question. maxLength: 2047 minLength: 1 examples: - Choose your preferred color type: string is_skippable: title: Is Skippable description: Identifies whether the question can be skipped or not default: false examples: - false - true type: boolean cta_text: title: Cta Text description: The name of the call-to-action button (e.g. next). examples: - Next - Continue type: string images: title: Images description: Images attached to the question. allOf: - $ref: '#/components/schemas/Images' internal_name: title: Internal Name description: Internal name of a question, this is for internal use only. examples: - q1_color - q2_size type: string bucket_id: title: Bucket Id description: Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR. examples: - 1 - 2 type: integer question_key: title: Key description: Unique ID of the question type: string format: uuid options: title: Options minItems: 0 maxItems: 0 type: array items: $ref: '#/components/schemas/Option' input_placeholder: title: Input Placeholder description: Placeholder for open-text question input. maxLength: 255 minLength: 1 type: string required: - title - question_type additionalProperties: false CoverQuestion: title: CoverQuestion type: object properties: title: title: Title description: Title of the question. maxLength: 255 minLength: 1 examples: - What is your favorite color? - What size do you need? type: string question_type: title: Question Type enum: - cover type: string description: title: Description description: Description of the question. maxLength: 2047 minLength: 1 examples: - Choose your preferred color type: string is_skippable: title: Is Skippable description: Identifies whether the question can be skipped or not default: false examples: - false - true type: boolean cta_text: title: Cta Text description: The name of the call-to-action button (e.g. next). examples: - Next - Continue type: string images: title: Images description: Images attached to the question. allOf: - $ref: '#/components/schemas/Images' internal_name: title: Internal Name description: Internal name of a question, this is for internal use only. examples: - q1_color - q2_size type: string bucket_id: title: Bucket Id description: Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR. examples: - 1 - 2 type: integer question_key: title: Key description: Unique ID of the question type: string format: uuid options: title: Options minItems: 0 maxItems: 0 type: array items: $ref: '#/components/schemas/Option' required: - title - question_type additionalProperties: false FreeFormQuestion: title: FreeFormQuestion type: object properties: title: title: Title description: Title of the question. maxLength: 255 minLength: 1 examples: - What is your favorite color? - What size do you need? type: string question_type: title: Question Type enum: - free_form type: string description: title: Description description: Description of the question. maxLength: 2047 minLength: 1 examples: - Choose your preferred color type: string is_skippable: title: Is Skippable description: Identifies whether the question can be skipped or not default: false examples: - false - true type: boolean cta_text: title: Cta Text description: The name of the call-to-action button (e.g. next). examples: - Next - Continue type: string images: title: Images description: Images attached to the question. allOf: - $ref: '#/components/schemas/Images' internal_name: title: Internal Name description: Internal name of a question, this is for internal use only. examples: - q1_color - q2_size type: string bucket_id: title: Bucket Id description: Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR. examples: - 1 - 2 type: integer question_key: title: Key description: Unique ID of the question type: string format: uuid options: title: Options minItems: 0 maxItems: 0 type: array items: $ref: '#/components/schemas/Option' input_placeholder: title: Input Placeholder description: Placeholder for free-form question input. maxLength: 255 minLength: 1 type: string required: - title - question_type additionalProperties: false QuizPutResponse: title: QuizPutResponse type: object properties: display_name: title: Display Name description: Name of the quiz to be displayed to end users examples: - Product Finder Quiz - Size Selector minLength: 1 maxLength: 200 type: string active: title: Active description: Identifies whether quiz should be displayed or not default: true examples: - true - false type: boolean id: title: ID description: ID of the quiz. minLength: 1 maxLength: 255 type: string questions: title: Questions description: A list of questions of the quiz type: array items: discriminator: propertyName: question_type mapping: single: '#/components/schemas/SingleQuestionResponse' multiple: '#/components/schemas/MultipleQuestionResponse' single_filter_value: '#/components/schemas/SingleFilterValueQuestionResponse' multiple_filter_values: '#/components/schemas/MultipleFilterValuesQuestionResponse' open: '#/components/schemas/OpenQuestionResponse' cover: '#/components/schemas/CoverQuestionResponse' free_form: '#/components/schemas/FreeFormQuestionResponse' oneOf: - $ref: '#/components/schemas/SingleQuestionResponse' - $ref: '#/components/schemas/MultipleQuestionResponse' - $ref: '#/components/schemas/SingleFilterValueQuestionResponse' - $ref: '#/components/schemas/MultipleFilterValuesQuestionResponse' - $ref: '#/components/schemas/OpenQuestionResponse' - $ref: '#/components/schemas/CoverQuestionResponse' - $ref: '#/components/schemas/FreeFormQuestionResponse' logic: title: Logic description: Logic that is used when going through quiz type: object additionalProperties: type: array items: {} created_at: title: Created At description: Quiz creation date in ISO 8601 format type: string format: date-time updated_at: title: Updated At description: Last quiz update date in ISO 8601 format. type: string format: date-time results_config: title: Results Config description: Results configuration for the quiz allOf: - $ref: '#/components/schemas/ResultsConfig' metadata_json: title: Metadata Json description: Metadata related to the quiz and its questions. type: object pre_filter_expression: title: Pre Filter Expression description: Pre-filter expression to be applied to all questions. type: object required: - display_name - id - created_at - updated_at additionalProperties: false QuizPatchRequestBody: title: QuizPatchRequestBody type: object properties: display_name: title: Display Name description: Name of the quiz to be displayed to end users minLength: 1 maxLength: 200 type: string active: title: Active description: Identifies whether quiz should be displayed or not type: boolean logic: title: Logic description: Logic that is used when going through quiz type: object additionalProperties: type: array items: {} questions: title: Questions description: A list of questions of the quiz default: [] type: array items: discriminator: propertyName: question_type mapping: single: '#/components/schemas/SingleQuestion' multiple: '#/components/schemas/MultipleQuestion' single_filter_value: '#/components/schemas/SingleFilterValueQuestion' multiple_filter_values: '#/components/schemas/MultipleFilterValuesQuestion' open: '#/components/schemas/OpenQuestion' cover: '#/components/schemas/CoverQuestion' free_form: '#/components/schemas/FreeFormQuestion' oneOf: - $ref: '#/components/schemas/SingleQuestion' - $ref: '#/components/schemas/MultipleQuestion' - $ref: '#/components/schemas/SingleFilterValueQuestion' - $ref: '#/components/schemas/MultipleFilterValuesQuestion' - $ref: '#/components/schemas/OpenQuestion' - $ref: '#/components/schemas/CoverQuestion' - $ref: '#/components/schemas/FreeFormQuestion' results_config: title: Results Config description: Results configuration for the quiz allOf: - $ref: '#/components/schemas/ResultsConfig' metadata_json: title: Metadata Json description: Metadata related to the quiz and its questions. type: object pre_filter_expression: title: Pre Filter Expression description: Pre-filter expression to be applied to all questions. type: object additionalProperties: false QuizPatchResponse: title: QuizPatchResponse type: object properties: display_name: title: Display Name description: Name of the quiz to be displayed to end users examples: - Product Finder Quiz - Size Selector minLength: 1 maxLength: 200 type: string active: title: Active description: Identifies whether quiz should be displayed or not default: true examples: - true - false type: boolean id: title: ID description: ID of the quiz. minLength: 1 maxLength: 255 type: string questions: title: Questions description: A list of questions of the quiz type: array items: discriminator: propertyName: question_type mapping: single: '#/components/schemas/SingleQuestionResponse' multiple: '#/components/schemas/MultipleQuestionResponse' single_filter_value: '#/components/schemas/SingleFilterValueQuestionResponse' multiple_filter_values: '#/components/schemas/MultipleFilterValuesQuestionResponse' open: '#/components/schemas/OpenQuestionResponse' cover: '#/components/schemas/CoverQuestionResponse' free_form: '#/components/schemas/FreeFormQuestionResponse' oneOf: - $ref: '#/components/schemas/SingleQuestionResponse' - $ref: '#/components/schemas/MultipleQuestionResponse' - $ref: '#/components/schemas/SingleFilterValueQuestionResponse' - $ref: '#/components/schemas/MultipleFilterValuesQuestionResponse' - $ref: '#/components/schemas/OpenQuestionResponse' - $ref: '#/components/schemas/CoverQuestionResponse' - $ref: '#/components/schemas/FreeFormQuestionResponse' logic: title: Logic description: Logic that is used when going through quiz type: object additionalProperties: type: array items: {} created_at: title: Created At description: Quiz creation date in ISO 8601 format type: string format: date-time updated_at: title: Updated At description: Last quiz update date in ISO 8601 format. type: string format: date-time results_config: title: Results Config description: Results configuration for the quiz allOf: - $ref: '#/components/schemas/ResultsConfig' metadata_json: title: Metadata Json description: Metadata related to the quiz and its questions. type: object pre_filter_expression: title: Pre Filter Expression description: Pre-filter expression to be applied to all questions. type: object required: - display_name - id - created_at - updated_at additionalProperties: false SearchabilityGetResponse: title: SearchabilityGetResponse type: object properties: name: title: Name description: Name of searchability field. maxLength: 300 minLength: 1 type: string percentage_presence: title: Percentage presence description: Percentage of items and variations that contain this field. minimum: 0 maximum: 100 type: number fuzzy_searchable: title: Fuzzy Searchable description: Configure a field as fuzzy-searchable to enable typo-tolerant keyword-matching on field values in search and autocomplete. A field can be fuzzy-searchable or exact-searchable, but not both. Avoid marking very verbose fields (e.g. long descriptions) as fuzzy-searchable, since it can lead to recall of more items than is necessary and introduces complexity with ranking. type: boolean facetable: title: Facetable description: Specifies whether the field should be treated as a facet. When True, the metadata field must be a string, float, integer, or list of these types. Dictionaries are supported if they contain values of these types. Nested dictionaries are not supported type: boolean exact_searchable: title: Exact Searchable description: Configure this field for ID or ID-like values (SKU ID, ISBN, part number, etc.) to enable exact matching only, with no typo-tolerance, for search and autocomplete. Do not use for fields containing natural language words. A field can be exact-searchable or fuzzy-searchable, but not both. type: boolean type: title: Type allOf: - $ref: '#/components/schemas/MetadataSearchabilityType' example_items: title: Example Items description: A list of items that has this searchability field. type: array items: type: string default: title: Default description: Flag that shows if this searchability config is default. type: boolean displayable: title: Displayable description: Specifies whether the field is displayable in the response within the `results` array. type: boolean hidden: title: Hidden description: Hides the field by default in the response but makes it available to retrieve via `fmt_options[hidden_fields]` parameter. type: boolean created_at: title: Created At description: Creation date and time type: string format: date-time updated_at: title: Updated At description: Last updated date and time type: string format: date-time required: - name - fuzzy_searchable - facetable - exact_searchable - default - displayable - hidden - created_at additionalProperties: false MetadataSearchabilityType: title: MetadataSearchabilityType enum: - number - string - array - object - boolean - mixed type: string SearchabilityPatchRequestBody: title: SearchabilityPatchRequestBody type: object properties: fuzzy_searchable: title: Fuzzy Searchable description: Configure a field as fuzzy-searchable to enable typo-tolerant keyword-matching on field values in search and autocomplete. A field can be fuzzy-searchable or exact-searchable, but not both. Avoid marking very verbose fields (e.g. long descriptions) as fuzzy-searchable, since it can lead to recall of more items than is necessary and introduces complexity with ranking. examples: - true - false type: boolean exact_searchable: title: Exact Searchable description: Configure this field for ID or ID-like values (SKU ID, ISBN, part number, etc.) to enable exact matching only, with no typo-tolerance, for search and autocomplete. Do not use for fields containing natural language words. A field can be exact-searchable or fuzzy-searchable, but not both. examples: - false - true type: boolean facetable: title: Facetable description: Specifies whether the field should be treated as a facet. When True, the metadata field must be a string, float, integer, or list of these types. Dictionaries are supported if they contain values of these types. Nested dictionaries are not supported examples: - true - false type: boolean displayable: title: Displayable description: Specifies whether the field is displayable in the response within the `results` array. examples: - true - false type: boolean hidden: title: Hidden description: Hides the field by default in the response but makes it available to retrieve via `fmt_options[hidden_fields]` parameter. examples: - false - true type: boolean additionalProperties: false SearchabilityPatchResponse: title: SearchabilityPatchResponse type: object properties: name: title: Name description: Name of searchability field. maxLength: 300 minLength: 1 type: string percentage_presence: title: Percentage presence description: Percentage of items and variations that contain this field. minimum: 0 maximum: 100 type: number fuzzy_searchable: title: Fuzzy Searchable description: Configure a field as fuzzy-searchable to enable typo-tolerant keyword-matching on field values in search and autocomplete. A field can be fuzzy-searchable or exact-searchable, but not both. Avoid marking very verbose fields (e.g. long descriptions) as fuzzy-searchable, since it can lead to recall of more items than is necessary and introduces complexity with ranking. type: boolean facetable: title: Facetable description: Specifies whether the field should be treated as a facet. When True, the metadata field must be a string, float, integer, or list of these types. Dictionaries are supported if they contain values of these types. Nested dictionaries are not supported type: boolean exact_searchable: title: Exact Searchable description: Configure this field for ID or ID-like values (SKU ID, ISBN, part number, etc.) to enable exact matching only, with no typo-tolerance, for search and autocomplete. Do not use for fields containing natural language words. A field can be exact-searchable or fuzzy-searchable, but not both. type: boolean type: title: Type allOf: - $ref: '#/components/schemas/MetadataSearchabilityType' example_items: title: Example Items description: A list of items that has this searchability field. type: array items: type: string default: title: Default description: Flag that shows if this searchability config is default. type: boolean displayable: title: Displayable description: Specifies whether the field is displayable in the response within the `results` array. type: boolean hidden: title: Hidden description: Hides the field by default in the response but makes it available to retrieve via `fmt_options[hidden_fields]` parameter. type: boolean created_at: title: Created At description: Creation date and time type: string format: date-time updated_at: title: Updated At description: Last updated date and time type: string format: date-time required: - name - fuzzy_searchable - facetable - exact_searchable - default - displayable - hidden - created_at additionalProperties: false SearchabilityDeleteResponse: title: SearchabilityDeleteResponse type: object properties: name: title: Name description: Name of searchability field. maxLength: 300 minLength: 1 type: string percentage_presence: title: Percentage presence description: Percentage of items and variations that contain this field. minimum: 0 maximum: 100 type: number fuzzy_searchable: title: Fuzzy Searchable description: Configure a field as fuzzy-searchable to enable typo-tolerant keyword-matching on field values in search and autocomplete. A field can be fuzzy-searchable or exact-searchable, but not both. Avoid marking very verbose fields (e.g. long descriptions) as fuzzy-searchable, since it can lead to recall of more items than is necessary and introduces complexity with ranking. type: boolean facetable: title: Facetable description: Specifies whether the field should be treated as a facet. When True, the metadata field must be a string, float, integer, or list of these types. Dictionaries are supported if they contain values of these types. Nested dictionaries are not supported type: boolean exact_searchable: title: Exact Searchable description: Configure this field for ID or ID-like values (SKU ID, ISBN, part number, etc.) to enable exact matching only, with no typo-tolerance, for search and autocomplete. Do not use for fields containing natural language words. A field can be exact-searchable or fuzzy-searchable, but not both. type: boolean type: title: Type allOf: - $ref: '#/components/schemas/MetadataSearchabilityType' example_items: title: Example Items description: A list of items that has this searchability field. type: array items: type: string default: title: Default description: Flag that shows if this searchability config is default. type: boolean displayable: title: Displayable description: Specifies whether the field is displayable in the response within the `results` array. type: boolean hidden: title: Hidden description: Hides the field by default in the response but makes it available to retrieve via `fmt_options[hidden_fields]` parameter. type: boolean created_at: title: Created At description: Creation date and time type: string format: date-time updated_at: title: Updated At description: Last updated date and time type: string format: date-time required: - name - fuzzy_searchable - facetable - exact_searchable - default - displayable - hidden - created_at additionalProperties: false SearchabilityFilters: title: SearchabilityFilters type: object properties: name: title: Name description: Name of searchability field. maxLength: 300 examples: - brand - color type: string fuzzy_searchable: title: Fuzzy Searchable description: Configure a field as fuzzy-searchable to enable typo-tolerant keyword-matching on field values in search and autocomplete. A field can be fuzzy-searchable or exact-searchable, but not both. Avoid marking very verbose fields (e.g. long descriptions) as fuzzy-searchable, since it can lead to recall of more items than is necessary and introduces complexity with ranking. examples: - true - false type: boolean exact_searchable: title: Exact Searchable description: Configure this field for ID or ID-like values (SKU ID, ISBN, part number, etc.) to enable exact matching only, with no typo-tolerance, for search and autocomplete. Do not use for fields containing natural language words. A field can be exact-searchable or fuzzy-searchable, but not both. examples: - false - true type: boolean displayable: title: Displayable description: Specifies whether the field is displayable in the response within the `results` array. examples: - true - false type: boolean additionalProperties: false SearchabilityListGetResponse: title: SearchabilityListGetResponse type: object properties: searchabilities: title: Searchabilities description: A list of facet searchabilities configurations. type: array items: $ref: '#/components/schemas/SearchabilityResponse' total_count: title: Total Count description: Number of searchabilities. minimum: 0 type: integer required: - searchabilities - total_count additionalProperties: false SearchabilityResponse: title: SearchabilityResponse type: object properties: name: title: Name description: Name of searchability field. maxLength: 300 minLength: 1 type: string percentage_presence: title: Percentage presence description: Percentage of items and variations that contain this field. minimum: 0 maximum: 100 type: number fuzzy_searchable: title: Fuzzy Searchable description: Configure a field as fuzzy-searchable to enable typo-tolerant keyword-matching on field values in search and autocomplete. A field can be fuzzy-searchable or exact-searchable, but not both. Avoid marking very verbose fields (e.g. long descriptions) as fuzzy-searchable, since it can lead to recall of more items than is necessary and introduces complexity with ranking. type: boolean facetable: title: Facetable description: Specifies whether the field should be treated as a facet. When True, the metadata field must be a string, float, integer, or list of these types. Dictionaries are supported if they contain values of these types. Nested dictionaries are not supported type: boolean exact_searchable: title: Exact Searchable description: Configure this field for ID or ID-like values (SKU ID, ISBN, part number, etc.) to enable exact matching only, with no typo-tolerance, for search and autocomplete. Do not use for fields containing natural language words. A field can be exact-searchable or fuzzy-searchable, but not both. type: boolean type: title: Type allOf: - $ref: '#/components/schemas/MetadataSearchabilityType' example_items: title: Example Items description: A list of items that has this searchability field. type: array items: type: string default: title: Default description: Flag that shows if this searchability config is default. type: boolean displayable: title: Displayable description: Specifies whether the field is displayable in the response within the `results` array. type: boolean hidden: title: Hidden description: Hides the field by default in the response but makes it available to retrieve via `fmt_options[hidden_fields]` parameter. type: boolean created_at: title: Created At description: Creation date and time type: string format: date-time updated_at: title: Updated At description: Last updated date and time type: string format: date-time required: - name - fuzzy_searchable - facetable - exact_searchable - default - displayable - hidden - created_at additionalProperties: false SearchabilityListPatchRequestBody: title: SearchabilityListPatchRequestBody type: object properties: searchabilities: title: Searchabilities description: A list of facet searchabilities configurations for create or update. minItems: 1 maxItems: 60 type: array items: $ref: '#/components/schemas/SearchabilityWithNameRequest' examples: - - name: brand fuzzy_searchable: true displayable: true - name: color facetable: true displayable: true required: - searchabilities additionalProperties: false SearchabilityWithNameRequest: title: SearchabilityWithNameRequest type: object properties: name: title: Name description: Name of searchability field. maxLength: 300 minLength: 1 examples: - brand - color - price type: string fuzzy_searchable: title: Fuzzy Searchable description: Configure a field as fuzzy-searchable to enable typo-tolerant keyword-matching on field values in search and autocomplete. A field can be fuzzy-searchable or exact-searchable, but not both. Avoid marking very verbose fields (e.g. long descriptions) as fuzzy-searchable, since it can lead to recall of more items than is necessary and introduces complexity with ranking. examples: - true - false type: boolean exact_searchable: title: Exact Searchable description: Configure this field for ID or ID-like values (SKU ID, ISBN, part number, etc.) to enable exact matching only, with no typo-tolerance, for search and autocomplete. Do not use for fields containing natural language words. A field can be exact-searchable or fuzzy-searchable, but not both. examples: - false - true type: boolean facetable: title: Facetable description: Specifies whether the field should be treated as a facet. When True, the metadata field must be a string, float, integer, or list of these types. Dictionaries are supported if they contain values of these types. Nested dictionaries are not supported examples: - true - false type: boolean displayable: title: Displayable description: Specifies whether the field is displayable in the response within the `results` array. examples: - true - false type: boolean hidden: title: Hidden description: Hides the field by default in the response but makes it available to retrieve via `fmt_options[hidden_fields]` parameter. examples: - false - true type: boolean required: - name additionalProperties: false SearchabilityListPatchResponse: title: SearchabilityListPatchResponse type: object properties: searchabilities: title: Searchabilities description: A list of facet searchabilities configurations. type: array items: $ref: '#/components/schemas/SearchabilityResponse' total_count: title: Total Count description: Number of searchabilities. minimum: 0 type: integer required: - searchabilities - total_count additionalProperties: false SearchabilityListDeleteRequestBody: title: SearchabilityListDeleteRequestBody type: object properties: searchabilities: title: Searchabilities description: A list of facet searchabilities configurations names to delete. minItems: 1 maxItems: 60 type: array items: $ref: '#/components/schemas/SearchabilityNameRequest' required: - searchabilities additionalProperties: false SearchabilityNameRequest: title: SearchabilityNameRequest type: object properties: name: title: Name description: Name of searchability field. maxLength: 300 minLength: 1 examples: - brand - color - price type: string required: - name additionalProperties: false SearchabilityListDeleteResponse: title: SearchabilityListDeleteResponse type: object properties: searchabilities: title: Searchabilities description: A list of facet searchabilities configurations. type: array items: $ref: '#/components/schemas/SearchabilityResponse' total_count: title: Total Count description: Number of searchabilities. minimum: 0 type: integer required: - searchabilities - total_count additionalProperties: false MatchTypeV2: title: MatchTypeV2 enum: - and - or SearchabilityListV2GetResponse: title: SearchabilityListV2GetResponse type: object properties: searchabilities: title: Searchabilities description: A list of facet searchabilities configurations. type: array items: $ref: '#/components/schemas/SearchabilityResponseV2' total_count: title: Total Count description: Number of searchabilities. minimum: 0 type: integer required: - searchabilities - total_count additionalProperties: false SearchabilityResponseV2: title: SearchabilityResponseV2 type: object properties: name: title: Name description: Name of searchability field. maxLength: 300 minLength: 1 type: string fuzzy_searchable: title: Fuzzy Searchable description: Configure a field as fuzzy-searchable to enable typo-tolerant keyword-matching on field values in search and autocomplete. A field can be fuzzy-searchable or exact-searchable, but not both. Avoid marking very verbose fields (e.g. long descriptions) as fuzzy-searchable, since it can lead to recall of more items than is necessary and introduces complexity with ranking. type: boolean exact_searchable: title: Exact Searchable description: Configure this field for ID or ID-like values (SKU ID, ISBN, part number, etc.) to enable exact matching only, with no typo-tolerance, for search and autocomplete. Do not use for fields containing natural language words. A field can be exact-searchable or fuzzy-searchable, but not both. type: boolean displayable: title: Displayable description: Specifies whether the field is displayable in the response within the `results` array. type: boolean hidden: title: Hidden description: Hides the field by default in the response but makes it available to retrieve via `fmt_options[hidden_fields]` parameter. type: boolean created_at: title: Created At description: Creation date and time type: string format: date-time updated_at: title: Updated At description: Last updated date and time type: string format: date-time required: - name - fuzzy_searchable - exact_searchable - displayable - hidden - created_at additionalProperties: false SearchabilityListV2PatchRequestBody: title: SearchabilityListV2PatchRequestBody type: object properties: searchabilities: title: Searchabilities description: A list of facet searchabilities configurations for create or update. minItems: 1 maxItems: 60 type: array items: $ref: '#/components/schemas/SearchabilityWithNameRequestV2' examples: - - name: brand fuzzy_searchable: true displayable: true - name: color displayable: true required: - searchabilities additionalProperties: false SearchabilityWithNameRequestV2: title: SearchabilityWithNameRequestV2 type: object properties: name: title: Name description: Name of searchability field. maxLength: 300 minLength: 1 examples: - brand - color - price type: string fuzzy_searchable: title: Fuzzy Searchable description: Configure a field as fuzzy-searchable to enable typo-tolerant keyword-matching on field values in search and autocomplete. A field can be fuzzy-searchable or exact-searchable, but not both. Avoid marking very verbose fields (e.g. long descriptions) as fuzzy-searchable, since it can lead to recall of more items than is necessary and introduces complexity with ranking. examples: - true - false type: boolean exact_searchable: title: Exact Searchable description: Configure this field for ID or ID-like values (SKU ID, ISBN, part number, etc.) to enable exact matching only, with no typo-tolerance, for search and autocomplete. Do not use for fields containing natural language words. A field can be exact-searchable or fuzzy-searchable, but not both. examples: - false - true type: boolean displayable: title: Displayable description: Specifies whether the field is displayable in the response within the `results` array. On create, omitted value inherits from the nearest (deepest) configured parent. To learn more about displayability inheritance, please visit [this guide](/docs/using-the-constructor-dashboard-indexes-manage-searchability-and-displayability#inherited-displayability-configurations) examples: - true - false type: boolean hidden: title: Hidden description: Hides the field by default in the response but makes it available to retrieve via `fmt_options[hidden_fields]` parameter. examples: - false - true type: boolean required: - name additionalProperties: false SearchabilityListV2PatchResponse: title: SearchabilityListV2PatchResponse type: object properties: searchabilities: title: Searchabilities description: A list of facet searchabilities configurations. type: array items: $ref: '#/components/schemas/SearchabilityResponseV2' total_count: title: Total Count description: Number of searchabilities. minimum: 0 type: integer required: - searchabilities - total_count additionalProperties: false SearchabilityListV2DeleteRequestBody: title: SearchabilityListV2DeleteRequestBody type: object properties: searchabilities: title: Searchabilities description: A list of facet searchabilities configurations names to delete. minItems: 1 maxItems: 60 type: array items: $ref: '#/components/schemas/SearchabilityNameRequestV2' required: - searchabilities additionalProperties: false SearchabilityNameRequestV2: title: SearchabilityNameRequestV2 type: object properties: name: title: Name description: Name of searchability field. maxLength: 300 minLength: 1 examples: - brand - color - price type: string required: - name additionalProperties: false SearchabilityListV2DeleteResponse: title: SearchabilityListV2DeleteResponse type: object properties: searchabilities: title: Searchabilities description: A list of facet searchabilities configurations. type: array items: $ref: '#/components/schemas/SearchabilityResponseV2' total_count: title: Total Count description: Number of searchabilities. minimum: 0 type: integer required: - searchabilities - total_count additionalProperties: false SearchabilityV2GetResponse: title: SearchabilityV2GetResponse type: object properties: name: title: Name description: Name of searchability field. maxLength: 300 minLength: 1 type: string fuzzy_searchable: title: Fuzzy Searchable description: Configure a field as fuzzy-searchable to enable typo-tolerant keyword-matching on field values in search and autocomplete. A field can be fuzzy-searchable or exact-searchable, but not both. Avoid marking very verbose fields (e.g. long descriptions) as fuzzy-searchable, since it can lead to recall of more items than is necessary and introduces complexity with ranking. type: boolean exact_searchable: title: Exact Searchable description: Configure this field for ID or ID-like values (SKU ID, ISBN, part number, etc.) to enable exact matching only, with no typo-tolerance, for search and autocomplete. Do not use for fields containing natural language words. A field can be exact-searchable or fuzzy-searchable, but not both. type: boolean displayable: title: Displayable description: Specifies whether the field is displayable in the response within the `results` array. type: boolean hidden: title: Hidden description: Hides the field by default in the response but makes it available to retrieve via `fmt_options[hidden_fields]` parameter. type: boolean created_at: title: Created At description: Creation date and time type: string format: date-time updated_at: title: Updated At description: Last updated date and time type: string format: date-time required: - name - fuzzy_searchable - exact_searchable - displayable - hidden - created_at additionalProperties: false SearchabilityV2PatchRequestBody: title: SearchabilityV2PatchRequestBody type: object properties: fuzzy_searchable: title: Fuzzy Searchable description: Configure a field as fuzzy-searchable to enable typo-tolerant keyword-matching on field values in search and autocomplete. A field can be fuzzy-searchable or exact-searchable, but not both. Avoid marking very verbose fields (e.g. long descriptions) as fuzzy-searchable, since it can lead to recall of more items than is necessary and introduces complexity with ranking. examples: - true - false type: boolean exact_searchable: title: Exact Searchable description: Configure this field for ID or ID-like values (SKU ID, ISBN, part number, etc.) to enable exact matching only, with no typo-tolerance, for search and autocomplete. Do not use for fields containing natural language words. A field can be exact-searchable or fuzzy-searchable, but not both. examples: - false - true type: boolean displayable: title: Displayable description: Specifies whether the field is displayable in the response within the `results` array. On create, omitted value inherits from the nearest (deepest) configured parent. To learn more about displayability inheritance, please visit [this guide](/docs/using-the-constructor-dashboard-indexes-manage-searchability-and-displayability#inherited-displayability-configurations) examples: - true - false type: boolean hidden: title: Hidden description: Hides the field by default in the response but makes it available to retrieve via `fmt_options[hidden_fields]` parameter. examples: - false - true type: boolean additionalProperties: false SearchabilityV2PatchResponse: title: SearchabilityV2PatchResponse type: object properties: name: title: Name description: Name of searchability field. maxLength: 300 minLength: 1 type: string fuzzy_searchable: title: Fuzzy Searchable description: Configure a field as fuzzy-searchable to enable typo-tolerant keyword-matching on field values in search and autocomplete. A field can be fuzzy-searchable or exact-searchable, but not both. Avoid marking very verbose fields (e.g. long descriptions) as fuzzy-searchable, since it can lead to recall of more items than is necessary and introduces complexity with ranking. type: boolean exact_searchable: title: Exact Searchable description: Configure this field for ID or ID-like values (SKU ID, ISBN, part number, etc.) to enable exact matching only, with no typo-tolerance, for search and autocomplete. Do not use for fields containing natural language words. A field can be exact-searchable or fuzzy-searchable, but not both. type: boolean displayable: title: Displayable description: Specifies whether the field is displayable in the response within the `results` array. type: boolean hidden: title: Hidden description: Hides the field by default in the response but makes it available to retrieve via `fmt_options[hidden_fields]` parameter. type: boolean created_at: title: Created At description: Creation date and time type: string format: date-time updated_at: title: Updated At description: Last updated date and time type: string format: date-time required: - name - fuzzy_searchable - exact_searchable - displayable - hidden - created_at additionalProperties: false SearchabilityV2DeleteResponse: title: SearchabilityV2DeleteResponse type: object properties: name: title: Name description: Name of searchability field. maxLength: 300 minLength: 1 type: string fuzzy_searchable: title: Fuzzy Searchable description: Configure a field as fuzzy-searchable to enable typo-tolerant keyword-matching on field values in search and autocomplete. A field can be fuzzy-searchable or exact-searchable, but not both. Avoid marking very verbose fields (e.g. long descriptions) as fuzzy-searchable, since it can lead to recall of more items than is necessary and introduces complexity with ranking. type: boolean exact_searchable: title: Exact Searchable description: Configure this field for ID or ID-like values (SKU ID, ISBN, part number, etc.) to enable exact matching only, with no typo-tolerance, for search and autocomplete. Do not use for fields containing natural language words. A field can be exact-searchable or fuzzy-searchable, but not both. type: boolean displayable: title: Displayable description: Specifies whether the field is displayable in the response within the `results` array. type: boolean hidden: title: Hidden description: Hides the field by default in the response but makes it available to retrieve via `fmt_options[hidden_fields]` parameter. type: boolean created_at: title: Created At description: Creation date and time type: string format: date-time updated_at: title: Updated At description: Last updated date and time type: string format: date-time required: - name - fuzzy_searchable - exact_searchable - displayable - hidden - created_at additionalProperties: false SortOptionPostBody: title: SortOptionPostBody type: object properties: display_name: title: Display Name description: The name of the sort option as it is displayed to end users. examples: - 'Price: Low to High' - Best Rating minLength: 1 maxLength: 200 type: string path_in_metadata: title: Path In Metadata description: The path in the item's metadata to the field that results will be sorted according to. examples: - data.price - data.rating maxLength: 200 type: string position: title: Position description: The position of the sort option, used to provide sort options in a specific order. examples: - 1 - 5 type: integer hidden: title: Hidden description: Indicates if a sort option is hidden. This can be marked at `sort_by` level. A hidden sort option will be ignored in response by default. default: false examples: - false - true type: boolean sort_by: title: Sort By description: The name of the sort option. examples: - price - relevance - rating minLength: 1 maxLength: 200 type: string sort_order: description: The order the results will be sorted in examples: - ascending - descending allOf: - $ref: '#/components/schemas/SortOrderType' required: - path_in_metadata - sort_by - sort_order additionalProperties: false SortOptionPostResponse: title: SortOptionPostResponse type: object properties: display_name: title: Display Name description: The name of the sort option as it is displayed to end users. examples: - 'Price: Low to High' - Best Rating minLength: 1 maxLength: 200 type: string path_in_metadata: title: Path In Metadata description: The path in the item's metadata to the field that results will be sorted according to. examples: - data.price - data.rating maxLength: 200 type: string position: title: Position description: The position of the sort option, used to provide sort options in a specific order. examples: - 1 - 5 type: integer hidden: title: Hidden description: Indicates if a sort option is hidden. This can be marked at `sort_by` level. A hidden sort option will be ignored in response by default. default: false examples: - false - true type: boolean sort_by: title: Sort By description: The name of the sort option. examples: - price - relevance - rating minLength: 1 maxLength: 200 type: string sort_order: description: The order the results will be sorted in examples: - ascending - descending allOf: - $ref: '#/components/schemas/SortOrderType' required: - display_name - path_in_metadata - sort_by - sort_order SortOptionPutBody: title: SortOptionPutBody type: object properties: display_name: title: Display Name description: The name of the sort option as it is displayed to end users. examples: - 'Price: Low to High' - Best Rating minLength: 1 maxLength: 200 type: string path_in_metadata: title: Path In Metadata description: The path in the item's metadata to the field that results will be sorted according to. examples: - data.price - data.rating maxLength: 200 type: string position: title: Position description: The position of the sort option, used to provide sort options in a specific order. examples: - 1 - 5 type: integer hidden: title: Hidden description: Indicates if a sort option is hidden. This can be marked at `sort_by` level. A hidden sort option will be ignored in response by default. default: false examples: - false - true type: boolean additionalProperties: false SortOptionPutResponse: title: SortOptionPutResponse type: object properties: display_name: title: Display Name description: The name of the sort option as it is displayed to end users. examples: - 'Price: Low to High' - Best Rating minLength: 1 maxLength: 200 type: string path_in_metadata: title: Path In Metadata description: The path in the item's metadata to the field that results will be sorted according to. examples: - data.price - data.rating maxLength: 200 type: string position: title: Position description: The position of the sort option, used to provide sort options in a specific order. examples: - 1 - 5 type: integer hidden: title: Hidden description: Indicates if a sort option is hidden. This can be marked at `sort_by` level. A hidden sort option will be ignored in response by default. default: false examples: - false - true type: boolean sort_by: title: Sort By description: The name of the sort option. examples: - price - relevance - rating minLength: 1 maxLength: 200 type: string sort_order: description: The order the results will be sorted in examples: - ascending - descending allOf: - $ref: '#/components/schemas/SortOrderType' required: - display_name - path_in_metadata - sort_by - sort_order SortOptionPatchBody: title: SortOptionPatchBody type: object properties: display_name: title: Display Name description: The name of the sort option as it is displayed to end users. examples: - 'Price: Low to High' - Best Rating minLength: 1 maxLength: 200 type: string path_in_metadata: title: Path In Metadata description: The path in the item's metadata to the field that results will be sorted according to. examples: - data.price - data.rating maxLength: 200 type: string position: title: Position description: The position of the sort option, used to provide sort options in a specific order. examples: - 1 - 5 type: integer hidden: title: Hidden description: Indicates if a sort option is hidden. This can be marked at `sort_by` level. A hidden sort option will be ignored in response by default. default: false examples: - false - true type: boolean additionalProperties: false SortOptionPatchResponse: title: SortOptionPatchResponse type: object properties: display_name: title: Display Name description: The name of the sort option as it is displayed to end users. examples: - 'Price: Low to High' - Best Rating minLength: 1 maxLength: 200 type: string path_in_metadata: title: Path In Metadata description: The path in the item's metadata to the field that results will be sorted according to. examples: - data.price - data.rating maxLength: 200 type: string position: title: Position description: The position of the sort option, used to provide sort options in a specific order. examples: - 1 - 5 type: integer hidden: title: Hidden description: Indicates if a sort option is hidden. This can be marked at `sort_by` level. A hidden sort option will be ignored in response by default. default: false examples: - false - true type: boolean sort_by: title: Sort By description: The name of the sort option. examples: - price - relevance - rating minLength: 1 maxLength: 200 type: string sort_order: description: The order the results will be sorted in examples: - ascending - descending allOf: - $ref: '#/components/schemas/SortOrderType' required: - display_name - path_in_metadata - sort_by - sort_order SortOptionListGetResponse: title: SortOptionListGetResponse type: object properties: total_count: title: Total Count minimum: 0 type: integer sort_options: title: Sort Options type: array items: $ref: '#/components/schemas/SortOptionResponse' required: - total_count - sort_options additionalProperties: false SortOptionResponse: title: SortOptionResponse type: object properties: display_name: title: Display Name description: The name of the sort option as it is displayed to end users. examples: - 'Price: Low to High' - Best Rating minLength: 1 maxLength: 200 type: string path_in_metadata: title: Path In Metadata description: The path in the item's metadata to the field that results will be sorted according to. examples: - data.price - data.rating maxLength: 200 type: string position: title: Position description: The position of the sort option, used to provide sort options in a specific order. examples: - 1 - 5 type: integer hidden: title: Hidden description: Indicates if a sort option is hidden. This can be marked at `sort_by` level. A hidden sort option will be ignored in response by default. default: false examples: - false - true type: boolean sort_by: title: Sort By description: The name of the sort option. examples: - price - relevance - rating minLength: 1 maxLength: 200 type: string sort_order: description: The order the results will be sorted in examples: - ascending - descending allOf: - $ref: '#/components/schemas/SortOrderType' required: - display_name - path_in_metadata - sort_by - sort_order SortOptionListPutBody: title: SortOptionListPutBody type: object properties: sort_options: title: Sort Options description: Array of sort options you want to create or replace. minItems: 1 maxItems: 50 type: array items: $ref: '#/components/schemas/SortOption' required: - sort_options additionalProperties: false SortOption: title: SortOption type: object properties: display_name: title: Display Name description: The name of the sort option as it is displayed to end users. examples: - 'Price: Low to High' - Best Rating minLength: 1 maxLength: 200 type: string path_in_metadata: title: Path In Metadata description: The path in the item's metadata to the field that results will be sorted according to. examples: - data.price - data.rating maxLength: 200 type: string position: title: Position description: The position of the sort option, used to provide sort options in a specific order. examples: - 1 - 5 type: integer hidden: title: Hidden description: Indicates if a sort option is hidden. This can be marked at `sort_by` level. A hidden sort option will be ignored in response by default. default: false examples: - false - true type: boolean sort_by: title: Sort By description: The name of the sort option. examples: - price - relevance - rating minLength: 1 maxLength: 200 type: string sort_order: description: The order the results will be sorted in examples: - ascending - descending allOf: - $ref: '#/components/schemas/SortOrderType' required: - path_in_metadata - sort_by - sort_order additionalProperties: false SortOptionListPutResponse: title: SortOptionListPutResponse type: object properties: sort_options: title: Sort Options type: array items: $ref: '#/components/schemas/SortOptionResponse' required: - sort_options additionalProperties: false SortOptionListDeleteRequestBody: title: SortOptionListDeleteRequestBody type: object properties: sort_options: title: Sort Options description: The list of sort options to delete, specified by `sort_order` and `sort_by`. minItems: 1 maxItems: 200 type: array items: $ref: '#/components/schemas/SortOptionBase' required: - sort_options additionalProperties: false SortOptionBase: title: SortOptionBase type: object properties: sort_by: title: Sort By description: The name of the sort option. examples: - price - relevance - rating minLength: 1 maxLength: 200 type: string sort_order: description: The order the results will be sorted in examples: - ascending - descending allOf: - $ref: '#/components/schemas/SortOrderType' required: - sort_by - sort_order additionalProperties: false SynonymGetResponse: title: SynonymGetResponse type: object properties: total_count: title: Total Count minimum: 0 type: integer synonym_groups: title: Synonym Groups type: array items: $ref: '#/components/schemas/SynonymGroupGetResponse' required: - total_count - synonym_groups additionalProperties: false SynonymGroupGetResponse: title: SynonymGroupGetResponse type: object properties: synonyms: title: Synonym Phrases minItems: 1 maxItems: 20 type: array items: type: string minLength: 1 maxLength: 200 synonym_group_id: title: ID description: The ID of the synonym group, must be unique. type: integer created_at: title: Created At description: Synonym group creation date in ISO 8601 format type: string format: date-time updated_at: title: Updated At description: Last synonym group update date in ISO 8601 format. type: string format: date-time required: - synonyms - synonym_group_id - created_at - updated_at additionalProperties: false SynonymPutRequestBody: title: SynonymPutRequestBody type: object properties: synonyms: title: Synonyms description: Array of synonyms you want to set minItems: 1 maxItems: 20 type: array items: type: string minLength: 1 maxLength: 200 examples: - tea - tisane - herbal tea required: - synonyms additionalProperties: false SynonymListGetResponse: title: SynonymListGetResponse type: object properties: total_count: title: Total Count minimum: 0 type: integer synonym_groups: title: Synonym Groups type: array items: $ref: '#/components/schemas/SynonymGroupGetResponse' required: - total_count - synonym_groups additionalProperties: false SynonymListPostRequestBody: title: SynonymListPostRequestBody type: object properties: synonyms: title: Synonyms description: Array of synonyms you want to set minItems: 1 maxItems: 20 type: array items: type: string minLength: 1 maxLength: 200 examples: - tea - tisane - herbal tea required: - synonyms additionalProperties: false SynonymListPostResponse: title: SynonymListPostResponse type: object properties: group_id: title: Group Id type: integer required: - group_id additionalProperties: false SynonymListDeleteResponse: title: SynonymListDeleteResponse type: object properties: message: title: Message examples: - Successfully deleted all synonyms type: string required: - message additionalProperties: false securitySchemes: http_basic_auth: type: http scheme: basic http_bearer_auth: type: http scheme: bearer x-readme: explorer-enabled: false