> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # ValidateSlug # Package: services # Namespace: ServicesService # Method link: https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/validate-slug.md ## Permission Scopes: Manage Bookings: SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS ## Introduction Checks whether a custom slug is validate for the service. The checks include: - The slug adheres to the supported format. - No other service is currently using the slug. - No other service has used the slug in the past. The call fails if at least one of the checks fails. --- ## REST API ### Schema ``` Method: validateSlug Description: Checks whether a custom slug is validate for the service. The checks include: - The slug adheres to the supported format. - No other service is currently using the slug. - No other service has used the slug in the past. The call fails if at least one of the checks fails. URL: https://www.wixapis.com/_api/bookings/v2/services/slugs/validate Method: POST # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: serviceId Method parameters: param name: serviceId | type: serviceId | description: IO of the service to check custom slug validity for. | required: true param name: slug | type: slug | description: Custom slug to validate. Return type: ValidateSlugResponse - name: valid | type: boolean | description: Whether the slug is valid. - name: slug | type: string | description: Valid slug. Available only if `{"valid": true}`. - name: errors | type: array | description: Reasons why the slug is invalid. Available only if `{"valid": false}`. - enum: - SLUG_CONTAINS_ILLEGAL_CHARACTERS: Slug contains illegal characters. - SLUG_ALREADY_EXISTS: Slug is already associated with another service. ``` ### Examples ### Validate a custom slug ```curl curl -X POST 'https://www.wixapis.com/bookings/v2/services/slugs/validate' \ -H 'Authorization: ' \ -d '{ "serviceId": "d779a301-398d-4552-aa8c-3bef0b65cedb", "slug_name": "custom_slug" }' ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.services.ServicesService.validateSlug(serviceId, options) Description: Checks whether a custom slug is validate for the service. The checks include: - The slug adheres to the supported format. - No other service is currently using the slug. - No other service has used the slug in the past. The call fails if at least one of the checks fails. # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: serviceId Method parameters: param name: options | type: ValidateSlugOptions none - name: slug | type: string | description: Custom slug to validate. param name: serviceId | type: string | description: IO of the service to check custom slug validity for. | required: true Return type: PROMISE - name: valid | type: boolean | description: Whether the slug is valid. - name: slug | type: string | description: Valid slug. Available only if `{"valid": true}`. - name: errors | type: array | description: Reasons why the slug is invalid. Available only if `{"valid": false}`. - enum: - SLUG_CONTAINS_ILLEGAL_CHARACTERS: Slug contains illegal characters. - SLUG_ALREADY_EXISTS: Slug is already associated with another service. ``` ### Examples ### validateSlug ```javascript import { services } from '@wix/bookings'; async function validateSlug(serviceId,options) { const response = await services.validateSlug(serviceId,options); }; ``` ### validateSlug (with elevated permissions) ```javascript import { services } from '@wix/bookings'; import { auth } from '@wix/essentials'; async function myValidateSlugMethod(serviceId,options) { const elevatedValidateSlug = auth.elevate(services.validateSlug); const response = await elevatedValidateSlug(serviceId,options); } ``` ### validateSlug (self-hosted) Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md). ```javascript import { createClient } from '@wix/sdk'; import { services } from '@wix/bookings'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { services }, // Include the auth strategy and host as relevant }); async function validateSlug(serviceId,options) { const response = await myWixClient.services.validateSlug(serviceId,options); }; ``` ---