Skip to content

HighLevel: Get Service by ID

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

← Calendars operations · Get started

Operation gohighlevel.get_service_catalog_by_id

Provider route: GET /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"]["getServiceCatalogById"]>[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.getServiceCatalogById(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.get_service_catalog_by_id(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

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

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

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

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
Get Services — response body — services item variations item
FieldTypePresenceDescription and constraints
$objectRoot
idstringRequired within parentVariation ID
namestringRequired within parentVariation 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
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

Referenced models: Get Services — response body — services / item / payment / depositType: percentage, amount

Create Service — request body — body staff item
FieldTypePresenceDescription and constraints
$objectRoot
idstringRequired within parentStaff ID

SDK function policy ID: gohighlevel.get_service_catalog_by_id. Catalog operation: get-service-catalog-by-id. 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.readonly"]

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.