HighLevel: Search Users
HighLevel users.searchUsers: arguments, response, policy and SDK examples.
← Users operations · Get started
Operation gohighlevel.search_users
Provider route: GET /users/search. Alter supplies the connection’s credentials and routing.
Call through Alter
Section titled “Call through Alter”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["users"]["searchUsers"]>[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.users.searchUsers(input); const result = await call.wait(); return result.bodyJson(); } finally { await app.close(); }}import osfrom alter_sdk import Appfrom 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.users.search_users(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
query | object | Required within parent | Additional keys: not allowed |
query.companyId | string | Required within parent | |
query.query | string | Optional | |
query.skip | string | Optional | Default: 0 |
query.limit | string | Optional | Default: 25 |
query.locationId | string | Optional | |
query.type | string | Optional | |
query.role | string | Optional | |
query.ids | string | Optional | |
query.sort | string | Optional | |
query.sortDirection | string | Optional | |
query.enabled2waySync | boolean | Optional |
Response
Section titled “Response”Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | Model | Root | Expand Search Users — response body |
Referenced models: Search Users — response body
Schemas
Section titled “Schemas”1 more schema is linked from the tables above, on the schema pages.
Search Users — response body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
count | JSON | Optional | |
count (anyOf 1) | number | Alternative | Total number of users matching the search criteria |
count (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
users | array | Optional | List of users matching the search criteria |
users[] | Model | Each item | Expand Search Users — response body — users item |
Referenced models: Search Users — response body — users item
Search Users — response body — users item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
deleted | boolean | Optional | Whether the user has been deleted |
email | string | Optional | Email address of the user |
extension | string | Optional | Phone extension of the user |
firstName | string | Optional | First name of the user |
id | string | Optional | Unique identifier of the user |
lastName | string | Optional | Last name of the user |
lcPhone | object | Optional | LC Phone Inbound Phone Numbers |
name | string | Optional | Full name of the user |
permissions | JSON | Optional | User permissions controlling access to various features |
permissions (allOf 1) | Model | All variants apply | Expand Get User — response body — permissions adwords Reporting Enabled, affiliate Manager Enabled, agent Reporting Enabled, appointments Enabled, assigned Data Only, attributions Reporting Enabled, blogging Enabled, bot Service, bulk Requests Enabled, campaigns Enabled, campaigns Read Only, cancel Subscription Enabled, communities Enabled, contacts Enabled, content Ai Enabled, conversations Enabled, dashboard Stats Enabled, export Payments Enabled, facebook Ads Reporting Enabled, funnels Enabled, invoice Enabled, lead Value Enabled, marketing Enabled, membership Enabled, online Listings Enabled, opportunities Enabled, payments Enabled, phone Call Enabled, record Payment Enabled, refunds Enabled, reviews Enabled, settings Enabled, social Planner, tags Enabled, triggers Enabled, websites Enabled, workflows Enabled, workflows Read Only |
phone | string | Optional | Phone number of the user |
platformLanguage | string | Optional | Platform language preference for the user Known values: en_US, es, fr_CA, fr_FR, nl, de, pt_PT, pt_BR, it, sv, da, fi, no |
roles | JSON | Optional | Role and access configuration for the user |
roles (allOf 1) | Model | All variants apply | Expand Get User — response body — roles location Ids, restrict Sub Account, role, type |
scopes | string | Optional | List of OAuth scopes granted to this user Known values: campaigns.readonly, campaigns.write, calendars.readonly, calendars/events.write, calendars/groups.write, calendars.write, contacts.write, contacts/bulkActions.write, workflows.readonly, workflows.write, triggers.write, funnels.write, forms.write, surveys.write, quizzes.write, websites.write, medias.write, medias.readonly, opportunities.write, opportunities/leadValue.readonly, opportunities/bulkActions.write, pipelines.create, reporting/phone.readonly, reporting/adwords.readonly, reporting/facebookAds.readonly, reporting/attributions.readonly, prospecting/auditReport.write, reporting/reports.readonly, reporting/agent.readonly, reporting/reports.write, reporting/stats.export, payments.write, payments/records.write, payments/orders.readonly, payments/orders.export, payments/orders.import, payments/orders.collectPayment, payments/subscriptions.readonly, payments/subscriptions.write, payments/subscriptions.update, payments/subscriptions.export, payments/subscriptions.pauseResumeCancel, payments/subscriptions.sharePaymentMethod, payments/transactions.readonly, payments/transactions.export, payments/transactions.import, payments/transactions.refund, payments/transactions.viewReceipts, payments/taxesSettings.readonly, payments/settings.readonly, payments/taxesSettings.updateInclusiveExclusive, payments/taxesSettings.manageRates, payments/taxesSettings.configureAutomatic, products.readonly, products.write, products.delete, products.duplicate, products.bulkActions, payments/settings.write, payments/settings.configureReceipt, payments/settings.configureSubscription, invoices.write, invoices.readonly, invoices/schedule.readonly, invoices/schedule.write, invoices/template.readonly, invoices/template.write, reputation/review.write, reputation/listing.write, reputation/reviewsAIAgents.write, reputation/gbp.write, conversations.write, conversations.readonly, conversations/message.readonly, conversations/message.write, contentAI.write, ai-studio.readonly, ai-studio.write, dashboard/stats.readonly, locations/tags.write, locations/tags.readonly, marketing.write, eliza.write, settings.write, socialplanner/post.write, socialplanner/account.readonly, socialplanner/account.write, socialplanner/category.readonly, socialplanner/category.write, socialplanner/csv.readonly, socialplanner/csv.write, socialplanner/group.write, socialplanner/hashtag.readonly, socialplanner/hashtag.write, socialplanner/oauth.readonly, socialplanner/oauth.write, socialplanner/post.readonly, socialplanner/recurring.readonly, socialplanner/recurring.write, socialplanner/review.readonly, socialplanner/review.write, socialplanner/rss.readonly, socialplanner/rss.write, socialplanner/search.readonly, socialplanner/setting.readonly, socialplanner/setting.write, socialplanner/stat.readonly, socialplanner/tag.readonly, socialplanner/tag.write, socialplanner/filters.readonly, socialplanner/medias.readonly, socialplanner/medias.write, socialplanner/watermarks.readonly, socialplanner/watermarks.write, socialplanner/metatag.readonly, socialplanner/facebook.readonly, socialplanner/linkedin.readonly, socialplanner/twitter.readonly, socialplanner/notification.readonly, socialplanner/notification.write, socialplanner/snapshot.readonly, socialplanner/snapshot.write, marketing/affiliate.write, blogs.write, membership.write, communities.write, gokollab.write, certificates.write, certificates.readonly, adPublishing.write, adPublishing.readonly, prospecting.write, prospecting.readonly, prospecting/reports.readonly, private-integration-location.readonly, private-integration-location.write, private-integration-company.readonly, private-integration-company.write, native-integrations.readonly, native-integrations.write, wordpress.write, wordpress.read, custom-menu-link.write, qrcodes.write, users/team-management.write, users/team-management.readonly, loginas.write, users-sso-login-management.write, users-sso-login-management.readonly, sso-config.write, snapshots/api.readonly, snapshots/api.create, snapshots/api.edit, snapshots/api.push, snapshots/api.refresh, snapshots/api.share, snapshots/api.delete, internaltools.location-transfer.write, internaltools.location-transfer.readonly, affiliateportal.write, affiliateportal.readonly, companies.write, internaltools.billing.write, internaltools.billing.readonly, internaltools.billing-common.readonly, internaltools.billing-common.write, voice-ai-agents.write, voice-ai-agents.readonly, voice-ai-common.readonly, voice-ai-common.write, voice-ai-agent-goals.readonly, voice-ai-agent-goals.write, voice-ai-dashboard.readonly, agency/launchpad.write, agency/launchpad.readonly, launchpad/location.write, launchpad/location.readonly, text-ai-agents.write, text-ai-agent-goals.readonly, text-ai-agent-goals.write, text-ai-agent-training.write, text-ai-agents-dashboard.readonly, locations.create, locations.delete, askai.write, copilot.readonly, locations.export.list, locations.features-limits.manage, locations.pause-resume, locations.agency-subaccounts.manage, locations.billing.manage, locations.details.manage, audit-logs.readonly, audit-logs.export |
Referenced models: Get User — response body — permissions adwords Reporting Enabled, affiliate Manager Enabled, agent Reporting Enabled, appointments Enabled, assigned Data Only, attributions Reporting Enabled, blogging Enabled, bot Service, bulk Requests Enabled, campaigns Enabled, campaigns Read Only, cancel Subscription Enabled, communities Enabled, contacts Enabled, content Ai Enabled, conversations Enabled, dashboard Stats Enabled, export Payments Enabled, facebook Ads Reporting Enabled, funnels Enabled, invoice Enabled, lead Value Enabled, marketing Enabled, membership Enabled, online Listings Enabled, opportunities Enabled, payments Enabled, phone Call Enabled, record Payment Enabled, refunds Enabled, reviews Enabled, settings Enabled, social Planner, tags Enabled, triggers Enabled, websites Enabled, workflows Enabled, workflows Read Only, Get User — response body — roles location Ids, restrict Sub Account, role, type
Get User — response body — roles location Ids, restrict Sub Account, role, type
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
locationIds | array | Optional | List of location IDs the user has access to |
locationIds[] | string | Each item | |
restrictSubAccount | boolean | Optional | Whether the user is restricted to specific sub-accounts only |
role | string | Optional | User role within the account (admin or user) |
type | string | Optional | User account type (account for sub-account users, agency for agency-level users) |
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: gohighlevel.search_users. Catalog operation: search-users. 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: ["users.readonly"]
Pinned headers: {"Version": "v3"}