Skip to content

HighLevel: Update Service

HighLevel calendars.updateServiceCatalog: arguments, response, policy and SDK examples.

← Calendars operations · Get started

Operation gohighlevel.update_service_catalog

Provider route: PUT /calendars/services/catalog/{serviceId}. Alter supplies the connection’s credentials and routing.

Install @alter-ai/sdk @alter-ai/gohighlevel with npm, or alter-sdk-gohighlevel with pip. Supply your connected customer’s grant ID and the arguments described below.

import { App } from "@alter-ai/sdk";
import { HighLevelIntegration } from "@alter-ai/gohighlevel";
async function execute(input: Parameters<HighLevelIntegration["calendars"]["updateServiceCatalog"]>[0]) {
const app = new App({ apiKey: process.env.ALTER_API_KEY! });
try {
const provider = new HighLevelIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! });
const call = await provider.calendars.updateServiceCatalog(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from alter_sdk_gohighlevel import HighLevelIntegration
async def execute(arguments):
async with App(api_key=os.environ["ALTER_API_KEY"]) as app:
provider = HighLevelIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]})
call = await provider.calendars.update_service_catalog(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
pathobjectRequired within parentAdditional keys: not allowed
path.serviceIdstringRequired within parent
bodyModelRequired within parentExpand Update Service — request body — body

Referenced models: Update Service — request body — body

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$ModelRootExpand Create Service — response body

Referenced models: Create Service — response body

1 more schema is linked from the tables above, on the schema pages.

Create Service — response body
FieldTypePresenceDescription and constraints
$objectRoot
serviceJSONRequired within parentService details
service (allOf 1)ModelAll variants applyExpand Get Services — response body — services item

Referenced models: Get Services — response body — services item

Update Service — request body — body
FieldTypePresenceDescription and constraints
$objectRoot
coverImagestringOptionalService cover image URL
descriptionstringOptionalService description
eventColorstringOptionalService event color (hex)
formIdstringOptionalCustom form ID (will be used to display the custom form on the booking page, if only one service is selected)
isPrivatebooleanOptionalWhether service is private (not shown publicly)
namestringOptionalService name
paymentJSONOptionalPayment details (currency configured in Service Global Settings is used.)
payment (allOf 1)ModelAll variants applyExpand Create Service — request body — body / payment / depositType: percentage, amount
postBuffernumberOptionalPost-buffer: Additional time that can be added after an appointment, allowing for extra time to wrap up
postBufferUnitstringOptionalPost-buffer unit
One of: mins, hours
preBuffernumberOptionalPre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready
preBufferUnitstringOptionalPre-buffer unit
One of: mins, hours
serviceCategoryIdstringOptionalService category ID
serviceDurationnumberOptionalThis controls the duration of the appointment
serviceDurationUnitstringOptionalDuration unit
One of: mins, hours
slugstringOptionalUnique URL-friendly identifier
staffarrayOptionalAssigned staff members
staff[]ModelEach itemExpand Create Service — request body — body staff item
variationsarrayOptionalService variations (an empty array removes all variations). Include an id to update an existing variation; omit the id to create a new one.
variations[]ModelEach itemExpand Update Service — request body — body variations item

Referenced models: Create Service — request body — body staff item, Create Service — request body — body / payment / depositType: percentage, amount, Update Service — request body — body variations item

Get Services — response body — services item
FieldTypePresenceDescription and constraints
$objectRoot
coverImagestringOptionalService cover image URL
descriptionstringOptionalService description
eventColorstringOptionalService event color (hex)
formIdstringOptionalCustom form ID (will be used to display the custom form on the booking page, if only one service is selected)
idstringRequired within parentService ID
isPrivatebooleanOptionalWhether service is private (not shown publicly)
Default: false
locationIdstringRequired within parentLocation ID
namestringRequired within parentService name
paymentJSONOptionalPayment details
payment (allOf 1)ModelAll variants applyExpand Get Services — response body — services / item / payment / depositType: percentage, amount
postBufferJSONOptional
postBuffer (anyOf 1)numberAlternativePost-buffer: Additional time that can be added after an appointment, allowing for extra time to wrap up
postBuffer (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
postBufferUnitstringOptionalPost-buffer unit
Known values: mins, hours
preBufferJSONOptional
preBuffer (anyOf 1)numberAlternativePre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready
preBuffer (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
preBufferUnitstringOptionalPre-buffer unit
Known values: mins, hours
serviceCategoryIdstringOptionalService category ID
serviceDurationJSONOptional
serviceDuration (anyOf 1)numberAlternativeThis controls the duration of the appointment
serviceDuration (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
serviceDurationUnitstringOptionalDuration unit
Known values: mins, hours
slugstringOptionalUnique URL-friendly identifier
staffarrayOptionalAssigned staff members
staff[]ModelEach itemExpand Create Service — request body — body staff item
variationsarrayOptionalService variations
variations[]ModelEach itemExpand Get Services — response body — services item variations item

Referenced models: Get Services — response body — services / item / payment / depositType: percentage, amount, Get Services — response body — services item variations item, Create Service — request body — body staff item

Create Service — request body — body staff item
FieldTypePresenceDescription and constraints
$objectRoot
idstringRequired within parentStaff ID
Create Service — request body — body / payment / depositType: percentage, amount
FieldTypePresenceDescription and constraints
$objectRoot
amountnumberOptionalService price
depositnumberOptionalDeposit amount or percentage value
depositTypestringOptionalDeposit type
One of: percentage, amount
Update Service — request body — body variations item
FieldTypePresenceDescription and constraints
$objectRoot
idstringOptionalVariation ID
namestringOptionalVariation name
paymentJSONOptionalPayment details
payment (allOf 1)ModelAll variants applyExpand Create Service — request body — body / payment / depositType: percentage, amount
postBuffernumberOptionalPost-buffer: Additional time that can be added after an appointment, allowing for extra time to wrap up
postBufferUnitstringOptionalPost-buffer unit
One of: mins, hours
preBuffernumberOptionalPre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready
preBufferUnitstringOptionalPre-buffer unit
One of: mins, hours
serviceDurationnumberOptionalThis controls the duration of the appointment
serviceDurationUnitstringOptionalDuration unit
One of: mins, hours

Referenced models: Create Service — request body — body / payment / depositType: percentage, amount

Get Services — response body — services / item / payment / depositType: percentage, amount
FieldTypePresenceDescription and constraints
$objectRoot
amountJSONOptional
amount (anyOf 1)numberAlternativeService price
amount (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
depositJSONOptional
deposit (anyOf 1)numberAlternativeDeposit amount or percentage value
deposit (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
depositTypestringOptionalDeposit type
Known values: percentage, amount

SDK function policy ID: gohighlevel.update_service_catalog. Catalog operation: update-service-catalog. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.

Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.

Required provider scopes: ["calendars.write"]

Pinned headers: {"Version": "v3"}

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.