Skip to content

Zoho: Profiles

Zoho profiles.getProfiles: arguments, response, policy and SDK examples.

← Profiles operations · Get started

Operation zoho.getprofiles

Provider route: GET /crm/v8/settings/profiles. Alter supplies the connection’s credentials and routing.

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

import { App } from "@alter-ai/sdk";
import { ZohoIntegration } from "@alter-ai/zoho";
async function execute(input: Parameters<ZohoIntegration["profiles"]["getProfiles"]>[0]) {
const app = new App({ apiKey: process.env.ALTER_API_KEY! });
try {
const provider = new ZohoIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! });
const call = await provider.profiles.getProfiles(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from alter_sdk_zoho import ZohoIntegration
async def execute(arguments):
async with App(api_key=os.environ["ALTER_API_KEY"]) as app:
provider = ZohoIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]})
call = await provider.profiles.get_profiles(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
queryobjectOptionalAdditional keys: not allowed
query.typestringOptionalOne of: private_profile, normal_profile, portal_profile
query.include_typesstringOptionalAllowed values (case-sensitive): Lite, Support. Use commas to include multiple.
Maximum length: 50
Pattern: ^(Lite|Support)(,(Lite|Support))*$
query.filtersJSONOptional
query.pageintegerOptionalPage number to retrieve.
Default: 1
Format: int32
Minimum: 1
query.per_pageintegerOptionalNumber of records per page.
Default: 200
Format: int32
Maximum: 200
Minimum: 1

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

FieldTypePresenceDescription and constraints
$objectRootSuccessful response containing the list of CRM profiles and pagination info.
Additional keys: not allowed
infoJSONOptionalPagination and license usage information for the profiles list response.
info (anyOf 1)objectAlternativePagination metadata including count, page, per_page, and whether more records exist.
Additional keys: not allowed
info (anyOf 1).countJSONRequired within parent
info (anyOf 1).count (anyOf 1)integerAlternativeNumber of profiles returned in this response page.
Format: int32
info (anyOf 1).count (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
info (anyOf 1).license_limitJSONOptional
info (anyOf 1).license_limit (anyOf 1)integerAlternativeMaximum number of profiles allowed by the organization’s license.
Format: int32
info (anyOf 1).license_limit (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
info (anyOf 1).more_recordsbooleanRequired within parentIndicates whether additional profiles exist beyond the current page.
info (anyOf 1).pageJSONRequired within parent
info (anyOf 1).page (anyOf 1)integerAlternativeCurrent page number in the paginated result set.
Format: int32
info (anyOf 1).page (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
info (anyOf 1).per_pageJSONRequired within parent
info (anyOf 1).per_page (anyOf 1)integerAlternativeNumber of profiles returned per page.
Format: int32
info (anyOf 1).per_page (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
info (anyOf 2)objectAlternativeLicense usage summary when full pagination data is not available.
Additional keys: not allowed
info (anyOf 2).license_limitJSONRequired within parent
info (anyOf 2).license_limit (anyOf 1)integerAlternativeMaximum number of profiles allowed by the organization’s license.
Format: int32
info (anyOf 2).license_limit (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
profilesarrayRequired within parentList of profiles returned for this page (up to 200 entries).
Maximum items: 200
profiles[]objectEach itemDetails of a single profile, including its permissions and section groupings.
Additional keys: not allowed
profiles[].$has_morebooleanOptionalIndicates whether the profile has more permission records beyond the included set.
profiles[].api_namestringRequired within parentAPI name of the profile, composed of alphanumeric characters and underscores and starting with a letter.
Maximum length: 50
Minimum length: 1
Pattern: ^[A-Za-z][A-Za-z0-9_]*$
profiles[].created_byModelOptionalExpand Profiles — response body — profiles item created by
profiles[].created_timeModelRequired within parentExpand Profiles — response body — profiles item created time
profiles[].custombooleanRequired within parentIndicates whether the profile is a custom profile (`true`) or a system profile (`false`).
profiles[].descriptionJSONOptional
profiles[].description (anyOf 1)stringAlternativeOptional description of the profile.
Maximum length: 255
profiles[].description (anyOf 2)nullAlternativeOptional description of the profile.
Maximum length: 255
profiles[].display_labelstringRequired within parentDisplay label shown for the profile in the CRM UI.
Maximum length: 255
profiles[].idstringRequired within parentUnique record identifier - a 64-bit integer encoded as a string of 1 to 19 decimal digits.
Unique profile identifier.
Format: int64
Maximum length: 19
Minimum length: 1
Pattern: ^[0-9]{1,19}$
profiles[].modified_byModelOptionalExpand Profiles — response body — profiles item modified by
profiles[].modified_timeModelRequired within parentExpand Profiles — response body — profiles item modified time
profiles[].namestringRequired within parentDisplay name for the profile, up to 50 characters, excluding the special characters ``, “ ` “, `#`, `%`, `^`, `&`, `*`, `(`, `)`, `+`, `|`, `,`, `=`, `{`, `}`, `;`, `[`, `]`, `”`.
Maximum length: 50
Minimum length: 1
Pattern: ^[^
`#%^&*()+|,={};&#91;&#93;”]+$
profiles[].permissions_detailsarrayOptionalFlat list of all individual permissions configured for this profile (up to 2000 entries).
Maximum items: 2000
profiles[].permissions_details[]objectEach itemA single permission entry describing a specific access right in the profile.
Additional keys: not allowed
profiles[].permissions_details[].activebooleanOptionalWhether the permission is active.
profiles[].permissions_details[].api_namestringOptionalAPI name of the permission.
Maximum length: 255
profiles[].permissions_details[].custom_permissionbooleanOptionalWhether this is a custom permission.
profiles[].permissions_details[].customizablebooleanOptionalIndicates whether this permission can be toggled on or off by an administrator.
profiles[].permissions_details[].descriptionJSONOptional
profiles[].permissions_details[].description (anyOf 1)stringAlternativeDescription of the permission.
Maximum length: 500
profiles[].permissions_details[].description (anyOf 2)nullAlternativeDescription of the permission.
Maximum length: 500
profiles[].permissions_details[].display_labelstringOptionalHuman-readable label displayed for this permission in the CRM UI.
Maximum length: 255
profiles[].permissions_details[].enabledbooleanOptionalIndicates whether this permission is currently enabled for the profile.
profiles[].permissions_details[].idstringOptionalUnique record identifier - a 64-bit integer encoded as a string of 1 to 19 decimal digits.
The unique identifier of the permission.
Format: int64
Maximum length: 19
Minimum length: 1
Pattern: ^[0-9]{1,19}$
profiles[].permissions_details[].moduleJSONOptional
profiles[].permissions_details[].module (anyOf 1)stringAlternativeModule associated with this permission. Null when the permission is not tied to a specific module.
Maximum length: 100
profiles[].permissions_details[].module (anyOf 2)nullAlternativeModule associated with this permission. Null when the permission is not tied to a specific module.
Maximum length: 100
profiles[].permissions_details[].namestringOptionalInternal API name of the permission.
Maximum length: 255
profiles[].permissions_details[].parent_permissionsJSONOptionalList of parent permission names that must be enabled before this permission can be enabled, or null when there are no parent dependencies.
profiles[].permissions_details[].parent_permissions (anyOf 1)arrayAlternativeArray of parent permission identifiers this permission depends on.
Maximum items: 200
profiles[].permissions_details[].parent_permissions (anyOf 1)[]stringEach itemUnique record identifier - a 64-bit integer encoded as a string of 1 to 19 decimal digits.
Format: int64
Maximum length: 19
Minimum length: 1
Pattern: ^[0-9]{1,19}$
profiles[].permissions_details[].parent_permissions (anyOf 2)JSONAlternativeNull when this permission has no parent dependencies.
profiles[].permissions_details[].parent_permissions (anyOf 2) (allOf 1)nullAll variants applyRepresents a null value for optional fields.
profiles[].permissions_details[].tooltip_msgstringOptionalTooltip text displayed when hovering over this permission in the CRM UI.
Maximum length: 500
profiles[].sectionsarrayOptionalGrouped sections that organize permissions into categories for display in the CRM UI (up to 100 sections).
Maximum items: 100
profiles[].sections[]ModelEach itemExpand Profiles — response body — profiles item sections item
profiles[].typestringRequired within parentProfile type classification. Possible values: `private_profile`, `normal_profile`, `lite_profile`, `system_profile`, `portal_profile`. `private_profile` is used exclusively for team modules; non-private profiles are not allowed for team modules.
Known values: private_profile, normal_profile, lite_profile, system_profile, portal_profile

Referenced models: Profiles — response body — profiles item modified time, Profiles — response body — profiles item created by, Profiles — response body — profiles item created time, Profiles — response body — profiles item modified by, Profiles — response body — profiles item sections item

Profiles — response body — profiles item modified time
FieldTypePresenceDescription and constraints
$JSONRootLast modification timestamp of the profile - an ISO 8601 datetime string, or null when the modification time is not available.
$ (anyOf 1)JSONAlternativeProfile last-modified timestamp.
$ (anyOf 1) (allOf 1)stringAll variants applyISO 8601 datetime string with timezone offset representing when the profile action was performed (for example, `2024-05-17T09:15:56+05:30`).
Format: date-time
$ (anyOf 2)JSONAlternativeNull when modification time is not available.
$ (anyOf 2) (allOf 1)nullAll variants applyRepresents a null value for optional fields.
Profiles — response body — profiles item created by
FieldTypePresenceDescription and constraints
$JSONRootCreator of the profile - a [UserReference](users.yaml#$.paths./users.get) object, or null when creator information is not available.
$ (anyOf 1)JSONAlternativeUser who created the profile.
$ (anyOf 1) (allOf 1)ModelAll variants applyExpand Profiles — response body — profiles item created by id, name id, name
$ (anyOf 2)JSONAlternativeNull when creator information is not available.
$ (anyOf 2) (allOf 1)nullAll variants applyRepresents a null value for optional fields.

Referenced models: Profiles — response body — profiles item created by id, name id, name

Profiles — response body — profiles item created time
FieldTypePresenceDescription and constraints
$JSONRootCreation timestamp of the profile - an ISO 8601 datetime string, or null when creation time is not available.
$ (anyOf 1)JSONAlternativeProfile creation timestamp.
$ (anyOf 1) (allOf 1)stringAll variants applyISO 8601 datetime string with timezone offset representing when the profile action was performed (for example, `2024-05-17T09:15:56+05:30`).
Format: date-time
$ (anyOf 2)JSONAlternativeNull when creation time is not available.
$ (anyOf 2) (allOf 1)nullAll variants applyRepresents a null value for optional fields.
Profiles — response body — profiles item modified by
FieldTypePresenceDescription and constraints
$JSONRootLast modifier of the profile - a [UserReference](users.yaml#$.paths./users.get) object, or null when modifier information is not available.
$ (anyOf 1)JSONAlternativeUser who last modified the profile.
$ (anyOf 1) (allOf 1)ModelAll variants applyExpand Profiles — response body — profiles item created by id, name id, name
$ (anyOf 2)JSONAlternativeNull when modifier information is not available.
$ (anyOf 2) (allOf 1)nullAll variants applyRepresents a null value for optional fields.

Referenced models: Profiles — response body — profiles item created by id, name id, name

Profiles — response body — profiles item sections item
FieldTypePresenceDescription and constraints
$objectRootA section grouping related permission categories.
Additional keys: not allowed
categoriesarrayRequired within parentList of permission categories within this section (up to 100 categories).
Maximum items: 100
categories[]ModelEach itemExpand Profiles — response body — profiles item sections item categories item
namestringRequired within parentInternal name of the permission section.
Maximum length: 255

Referenced models: Profiles — response body — profiles item sections item categories item

Profiles — response body — profiles item created by id, name id, name
FieldTypePresenceDescription and constraints
$objectRootReference to the CRM user who performed an action on a profile.
Additional keys: not allowed
idstringRequired within parentUnique record identifier - a 64-bit integer encoded as a string of 1 to 19 decimal digits.
Format: int64
Maximum length: 19
Minimum length: 1
Pattern: ^[0-9]{1,19}$
namestringRequired within parentDisplay name of the user as shown in Zoho CRM.
Maximum length: 100
Minimum length: 1
Profiles — response body — profiles item sections item categories item
FieldTypePresenceDescription and constraints
$objectRootA single permission category containing related permissions.
Additional keys: not allowed
display_labelstringRequired within parentDisplay label shown for this category in the CRM UI.
Maximum length: 255
moduleJSONOptional
module (anyOf 1)stringAlternativeModule associated with this category or null when the category is not module-specific.
Maximum length: 100
module (anyOf 2)nullAlternativeModule associated with this category or null when the category is not module-specific.
Maximum length: 100
namestringRequired within parentInternal name of the permission category.
Maximum length: 255
permissions_detailsarrayRequired within parentPermission identifiers grouped under this category.
Maximum items: 500
Minimum items: 0
permissions_details[]stringEach itemA single permission identifier string associated with this category.
Maximum length: 255

SDK function policy ID: zoho.getprofiles. Catalog operation: getProfiles. 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.

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.