---
title: "Search the index (admin)"
method: POST
path: "/rest/api/v1/adminsearch"
tags: ["Search"]
---

# Search the index (admin)

`POST /rest/api/v1/adminsearch`

Retrieves results for search query without respect for permissions. This is available only to privileged users.

## Query parameters

- `locale` string

## Request body

- SearchRequest
  - `timestamp` string, date-time — The ISO 8601 timestamp associated with the client request.
  - `trackingToken` string — A previously received trackingToken for a search associated with the same query. Useful for more requests and requests for other tabs.
  - `sessionInfo` SessionInfo
    - `sessionTrackingToken` string — A unique token for this session. A new session (and token) is created when the user issues a request from a new tab or when our server hasn't seen activity for more than 10 minutes from a tab.
    - `tabId` string — A unique id for all requests a user makes from a given tab, no matter how far apart. A new tab id is only generated when a user issues a request from a new tab.
    - `lastSeen` string, date-time — The last time the server saw this token.
    - `lastQuery` string — The last query seen by the server.
  - `sourceDocument` Document
    - `id` string — The Glean Document ID.
    - `datasource` string — The app or other repository type from which the document was extracted
    - `connectorType` 'API_CRAWL' | 'BROWSER_CRAWL' | 'BROWSER_HISTORY' | 'BUILTIN' | 'FEDERATED_SEARCH' | 'PUSH_API' | 'WEB_CRAWL' | 'NATIVE_HISTORY' — The source from which document content was pulled, e.g. an API crawl or browser history
    - `docType` string — The datasource-specific type of the document (e.g. for Jira issues, this is the issue type such as Bug or Feature Request).
    - `content` DocumentContent
      - `fullTextList` string[] — The plaintext content of the document.
    - `containerDocument` Document — recursive
    - `parentDocument` Document — recursive
    - `title` string — The title of the document.
    - `url` string — A permalink for the document.
    - `metadata` DocumentMetadata
      - `datasource` string
      - `datasourceInstance` string — The datasource instance from which the document was extracted.
      - `objectType` string — The type of the result. Interpretation is specific to each datasource. (e.g. for Jira issues, this is the issue type such as Bug or Feature Request).
      - `container` string — The name of the container (higher level parent, not direct parent) of the result. Interpretation is specific to each datasource (e.g. Channels for Slack, Project for Jira). cf. parentId
      - `containerId` string — The Glean Document ID of the container. Uniquely identifies the container.
      - `superContainerId` string — The Glean Document ID of the super container. Super container represents a broader abstraction that contains many containers. For example, whereas container might refer to a folder, super container would refer to a drive.
      - `parentId` string — The id of the direct parent of the result. Interpretation is specific to each datasource (e.g. parent issue for Jira). cf. container
      - `mimeType` string
      - `documentId` string — The index-wide unique identifier.
      - `loggingId` string — A unique identifier used to represent the document in any logging or feedback requests in place of documentId.
      - `documentIdHash` string — Hash of the Glean Document ID.
      - `createTime` string, date-time
      - `updateTime` string, date-time
      - `author` Person
        - `name` string, required — The display name.
        - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
        - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
          - `relation` 'ATTACHMENT' | 'CANONICAL' | 'CASE' | 'contact' | 'CONTACT' | 'CONVERSATION_MESSAGES' | 'EXPERT' | 'FROM' | 'HIGHLIGHT' | 'opportunity' | 'OPPORTUNITY' | 'RECENT' | 'SOURCE' | 'TICKET' | 'TRANSCRIPT' | 'WITH' — How this document relates to the including entity.
          - `associatedEntityId` string — Which entity in the response that this entity relates to. Relevant when there are multiple entities associated with the response (such as merged customers)
          - `querySuggestion` QuerySuggestion
            - `missingTerm` string — A query term missing from the original query on which this suggestion is based.
            - `query` string, required — The query being suggested (e.g. enforcing the missing term from the original query).
            - `searchProviderInfo` SearchProviderInfo
              - …
            - `label` string — A user-facing description to display for the suggestion.
            - `datasource` string — The datasource associated with the suggestion.
            - `resultTab` ResultTab
              - …
            - `requestOptions` SearchRequestOptions
              - …
            - `ranges` TextRange[] — The bolded ranges within the query of the QuerySuggestion.
              - …
            - `inputDetails` SearchRequestInputDetails
              - …
          - `documents` Document[] — A truncated list of documents with this relation. TO BE DEPRECATED.
          - `results` SearchResult[] — A truncated list of documents associated with this relation. To be used in favor of `documents` because it contains a trackingToken.
            - `structuredResults` StructuredResult[] — An array of entities in the work graph retrieved via a data request.
              - …
            - `trackingToken` string — An opaque token that represents this particular result in this particular query. To be used for /feedback reporting.
            - `document` Document — recursive
            - `title` string
            - `url` string, required
            - `nativeAppUrl` string — A deep link, if available, into the datasource's native application for the user's platform (e.g. slack://...).
            - `snippets` SearchResultSnippet[] — Text content from the result document which contains search query terms, if available.
              - …
            - `fullText` string — The full body text of the result if not already contained in the snippets. Only populated for conversation results (e.g. results from a messaging app such as Slack).
            - `fullTextList` string[] — The full body text of the result if not already contained in the snippets; each item in the array represents a separate line in the original text. Only populated for conversation results (e.g. results from a messaging app such as Slack).
            - `relatedResults` RelatedDocuments[] — A list of results related to this search result. Eg. for conversation results it contains individual messages from the conversation document which will be shown on SERP.
            - `clusteredResults` SearchResult[] — A list of results that should be displayed as associated with this result.
            - `allClusteredResults` ClusterGroup[] — A list of results that should be displayed as associated with this result.
              - …
            - `attachmentCount` integer — The total number of attachments.
            - `attachments` SearchResult[] — A (potentially partial) list of results representing documents attached to the main result document.
            - `backlinkResults` SearchResult[] — A list of results that should be displayed as backlinks of this result in reverse chronological order.
            - `clusterType` 'SIMILAR' | 'FRESHNESS' | 'TITLE' | 'CONTENT' | 'NONE' | 'THREAD_REPLY' | 'THREAD_ROOT' | 'PREFIX' | 'SUFFIX' | 'AUTHOR_PREFIX' | 'AUTHOR_SUFFIX' — The reason for inclusion of clusteredResults.
            - `mustIncludeSuggestions` QuerySuggestionList
              - …
            - `querySuggestion` QuerySuggestion
              - …
            - `prominence` 'HERO' | 'PROMOTED' | 'STANDARD' — The level of visual distinction that should be given to a result.
            - `attachmentContext` string — Additional context for the relationship between the result and the document it's attached to.
            - `pins` PinDocument[] — A list of pins associated with this search result.
              - …
        - `metadata` PersonMetadata
          - `type` 'FULL_TIME' | 'CONTRACTOR' | 'NON_EMPLOYEE' | 'FORMER_EMPLOYEE'
          - `firstName` string — The first name of the person
          - `lastName` string — The last name of the person
          - `title` string — Job title.
          - `businessUnit` string — Typically the highest level organizational unit; generally applies to bigger companies with multiple distinct businesses.
          - `department` string — An organizational unit where everyone has a similar task, e.g. `Engineering`.
          - `jobFunction` string — Normalized job-function category assigned by Entity Builder from the source department and, when available, job title. Unlike `department`, which preserves the company-specific organizational unit, this field groups departments into configured categories such as `Engineering`, `Sales`, or `IT`; it may be `Unknown` when the mapping is inconclusive.
          - `teams` PersonTeam[] — Info about the employee's team(s).
            - `id` string — Unique identifier
            - `name` string — Team name
            - `externalLink` string, uri — Link to a team page on the internet or your company's intranet
            - `relationship` 'MEMBER' | 'MANAGER' | 'LEAD' | 'POINT_OF_CONTACT' | 'OTHER' — The team member's relationship to the team. This defaults to MEMBER if not set.
            - `joinDate` string, date-time — The team member's start date
          - `departmentCount` integer — The number of people in this person's department.
          - `email` string — The user's primary email address
          - `aliasEmails` string[] — Additional email addresses of this user beyond the primary, if any.
          - `location` string — User facing string representing the person's location.
          - `structuredLocation` StructuredLocation — Detailed location with information about country, state, city etc.
            - `deskLocation` string — Desk number.
            - `timezone` string — Location's timezone, e.g. UTC, PST.
            - `address` string — Office address or name.
            - `city` string — Name of the city.
            - `state` string — State code.
            - `region` string — Region information, e.g. NORAM, APAC.
            - `zipCode` string — ZIP Code for the address.
            - `country` string — Country name.
            - `countryCode` string — Alpha-2 or Alpha-3 ISO 3166 country code, e.g. US or USA.
          - `externalProfileLink` string — Link to a customer's internal profile page. This is set to '#' when no link is desired.
          - `manager` Person — recursive
          - `managementChain` Person[] — The chain of reporting in the company as far up as it goes. The last entry is this person's direct manager.
          - `phone` string — Phone number as a number string.
          - `timezone` string — The timezone of the person. E.g. "Pacific Daylight Time".
          - `timezoneOffset` integer — The offset of the person's timezone in seconds from UTC.
          - `timezoneIANA` string — The IANA timezone identifier, e.g. "America/Los_Angeles".
          - `photoUrl` string, url — The URL of the person's avatar. Public, glean-authenticated and Base64 encoded data URLs are all valid (but not third-party-authenticated URLs).
          - `uneditedPhotoUrl` string, url — The original photo URL of the person's avatar before any edits they made are applied
          - `bannerUrl` string, url — The URL of the person's banner photo.
          - `reports` Person[]
          - `startDate` string, date — The date when the employee started.
          - `endDate` string, date — If a former employee, the last date of employment.
          - `bio` string — Short biography or mission statement of the employee.
          - `pronoun` string — She/her, He/his or other pronoun.
          - `orgSizeCount` integer — The total recursive size of the people reporting to this person, or 1
          - `directReportsCount` integer — The total number of people who directly report to this person, or 0
          - `preferredName` string — The preferred name of the person, or a nickname.
          - `socialNetwork` SocialNetwork[] — List of social network profiles.
            - `name` string, required — Possible values are "twitter", "linkedin".
            - `profileName` string — Human-readable profile name.
            - `profileUrl` string, url, required — Link to profile.
          - `datasourceProfile` DatasourceProfile[] — List of profiles this user has in different datasources / tools that they use.
            - `datasource` string, required — The datasource the profile is of.
            - `handle` string, required — The display name of the entity in the given datasource.
            - `url` string — URL to view the entity's profile.
            - `nativeAppUrl` string — A deep link, if available, into the datasource's native application for the entity's platform (i.e. slack://...).
            - `isUserGenerated` boolean — For internal use only. True iff the data source profile was manually added by a user from within Glean (aka not from the original data source)
          - `querySuggestions` QuerySuggestionList
            - `suggestions` QuerySuggestion[]
              - …
            - `person` Person — recursive
          - `peopleDistance` PersonDistance[] — List of people and distances to those people from this person. Optionally with metadata.
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `distance` number, float, required — Distance to person, refer to PeopleDistance pipeline on interpretation of the value.
          - `inviteInfo` InviteInfo — Information regarding the invite status of a person.
            - `signUpTime` string, date-time — The time this person signed up in ISO format (ISO 8601).
            - `invites` ChannelInviteInfo[] — Latest invites received by the user for each channel
              - …
            - `inviter` Person — recursive
            - `inviteTime` string, date-time — The time this person was invited in ISO format (ISO 8601).
            - `reminderTime` string, date-time — The time this person was reminded in ISO format (ISO 8601) if a reminder was sent.
          - `isSignedUp` boolean — Whether the user has signed into Glean at least once.
          - `lastExtensionUse` string, date-time — The last time the user has used the Glean extension in ISO 8601 format.
          - `permissions` Permissions — Describes the permissions levels that a user has for permissioned features. When the client sends this, Permissions.read and Permissions.write are the additional permissions granted to a user on top of what they have via their roles. When the server sends this, Permissions.read and Permissions.write are the complete (merged) set of permissions the user has, and Permissions.roles is just for display purposes.
            - `canAdminSearch` boolean — TODO--deprecate in favor of the read and write properties. True if the user has access to /adminsearch
            - `canAdminClientApiGlobalTokens` boolean — TODO--deprecate in favor of the read and write properties. True if the user can administrate client API tokens with global scope
            - `canDlp` boolean — TODO--deprecate in favor of the read and write properties. True if the user has access to data loss prevention (DLP) features
            - `read` unknown
            - `write` unknown
            - `grant` unknown
            - `role` string — The roleId of the canonical role a user has. The displayName is equal to the roleId.
            - `roles` string[] — The roleIds of the roles a user has.
          - `customFields` CustomFieldData[] — User customizable fields for additional people information.
            - `label` string, required — A user-facing label for this field.
            - `values` CustomFieldValue[], required
              - …
            - `displayable` boolean, required — Determines whether the client should display this custom field
          - `loggingId` string — The logging id of the person used in scrubbed logs, tracking GA metrics.
          - `startDatePercentile` number, float — Percentage of the company that started strictly after this person. Between [0,100).
          - `busyEvents` AnonymousEvent[] — Intervals of busy time for this person, along with the type of event they're busy with.
            - `time` TimeInterval
              - …
            - `eventType` 'DEFAULT' | 'OUT_OF_OFFICE' — The nature of the event, for example "out of office".
          - `profileBoolSettings` object — flag settings to indicate user profile settings for certain items
          - `badges` Badge[] — The badges that a user has earned over their lifetime.
            - `key` string — An auto generated unique identifier.
            - `displayName` string — The badge name displayed to users
            - `iconConfig` IconConfig — Defines how to render an icon
              - …
            - `pinned` boolean — The badge should be shown on the PersonAttribution
          - `isOrgRoot` boolean — Whether this person is a "root" node in their organization's hierarchy.
      - `owner` Person
        - `name` string, required — The display name.
        - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
        - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
          - `relation` 'ATTACHMENT' | 'CANONICAL' | 'CASE' | 'contact' | 'CONTACT' | 'CONVERSATION_MESSAGES' | 'EXPERT' | 'FROM' | 'HIGHLIGHT' | 'opportunity' | 'OPPORTUNITY' | 'RECENT' | 'SOURCE' | 'TICKET' | 'TRANSCRIPT' | 'WITH' — How this document relates to the including entity.
          - `associatedEntityId` string — Which entity in the response that this entity relates to. Relevant when there are multiple entities associated with the response (such as merged customers)
          - `querySuggestion` QuerySuggestion
            - `missingTerm` string — A query term missing from the original query on which this suggestion is based.
            - `query` string, required — The query being suggested (e.g. enforcing the missing term from the original query).
            - `searchProviderInfo` SearchProviderInfo
              - …
            - `label` string — A user-facing description to display for the suggestion.
            - `datasource` string — The datasource associated with the suggestion.
            - `resultTab` ResultTab
              - …
            - `requestOptions` SearchRequestOptions
              - …
            - `ranges` TextRange[] — The bolded ranges within the query of the QuerySuggestion.
              - …
            - `inputDetails` SearchRequestInputDetails
              - …
          - `documents` Document[] — A truncated list of documents with this relation. TO BE DEPRECATED.
          - `results` SearchResult[] — A truncated list of documents associated with this relation. To be used in favor of `documents` because it contains a trackingToken.
            - `structuredResults` StructuredResult[] — An array of entities in the work graph retrieved via a data request.
              - …
            - `trackingToken` string — An opaque token that represents this particular result in this particular query. To be used for /feedback reporting.
            - `document` Document — recursive
            - `title` string
            - `url` string, required
            - `nativeAppUrl` string — A deep link, if available, into the datasource's native application for the user's platform (e.g. slack://...).
            - `snippets` SearchResultSnippet[] — Text content from the result document which contains search query terms, if available.
              - …
            - `fullText` string — The full body text of the result if not already contained in the snippets. Only populated for conversation results (e.g. results from a messaging app such as Slack).
            - `fullTextList` string[] — The full body text of the result if not already contained in the snippets; each item in the array represents a separate line in the original text. Only populated for conversation results (e.g. results from a messaging app such as Slack).
            - `relatedResults` RelatedDocuments[] — A list of results related to this search result. Eg. for conversation results it contains individual messages from the conversation document which will be shown on SERP.
            - `clusteredResults` SearchResult[] — A list of results that should be displayed as associated with this result.
            - `allClusteredResults` ClusterGroup[] — A list of results that should be displayed as associated with this result.
              - …
            - `attachmentCount` integer — The total number of attachments.
            - `attachments` SearchResult[] — A (potentially partial) list of results representing documents attached to the main result document.
            - `backlinkResults` SearchResult[] — A list of results that should be displayed as backlinks of this result in reverse chronological order.
            - `clusterType` 'SIMILAR' | 'FRESHNESS' | 'TITLE' | 'CONTENT' | 'NONE' | 'THREAD_REPLY' | 'THREAD_ROOT' | 'PREFIX' | 'SUFFIX' | 'AUTHOR_PREFIX' | 'AUTHOR_SUFFIX' — The reason for inclusion of clusteredResults.
            - `mustIncludeSuggestions` QuerySuggestionList
              - …
            - `querySuggestion` QuerySuggestion
              - …
            - `prominence` 'HERO' | 'PROMOTED' | 'STANDARD' — The level of visual distinction that should be given to a result.
            - `attachmentContext` string — Additional context for the relationship between the result and the document it's attached to.
            - `pins` PinDocument[] — A list of pins associated with this search result.
              - …
        - `metadata` PersonMetadata
          - `type` 'FULL_TIME' | 'CONTRACTOR' | 'NON_EMPLOYEE' | 'FORMER_EMPLOYEE'
          - `firstName` string — The first name of the person
          - `lastName` string — The last name of the person
          - `title` string — Job title.
          - `businessUnit` string — Typically the highest level organizational unit; generally applies to bigger companies with multiple distinct businesses.
          - `department` string — An organizational unit where everyone has a similar task, e.g. `Engineering`.
          - `jobFunction` string — Normalized job-function category assigned by Entity Builder from the source department and, when available, job title. Unlike `department`, which preserves the company-specific organizational unit, this field groups departments into configured categories such as `Engineering`, `Sales`, or `IT`; it may be `Unknown` when the mapping is inconclusive.
          - `teams` PersonTeam[] — Info about the employee's team(s).
            - `id` string — Unique identifier
            - `name` string — Team name
            - `externalLink` string, uri — Link to a team page on the internet or your company's intranet
            - `relationship` 'MEMBER' | 'MANAGER' | 'LEAD' | 'POINT_OF_CONTACT' | 'OTHER' — The team member's relationship to the team. This defaults to MEMBER if not set.
            - `joinDate` string, date-time — The team member's start date
          - `departmentCount` integer — The number of people in this person's department.
          - `email` string — The user's primary email address
          - `aliasEmails` string[] — Additional email addresses of this user beyond the primary, if any.
          - `location` string — User facing string representing the person's location.
          - `structuredLocation` StructuredLocation — Detailed location with information about country, state, city etc.
            - `deskLocation` string — Desk number.
            - `timezone` string — Location's timezone, e.g. UTC, PST.
            - `address` string — Office address or name.
            - `city` string — Name of the city.
            - `state` string — State code.
            - `region` string — Region information, e.g. NORAM, APAC.
            - `zipCode` string — ZIP Code for the address.
            - `country` string — Country name.
            - `countryCode` string — Alpha-2 or Alpha-3 ISO 3166 country code, e.g. US or USA.
          - `externalProfileLink` string — Link to a customer's internal profile page. This is set to '#' when no link is desired.
          - `manager` Person — recursive
          - `managementChain` Person[] — The chain of reporting in the company as far up as it goes. The last entry is this person's direct manager.
          - `phone` string — Phone number as a number string.
          - `timezone` string — The timezone of the person. E.g. "Pacific Daylight Time".
          - `timezoneOffset` integer — The offset of the person's timezone in seconds from UTC.
          - `timezoneIANA` string — The IANA timezone identifier, e.g. "America/Los_Angeles".
          - `photoUrl` string, url — The URL of the person's avatar. Public, glean-authenticated and Base64 encoded data URLs are all valid (but not third-party-authenticated URLs).
          - `uneditedPhotoUrl` string, url — The original photo URL of the person's avatar before any edits they made are applied
          - `bannerUrl` string, url — The URL of the person's banner photo.
          - `reports` Person[]
          - `startDate` string, date — The date when the employee started.
          - `endDate` string, date — If a former employee, the last date of employment.
          - `bio` string — Short biography or mission statement of the employee.
          - `pronoun` string — She/her, He/his or other pronoun.
          - `orgSizeCount` integer — The total recursive size of the people reporting to this person, or 1
          - `directReportsCount` integer — The total number of people who directly report to this person, or 0
          - `preferredName` string — The preferred name of the person, or a nickname.
          - `socialNetwork` SocialNetwork[] — List of social network profiles.
            - `name` string, required — Possible values are "twitter", "linkedin".
            - `profileName` string — Human-readable profile name.
            - `profileUrl` string, url, required — Link to profile.
          - `datasourceProfile` DatasourceProfile[] — List of profiles this user has in different datasources / tools that they use.
            - `datasource` string, required — The datasource the profile is of.
            - `handle` string, required — The display name of the entity in the given datasource.
            - `url` string — URL to view the entity's profile.
            - `nativeAppUrl` string — A deep link, if available, into the datasource's native application for the entity's platform (i.e. slack://...).
            - `isUserGenerated` boolean — For internal use only. True iff the data source profile was manually added by a user from within Glean (aka not from the original data source)
          - `querySuggestions` QuerySuggestionList
            - `suggestions` QuerySuggestion[]
              - …
            - `person` Person — recursive
          - `peopleDistance` PersonDistance[] — List of people and distances to those people from this person. Optionally with metadata.
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `distance` number, float, required — Distance to person, refer to PeopleDistance pipeline on interpretation of the value.
          - `inviteInfo` InviteInfo — Information regarding the invite status of a person.
            - `signUpTime` string, date-time — The time this person signed up in ISO format (ISO 8601).
            - `invites` ChannelInviteInfo[] — Latest invites received by the user for each channel
              - …
            - `inviter` Person — recursive
            - `inviteTime` string, date-time — The time this person was invited in ISO format (ISO 8601).
            - `reminderTime` string, date-time — The time this person was reminded in ISO format (ISO 8601) if a reminder was sent.
          - `isSignedUp` boolean — Whether the user has signed into Glean at least once.
          - `lastExtensionUse` string, date-time — The last time the user has used the Glean extension in ISO 8601 format.
          - `permissions` Permissions — Describes the permissions levels that a user has for permissioned features. When the client sends this, Permissions.read and Permissions.write are the additional permissions granted to a user on top of what they have via their roles. When the server sends this, Permissions.read and Permissions.write are the complete (merged) set of permissions the user has, and Permissions.roles is just for display purposes.
            - `canAdminSearch` boolean — TODO--deprecate in favor of the read and write properties. True if the user has access to /adminsearch
            - `canAdminClientApiGlobalTokens` boolean — TODO--deprecate in favor of the read and write properties. True if the user can administrate client API tokens with global scope
            - `canDlp` boolean — TODO--deprecate in favor of the read and write properties. True if the user has access to data loss prevention (DLP) features
            - `read` unknown
            - `write` unknown
            - `grant` unknown
            - `role` string — The roleId of the canonical role a user has. The displayName is equal to the roleId.
            - `roles` string[] — The roleIds of the roles a user has.
          - `customFields` CustomFieldData[] — User customizable fields for additional people information.
            - `label` string, required — A user-facing label for this field.
            - `values` CustomFieldValue[], required
              - …
            - `displayable` boolean, required — Determines whether the client should display this custom field
          - `loggingId` string — The logging id of the person used in scrubbed logs, tracking GA metrics.
          - `startDatePercentile` number, float — Percentage of the company that started strictly after this person. Between [0,100).
          - `busyEvents` AnonymousEvent[] — Intervals of busy time for this person, along with the type of event they're busy with.
            - `time` TimeInterval
              - …
            - `eventType` 'DEFAULT' | 'OUT_OF_OFFICE' — The nature of the event, for example "out of office".
          - `profileBoolSettings` object — flag settings to indicate user profile settings for certain items
          - `badges` Badge[] — The badges that a user has earned over their lifetime.
            - `key` string — An auto generated unique identifier.
            - `displayName` string — The badge name displayed to users
            - `iconConfig` IconConfig — Defines how to render an icon
              - …
            - `pinned` boolean — The badge should be shown on the PersonAttribution
          - `isOrgRoot` boolean — Whether this person is a "root" node in their organization's hierarchy.
      - `mentionedPeople` Person[] — A list of people mentioned in the document.
        - `name` string, required — The display name.
        - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
        - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
          - `relation` 'ATTACHMENT' | 'CANONICAL' | 'CASE' | 'contact' | 'CONTACT' | 'CONVERSATION_MESSAGES' | 'EXPERT' | 'FROM' | 'HIGHLIGHT' | 'opportunity' | 'OPPORTUNITY' | 'RECENT' | 'SOURCE' | 'TICKET' | 'TRANSCRIPT' | 'WITH' — How this document relates to the including entity.
          - `associatedEntityId` string — Which entity in the response that this entity relates to. Relevant when there are multiple entities associated with the response (such as merged customers)
          - `querySuggestion` QuerySuggestion
            - `missingTerm` string — A query term missing from the original query on which this suggestion is based.
            - `query` string, required — The query being suggested (e.g. enforcing the missing term from the original query).
            - `searchProviderInfo` SearchProviderInfo
              - …
            - `label` string — A user-facing description to display for the suggestion.
            - `datasource` string — The datasource associated with the suggestion.
            - `resultTab` ResultTab
              - …
            - `requestOptions` SearchRequestOptions
              - …
            - `ranges` TextRange[] — The bolded ranges within the query of the QuerySuggestion.
              - …
            - `inputDetails` SearchRequestInputDetails
              - …
          - `documents` Document[] — A truncated list of documents with this relation. TO BE DEPRECATED.
          - `results` SearchResult[] — A truncated list of documents associated with this relation. To be used in favor of `documents` because it contains a trackingToken.
            - `structuredResults` StructuredResult[] — An array of entities in the work graph retrieved via a data request.
              - …
            - `trackingToken` string — An opaque token that represents this particular result in this particular query. To be used for /feedback reporting.
            - `document` Document — recursive
            - `title` string
            - `url` string, required
            - `nativeAppUrl` string — A deep link, if available, into the datasource's native application for the user's platform (e.g. slack://...).
            - `snippets` SearchResultSnippet[] — Text content from the result document which contains search query terms, if available.
              - …
            - `fullText` string — The full body text of the result if not already contained in the snippets. Only populated for conversation results (e.g. results from a messaging app such as Slack).
            - `fullTextList` string[] — The full body text of the result if not already contained in the snippets; each item in the array represents a separate line in the original text. Only populated for conversation results (e.g. results from a messaging app such as Slack).
            - `relatedResults` RelatedDocuments[] — A list of results related to this search result. Eg. for conversation results it contains individual messages from the conversation document which will be shown on SERP.
            - `clusteredResults` SearchResult[] — A list of results that should be displayed as associated with this result.
            - `allClusteredResults` ClusterGroup[] — A list of results that should be displayed as associated with this result.
              - …
            - `attachmentCount` integer — The total number of attachments.
            - `attachments` SearchResult[] — A (potentially partial) list of results representing documents attached to the main result document.
            - `backlinkResults` SearchResult[] — A list of results that should be displayed as backlinks of this result in reverse chronological order.
            - `clusterType` 'SIMILAR' | 'FRESHNESS' | 'TITLE' | 'CONTENT' | 'NONE' | 'THREAD_REPLY' | 'THREAD_ROOT' | 'PREFIX' | 'SUFFIX' | 'AUTHOR_PREFIX' | 'AUTHOR_SUFFIX' — The reason for inclusion of clusteredResults.
            - `mustIncludeSuggestions` QuerySuggestionList
              - …
            - `querySuggestion` QuerySuggestion
              - …
            - `prominence` 'HERO' | 'PROMOTED' | 'STANDARD' — The level of visual distinction that should be given to a result.
            - `attachmentContext` string — Additional context for the relationship between the result and the document it's attached to.
            - `pins` PinDocument[] — A list of pins associated with this search result.
              - …
        - `metadata` PersonMetadata
          - `type` 'FULL_TIME' | 'CONTRACTOR' | 'NON_EMPLOYEE' | 'FORMER_EMPLOYEE'
          - `firstName` string — The first name of the person
          - `lastName` string — The last name of the person
          - `title` string — Job title.
          - `businessUnit` string — Typically the highest level organizational unit; generally applies to bigger companies with multiple distinct businesses.
          - `department` string — An organizational unit where everyone has a similar task, e.g. `Engineering`.
          - `jobFunction` string — Normalized job-function category assigned by Entity Builder from the source department and, when available, job title. Unlike `department`, which preserves the company-specific organizational unit, this field groups departments into configured categories such as `Engineering`, `Sales`, or `IT`; it may be `Unknown` when the mapping is inconclusive.
          - `teams` PersonTeam[] — Info about the employee's team(s).
            - `id` string — Unique identifier
            - `name` string — Team name
            - `externalLink` string, uri — Link to a team page on the internet or your company's intranet
            - `relationship` 'MEMBER' | 'MANAGER' | 'LEAD' | 'POINT_OF_CONTACT' | 'OTHER' — The team member's relationship to the team. This defaults to MEMBER if not set.
            - `joinDate` string, date-time — The team member's start date
          - `departmentCount` integer — The number of people in this person's department.
          - `email` string — The user's primary email address
          - `aliasEmails` string[] — Additional email addresses of this user beyond the primary, if any.
          - `location` string — User facing string representing the person's location.
          - `structuredLocation` StructuredLocation — Detailed location with information about country, state, city etc.
            - `deskLocation` string — Desk number.
            - `timezone` string — Location's timezone, e.g. UTC, PST.
            - `address` string — Office address or name.
            - `city` string — Name of the city.
            - `state` string — State code.
            - `region` string — Region information, e.g. NORAM, APAC.
            - `zipCode` string — ZIP Code for the address.
            - `country` string — Country name.
            - `countryCode` string — Alpha-2 or Alpha-3 ISO 3166 country code, e.g. US or USA.
          - `externalProfileLink` string — Link to a customer's internal profile page. This is set to '#' when no link is desired.
          - `manager` Person — recursive
          - `managementChain` Person[] — The chain of reporting in the company as far up as it goes. The last entry is this person's direct manager.
          - `phone` string — Phone number as a number string.
          - `timezone` string — The timezone of the person. E.g. "Pacific Daylight Time".
          - `timezoneOffset` integer — The offset of the person's timezone in seconds from UTC.
          - `timezoneIANA` string — The IANA timezone identifier, e.g. "America/Los_Angeles".
          - `photoUrl` string, url — The URL of the person's avatar. Public, glean-authenticated and Base64 encoded data URLs are all valid (but not third-party-authenticated URLs).
          - `uneditedPhotoUrl` string, url — The original photo URL of the person's avatar before any edits they made are applied
          - `bannerUrl` string, url — The URL of the person's banner photo.
          - `reports` Person[]
          - `startDate` string, date — The date when the employee started.
          - `endDate` string, date — If a former employee, the last date of employment.
          - `bio` string — Short biography or mission statement of the employee.
          - `pronoun` string — She/her, He/his or other pronoun.
          - `orgSizeCount` integer — The total recursive size of the people reporting to this person, or 1
          - `directReportsCount` integer — The total number of people who directly report to this person, or 0
          - `preferredName` string — The preferred name of the person, or a nickname.
          - `socialNetwork` SocialNetwork[] — List of social network profiles.
            - `name` string, required — Possible values are "twitter", "linkedin".
            - `profileName` string — Human-readable profile name.
            - `profileUrl` string, url, required — Link to profile.
          - `datasourceProfile` DatasourceProfile[] — List of profiles this user has in different datasources / tools that they use.
            - `datasource` string, required — The datasource the profile is of.
            - `handle` string, required — The display name of the entity in the given datasource.
            - `url` string — URL to view the entity's profile.
            - `nativeAppUrl` string — A deep link, if available, into the datasource's native application for the entity's platform (i.e. slack://...).
            - `isUserGenerated` boolean — For internal use only. True iff the data source profile was manually added by a user from within Glean (aka not from the original data source)
          - `querySuggestions` QuerySuggestionList
            - `suggestions` QuerySuggestion[]
              - …
            - `person` Person — recursive
          - `peopleDistance` PersonDistance[] — List of people and distances to those people from this person. Optionally with metadata.
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `distance` number, float, required — Distance to person, refer to PeopleDistance pipeline on interpretation of the value.
          - `inviteInfo` InviteInfo — Information regarding the invite status of a person.
            - `signUpTime` string, date-time — The time this person signed up in ISO format (ISO 8601).
            - `invites` ChannelInviteInfo[] — Latest invites received by the user for each channel
              - …
            - `inviter` Person — recursive
            - `inviteTime` string, date-time — The time this person was invited in ISO format (ISO 8601).
            - `reminderTime` string, date-time — The time this person was reminded in ISO format (ISO 8601) if a reminder was sent.
          - `isSignedUp` boolean — Whether the user has signed into Glean at least once.
          - `lastExtensionUse` string, date-time — The last time the user has used the Glean extension in ISO 8601 format.
          - `permissions` Permissions — Describes the permissions levels that a user has for permissioned features. When the client sends this, Permissions.read and Permissions.write are the additional permissions granted to a user on top of what they have via their roles. When the server sends this, Permissions.read and Permissions.write are the complete (merged) set of permissions the user has, and Permissions.roles is just for display purposes.
            - `canAdminSearch` boolean — TODO--deprecate in favor of the read and write properties. True if the user has access to /adminsearch
            - `canAdminClientApiGlobalTokens` boolean — TODO--deprecate in favor of the read and write properties. True if the user can administrate client API tokens with global scope
            - `canDlp` boolean — TODO--deprecate in favor of the read and write properties. True if the user has access to data loss prevention (DLP) features
            - `read` unknown
            - `write` unknown
            - `grant` unknown
            - `role` string — The roleId of the canonical role a user has. The displayName is equal to the roleId.
            - `roles` string[] — The roleIds of the roles a user has.
          - `customFields` CustomFieldData[] — User customizable fields for additional people information.
            - `label` string, required — A user-facing label for this field.
            - `values` CustomFieldValue[], required
              - …
            - `displayable` boolean, required — Determines whether the client should display this custom field
          - `loggingId` string — The logging id of the person used in scrubbed logs, tracking GA metrics.
          - `startDatePercentile` number, float — Percentage of the company that started strictly after this person. Between [0,100).
          - `busyEvents` AnonymousEvent[] — Intervals of busy time for this person, along with the type of event they're busy with.
            - `time` TimeInterval
              - …
            - `eventType` 'DEFAULT' | 'OUT_OF_OFFICE' — The nature of the event, for example "out of office".
          - `profileBoolSettings` object — flag settings to indicate user profile settings for certain items
          - `badges` Badge[] — The badges that a user has earned over their lifetime.
            - `key` string — An auto generated unique identifier.
            - `displayName` string — The badge name displayed to users
            - `iconConfig` IconConfig — Defines how to render an icon
              - …
            - `pinned` boolean — The badge should be shown on the PersonAttribution
          - `isOrgRoot` boolean — Whether this person is a "root" node in their organization's hierarchy.
      - `visibility` 'PRIVATE' | 'SPECIFIC_PEOPLE_AND_GROUPS' | 'DOMAIN_LINK' | 'DOMAIN_VISIBLE' | 'PUBLIC_LINK' | 'PUBLIC_VISIBLE' — The level of visibility of the document as understood by our system.
      - `components` string[] — A list of components this result is associated with. Interpretation is specific to each datasource. (e.g. for Jira issues, these are [components](https://confluence.atlassian.com/jirasoftwarecloud/organizing-work-with-components-764478279.html).)
      - `status` string — The status or disposition of the result. Interpretation is specific to each datasource. (e.g. for Jira issues, this is the issue status such as Done, In Progress or Will Not Fix).
      - `statusCategory` string — The status category of the result. Meant to be more general than status. Interpretation is specific to each datasource.
      - `pins` PinDocument[] — A list of stars associated with this result. "Pin" is an older name.
        - `queries` string[] — The query strings for which the pinned result will show.
        - `audienceFilters` FacetFilter[] — Filters which restrict who should see the pinned document. Values are taken from the corresponding filters in people search.
          - `fieldName` string
          - `values` FacetFilterValue[] — Within a single FacetFilter, the values are to be treated like an OR. For example, fieldName type with values [EQUALS Presentation, EQUALS Spreadsheet] means we want to show a document if it's a Presentation OR a Spreadsheet.
            - `value` string
            - `relationType` 'EQUALS' | 'ID_EQUALS' | 'LT' | 'GT' | 'NOT_EQUALS'
            - `isNegated` boolean — DEPRECATED - please use relationType instead
          - `groupName` string — Indicates the value of a facet, if any, that the given facet is grouped under. This is only used for nested facets, for example, fieldName could be owner and groupName would be Spreadsheet if showing all owners for spreadsheets as a nested facet.
        - `id` string — The opaque id of the pin.
        - `documentId` string, required — The document which should be a pinned result.
        - `attribution` Person
          - `name` string, required — The display name.
          - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
          - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
            - `relation` 'ATTACHMENT' | 'CANONICAL' | 'CASE' | 'contact' | 'CONTACT' | 'CONVERSATION_MESSAGES' | 'EXPERT' | 'FROM' | 'HIGHLIGHT' | 'opportunity' | 'OPPORTUNITY' | 'RECENT' | 'SOURCE' | 'TICKET' | 'TRANSCRIPT' | 'WITH' — How this document relates to the including entity.
            - `associatedEntityId` string — Which entity in the response that this entity relates to. Relevant when there are multiple entities associated with the response (such as merged customers)
            - `querySuggestion` QuerySuggestion
              - …
            - `documents` Document[] — A truncated list of documents with this relation. TO BE DEPRECATED.
            - `results` SearchResult[] — A truncated list of documents associated with this relation. To be used in favor of `documents` because it contains a trackingToken.
              - …
          - `metadata` PersonMetadata
            - `type` 'FULL_TIME' | 'CONTRACTOR' | 'NON_EMPLOYEE' | 'FORMER_EMPLOYEE'
            - `firstName` string — The first name of the person
            - `lastName` string — The last name of the person
            - `title` string — Job title.
            - `businessUnit` string — Typically the highest level organizational unit; generally applies to bigger companies with multiple distinct businesses.
            - `department` string — An organizational unit where everyone has a similar task, e.g. `Engineering`.
            - `jobFunction` string — Normalized job-function category assigned by Entity Builder from the source department and, when available, job title. Unlike `department`, which preserves the company-specific organizational unit, this field groups departments into configured categories such as `Engineering`, `Sales`, or `IT`; it may be `Unknown` when the mapping is inconclusive.
            - `teams` PersonTeam[] — Info about the employee's team(s).
              - …
            - `departmentCount` integer — The number of people in this person's department.
            - `email` string — The user's primary email address
            - `aliasEmails` string[] — Additional email addresses of this user beyond the primary, if any.
            - `location` string — User facing string representing the person's location.
            - `structuredLocation` StructuredLocation — Detailed location with information about country, state, city etc.
              - …
            - `externalProfileLink` string — Link to a customer's internal profile page. This is set to '#' when no link is desired.
            - `manager` Person — recursive
            - `managementChain` Person[] — The chain of reporting in the company as far up as it goes. The last entry is this person's direct manager.
            - `phone` string — Phone number as a number string.
            - `timezone` string — The timezone of the person. E.g. "Pacific Daylight Time".
            - `timezoneOffset` integer — The offset of the person's timezone in seconds from UTC.
            - `timezoneIANA` string — The IANA timezone identifier, e.g. "America/Los_Angeles".
            - `photoUrl` string, url — The URL of the person's avatar. Public, glean-authenticated and Base64 encoded data URLs are all valid (but not third-party-authenticated URLs).
            - `uneditedPhotoUrl` string, url — The original photo URL of the person's avatar before any edits they made are applied
            - `bannerUrl` string, url — The URL of the person's banner photo.
            - `reports` Person[]
            - `startDate` string, date — The date when the employee started.
            - `endDate` string, date — If a former employee, the last date of employment.
            - `bio` string — Short biography or mission statement of the employee.
            - `pronoun` string — She/her, He/his or other pronoun.
            - `orgSizeCount` integer — The total recursive size of the people reporting to this person, or 1
            - `directReportsCount` integer — The total number of people who directly report to this person, or 0
            - `preferredName` string — The preferred name of the person, or a nickname.
            - `socialNetwork` SocialNetwork[] — List of social network profiles.
              - …
            - `datasourceProfile` DatasourceProfile[] — List of profiles this user has in different datasources / tools that they use.
              - …
            - `querySuggestions` QuerySuggestionList
              - …
            - `peopleDistance` PersonDistance[] — List of people and distances to those people from this person. Optionally with metadata.
              - …
            - `inviteInfo` InviteInfo — Information regarding the invite status of a person.
              - …
            - `isSignedUp` boolean — Whether the user has signed into Glean at least once.
            - `lastExtensionUse` string, date-time — The last time the user has used the Glean extension in ISO 8601 format.
            - `permissions` Permissions — Describes the permissions levels that a user has for permissioned features. When the client sends this, Permissions.read and Permissions.write are the additional permissions granted to a user on top of what they have via their roles. When the server sends this, Permissions.read and Permissions.write are the complete (merged) set of permissions the user has, and Permissions.roles is just for display purposes.
              - …
            - `customFields` CustomFieldData[] — User customizable fields for additional people information.
              - …
            - `loggingId` string — The logging id of the person used in scrubbed logs, tracking GA metrics.
            - `startDatePercentile` number, float — Percentage of the company that started strictly after this person. Between [0,100).
            - `busyEvents` AnonymousEvent[] — Intervals of busy time for this person, along with the type of event they're busy with.
              - …
            - `profileBoolSettings` object — flag settings to indicate user profile settings for certain items
            - `badges` Badge[] — The badges that a user has earned over their lifetime.
              - …
            - `isOrgRoot` boolean — Whether this person is a "root" node in their organization's hierarchy.
        - `updatedBy` Person
          - `name` string, required — The display name.
          - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
          - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
            - `relation` 'ATTACHMENT' | 'CANONICAL' | 'CASE' | 'contact' | 'CONTACT' | 'CONVERSATION_MESSAGES' | 'EXPERT' | 'FROM' | 'HIGHLIGHT' | 'opportunity' | 'OPPORTUNITY' | 'RECENT' | 'SOURCE' | 'TICKET' | 'TRANSCRIPT' | 'WITH' — How this document relates to the including entity.
            - `associatedEntityId` string — Which entity in the response that this entity relates to. Relevant when there are multiple entities associated with the response (such as merged customers)
            - `querySuggestion` QuerySuggestion
              - …
            - `documents` Document[] — A truncated list of documents with this relation. TO BE DEPRECATED.
            - `results` SearchResult[] — A truncated list of documents associated with this relation. To be used in favor of `documents` because it contains a trackingToken.
              - …
          - `metadata` PersonMetadata
            - `type` 'FULL_TIME' | 'CONTRACTOR' | 'NON_EMPLOYEE' | 'FORMER_EMPLOYEE'
            - `firstName` string — The first name of the person
            - `lastName` string — The last name of the person
            - `title` string — Job title.
            - `businessUnit` string — Typically the highest level organizational unit; generally applies to bigger companies with multiple distinct businesses.
            - `department` string — An organizational unit where everyone has a similar task, e.g. `Engineering`.
            - `jobFunction` string — Normalized job-function category assigned by Entity Builder from the source department and, when available, job title. Unlike `department`, which preserves the company-specific organizational unit, this field groups departments into configured categories such as `Engineering`, `Sales`, or `IT`; it may be `Unknown` when the mapping is inconclusive.
            - `teams` PersonTeam[] — Info about the employee's team(s).
              - …
            - `departmentCount` integer — The number of people in this person's department.
            - `email` string — The user's primary email address
            - `aliasEmails` string[] — Additional email addresses of this user beyond the primary, if any.
            - `location` string — User facing string representing the person's location.
            - `structuredLocation` StructuredLocation — Detailed location with information about country, state, city etc.
              - …
            - `externalProfileLink` string — Link to a customer's internal profile page. This is set to '#' when no link is desired.
            - `manager` Person — recursive
            - `managementChain` Person[] — The chain of reporting in the company as far up as it goes. The last entry is this person's direct manager.
            - `phone` string — Phone number as a number string.
            - `timezone` string — The timezone of the person. E.g. "Pacific Daylight Time".
            - `timezoneOffset` integer — The offset of the person's timezone in seconds from UTC.
            - `timezoneIANA` string — The IANA timezone identifier, e.g. "America/Los_Angeles".
            - `photoUrl` string, url — The URL of the person's avatar. Public, glean-authenticated and Base64 encoded data URLs are all valid (but not third-party-authenticated URLs).
            - `uneditedPhotoUrl` string, url — The original photo URL of the person's avatar before any edits they made are applied
            - `bannerUrl` string, url — The URL of the person's banner photo.
            - `reports` Person[]
            - `startDate` string, date — The date when the employee started.
            - `endDate` string, date — If a former employee, the last date of employment.
            - `bio` string — Short biography or mission statement of the employee.
            - `pronoun` string — She/her, He/his or other pronoun.
            - `orgSizeCount` integer — The total recursive size of the people reporting to this person, or 1
            - `directReportsCount` integer — The total number of people who directly report to this person, or 0
            - `preferredName` string — The preferred name of the person, or a nickname.
            - `socialNetwork` SocialNetwork[] — List of social network profiles.
              - …
            - `datasourceProfile` DatasourceProfile[] — List of profiles this user has in different datasources / tools that they use.
              - …
            - `querySuggestions` QuerySuggestionList
              - …
            - `peopleDistance` PersonDistance[] — List of people and distances to those people from this person. Optionally with metadata.
              - …
            - `inviteInfo` InviteInfo — Information regarding the invite status of a person.
              - …
            - `isSignedUp` boolean — Whether the user has signed into Glean at least once.
            - `lastExtensionUse` string, date-time — The last time the user has used the Glean extension in ISO 8601 format.
            - `permissions` Permissions — Describes the permissions levels that a user has for permissioned features. When the client sends this, Permissions.read and Permissions.write are the additional permissions granted to a user on top of what they have via their roles. When the server sends this, Permissions.read and Permissions.write are the complete (merged) set of permissions the user has, and Permissions.roles is just for display purposes.
              - …
            - `customFields` CustomFieldData[] — User customizable fields for additional people information.
              - …
            - `loggingId` string — The logging id of the person used in scrubbed logs, tracking GA metrics.
            - `startDatePercentile` number, float — Percentage of the company that started strictly after this person. Between [0,100).
            - `busyEvents` AnonymousEvent[] — Intervals of busy time for this person, along with the type of event they're busy with.
              - …
            - `profileBoolSettings` object — flag settings to indicate user profile settings for certain items
            - `badges` Badge[] — The badges that a user has earned over their lifetime.
              - …
            - `isOrgRoot` boolean — Whether this person is a "root" node in their organization's hierarchy.
        - `createTime` string, date-time
        - `updateTime` string, date-time
        - `favoriteInfo` FavoriteInfo
          - `ugcType` 'AGENT_TYPE' | 'ANNOUNCEMENTS_TYPE' | 'ANSWERS_TYPE' | 'CHATS_TYPE' | 'COLLECTIONS_TYPE' | 'EMAIL_TYPE' | 'HTML_CODE_TYPE' | 'IMAGE_TYPE' | 'MESSAGE_TYPE' | 'PAPER_TYPE' | 'PRISM_VIEWS_TYPE' | 'PROMPT_TEMPLATES_TYPE' | 'PINS_TYPE' | 'SCRIBES_TYPE' | 'SHORTCUTS_TYPE' | 'SLIDE_TYPE' | 'SPREADSHEET_TYPE' | 'INLINE_HTML_TYPE' | 'PODCAST_TYPE' | 'WORKFLOWS_TYPE'
          - `id` string — Opaque id of the UGC.
          - `count` integer — Number of users this object has been favorited by.
          - `favoritedByUser` boolean — If the requesting user has favorited this object.
      - `priority` string — The document priority. Interpretation is datasource specific.
      - `assignedTo` Person
        - `name` string, required — The display name.
        - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
        - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
          - `relation` 'ATTACHMENT' | 'CANONICAL' | 'CASE' | 'contact' | 'CONTACT' | 'CONVERSATION_MESSAGES' | 'EXPERT' | 'FROM' | 'HIGHLIGHT' | 'opportunity' | 'OPPORTUNITY' | 'RECENT' | 'SOURCE' | 'TICKET' | 'TRANSCRIPT' | 'WITH' — How this document relates to the including entity.
          - `associatedEntityId` string — Which entity in the response that this entity relates to. Relevant when there are multiple entities associated with the response (such as merged customers)
          - `querySuggestion` QuerySuggestion
            - `missingTerm` string — A query term missing from the original query on which this suggestion is based.
            - `query` string, required — The query being suggested (e.g. enforcing the missing term from the original query).
            - `searchProviderInfo` SearchProviderInfo
              - …
            - `label` string — A user-facing description to display for the suggestion.
            - `datasource` string — The datasource associated with the suggestion.
            - `resultTab` ResultTab
              - …
            - `requestOptions` SearchRequestOptions
              - …
            - `ranges` TextRange[] — The bolded ranges within the query of the QuerySuggestion.
              - …
            - `inputDetails` SearchRequestInputDetails
              - …
          - `documents` Document[] — A truncated list of documents with this relation. TO BE DEPRECATED.
          - `results` SearchResult[] — A truncated list of documents associated with this relation. To be used in favor of `documents` because it contains a trackingToken.
            - `structuredResults` StructuredResult[] — An array of entities in the work graph retrieved via a data request.
              - …
            - `trackingToken` string — An opaque token that represents this particular result in this particular query. To be used for /feedback reporting.
            - `document` Document — recursive
            - `title` string
            - `url` string, required
            - `nativeAppUrl` string — A deep link, if available, into the datasource's native application for the user's platform (e.g. slack://...).
            - `snippets` SearchResultSnippet[] — Text content from the result document which contains search query terms, if available.
              - …
            - `fullText` string — The full body text of the result if not already contained in the snippets. Only populated for conversation results (e.g. results from a messaging app such as Slack).
            - `fullTextList` string[] — The full body text of the result if not already contained in the snippets; each item in the array represents a separate line in the original text. Only populated for conversation results (e.g. results from a messaging app such as Slack).
            - `relatedResults` RelatedDocuments[] — A list of results related to this search result. Eg. for conversation results it contains individual messages from the conversation document which will be shown on SERP.
            - `clusteredResults` SearchResult[] — A list of results that should be displayed as associated with this result.
            - `allClusteredResults` ClusterGroup[] — A list of results that should be displayed as associated with this result.
              - …
            - `attachmentCount` integer — The total number of attachments.
            - `attachments` SearchResult[] — A (potentially partial) list of results representing documents attached to the main result document.
            - `backlinkResults` SearchResult[] — A list of results that should be displayed as backlinks of this result in reverse chronological order.
            - `clusterType` 'SIMILAR' | 'FRESHNESS' | 'TITLE' | 'CONTENT' | 'NONE' | 'THREAD_REPLY' | 'THREAD_ROOT' | 'PREFIX' | 'SUFFIX' | 'AUTHOR_PREFIX' | 'AUTHOR_SUFFIX' — The reason for inclusion of clusteredResults.
            - `mustIncludeSuggestions` QuerySuggestionList
              - …
            - `querySuggestion` QuerySuggestion
              - …
            - `prominence` 'HERO' | 'PROMOTED' | 'STANDARD' — The level of visual distinction that should be given to a result.
            - `attachmentContext` string — Additional context for the relationship between the result and the document it's attached to.
            - `pins` PinDocument[] — A list of pins associated with this search result.
              - …
        - `metadata` PersonMetadata
          - `type` 'FULL_TIME' | 'CONTRACTOR' | 'NON_EMPLOYEE' | 'FORMER_EMPLOYEE'
          - `firstName` string — The first name of the person
          - `lastName` string — The last name of the person
          - `title` string — Job title.
          - `businessUnit` string — Typically the highest level organizational unit; generally applies to bigger companies with multiple distinct businesses.
          - `department` string — An organizational unit where everyone has a similar task, e.g. `Engineering`.
          - `jobFunction` string — Normalized job-function category assigned by Entity Builder from the source department and, when available, job title. Unlike `department`, which preserves the company-specific organizational unit, this field groups departments into configured categories such as `Engineering`, `Sales`, or `IT`; it may be `Unknown` when the mapping is inconclusive.
          - `teams` PersonTeam[] — Info about the employee's team(s).
            - `id` string — Unique identifier
            - `name` string — Team name
            - `externalLink` string, uri — Link to a team page on the internet or your company's intranet
            - `relationship` 'MEMBER' | 'MANAGER' | 'LEAD' | 'POINT_OF_CONTACT' | 'OTHER' — The team member's relationship to the team. This defaults to MEMBER if not set.
            - `joinDate` string, date-time — The team member's start date
          - `departmentCount` integer — The number of people in this person's department.
          - `email` string — The user's primary email address
          - `aliasEmails` string[] — Additional email addresses of this user beyond the primary, if any.
          - `location` string — User facing string representing the person's location.
          - `structuredLocation` StructuredLocation — Detailed location with information about country, state, city etc.
            - `deskLocation` string — Desk number.
            - `timezone` string — Location's timezone, e.g. UTC, PST.
            - `address` string — Office address or name.
            - `city` string — Name of the city.
            - `state` string — State code.
            - `region` string — Region information, e.g. NORAM, APAC.
            - `zipCode` string — ZIP Code for the address.
            - `country` string — Country name.
            - `countryCode` string — Alpha-2 or Alpha-3 ISO 3166 country code, e.g. US or USA.
          - `externalProfileLink` string — Link to a customer's internal profile page. This is set to '#' when no link is desired.
          - `manager` Person — recursive
          - `managementChain` Person[] — The chain of reporting in the company as far up as it goes. The last entry is this person's direct manager.
          - `phone` string — Phone number as a number string.
          - `timezone` string — The timezone of the person. E.g. "Pacific Daylight Time".
          - `timezoneOffset` integer — The offset of the person's timezone in seconds from UTC.
          - `timezoneIANA` string — The IANA timezone identifier, e.g. "America/Los_Angeles".
          - `photoUrl` string, url — The URL of the person's avatar. Public, glean-authenticated and Base64 encoded data URLs are all valid (but not third-party-authenticated URLs).
          - `uneditedPhotoUrl` string, url — The original photo URL of the person's avatar before any edits they made are applied
          - `bannerUrl` string, url — The URL of the person's banner photo.
          - `reports` Person[]
          - `startDate` string, date — The date when the employee started.
          - `endDate` string, date — If a former employee, the last date of employment.
          - `bio` string — Short biography or mission statement of the employee.
          - `pronoun` string — She/her, He/his or other pronoun.
          - `orgSizeCount` integer — The total recursive size of the people reporting to this person, or 1
          - `directReportsCount` integer — The total number of people who directly report to this person, or 0
          - `preferredName` string — The preferred name of the person, or a nickname.
          - `socialNetwork` SocialNetwork[] — List of social network profiles.
            - `name` string, required — Possible values are "twitter", "linkedin".
            - `profileName` string — Human-readable profile name.
            - `profileUrl` string, url, required — Link to profile.
          - `datasourceProfile` DatasourceProfile[] — List of profiles this user has in different datasources / tools that they use.
            - `datasource` string, required — The datasource the profile is of.
            - `handle` string, required — The display name of the entity in the given datasource.
            - `url` string — URL to view the entity's profile.
            - `nativeAppUrl` string — A deep link, if available, into the datasource's native application for the entity's platform (i.e. slack://...).
            - `isUserGenerated` boolean — For internal use only. True iff the data source profile was manually added by a user from within Glean (aka not from the original data source)
          - `querySuggestions` QuerySuggestionList
            - `suggestions` QuerySuggestion[]
              - …
            - `person` Person — recursive
          - `peopleDistance` PersonDistance[] — List of people and distances to those people from this person. Optionally with metadata.
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `distance` number, float, required — Distance to person, refer to PeopleDistance pipeline on interpretation of the value.
          - `inviteInfo` InviteInfo — Information regarding the invite status of a person.
            - `signUpTime` string, date-time — The time this person signed up in ISO format (ISO 8601).
            - `invites` ChannelInviteInfo[] — Latest invites received by the user for each channel
              - …
            - `inviter` Person — recursive
            - `inviteTime` string, date-time — The time this person was invited in ISO format (ISO 8601).
            - `reminderTime` string, date-time — The time this person was reminded in ISO format (ISO 8601) if a reminder was sent.
          - `isSignedUp` boolean — Whether the user has signed into Glean at least once.
          - `lastExtensionUse` string, date-time — The last time the user has used the Glean extension in ISO 8601 format.
          - `permissions` Permissions — Describes the permissions levels that a user has for permissioned features. When the client sends this, Permissions.read and Permissions.write are the additional permissions granted to a user on top of what they have via their roles. When the server sends this, Permissions.read and Permissions.write are the complete (merged) set of permissions the user has, and Permissions.roles is just for display purposes.
            - `canAdminSearch` boolean — TODO--deprecate in favor of the read and write properties. True if the user has access to /adminsearch
            - `canAdminClientApiGlobalTokens` boolean — TODO--deprecate in favor of the read and write properties. True if the user can administrate client API tokens with global scope
            - `canDlp` boolean — TODO--deprecate in favor of the read and write properties. True if the user has access to data loss prevention (DLP) features
            - `read` unknown
            - `write` unknown
            - `grant` unknown
            - `role` string — The roleId of the canonical role a user has. The displayName is equal to the roleId.
            - `roles` string[] — The roleIds of the roles a user has.
          - `customFields` CustomFieldData[] — User customizable fields for additional people information.
            - `label` string, required — A user-facing label for this field.
            - `values` CustomFieldValue[], required
              - …
            - `displayable` boolean, required — Determines whether the client should display this custom field
          - `loggingId` string — The logging id of the person used in scrubbed logs, tracking GA metrics.
          - `startDatePercentile` number, float — Percentage of the company that started strictly after this person. Between [0,100).
          - `busyEvents` AnonymousEvent[] — Intervals of busy time for this person, along with the type of event they're busy with.
            - `time` TimeInterval
              - …
            - `eventType` 'DEFAULT' | 'OUT_OF_OFFICE' — The nature of the event, for example "out of office".
          - `profileBoolSettings` object — flag settings to indicate user profile settings for certain items
          - `badges` Badge[] — The badges that a user has earned over their lifetime.
            - `key` string — An auto generated unique identifier.
            - `displayName` string — The badge name displayed to users
            - `iconConfig` IconConfig — Defines how to render an icon
              - …
            - `pinned` boolean — The badge should be shown on the PersonAttribution
          - `isOrgRoot` boolean — Whether this person is a "root" node in their organization's hierarchy.
      - `updatedBy` Person
        - `name` string, required — The display name.
        - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
        - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
          - `relation` 'ATTACHMENT' | 'CANONICAL' | 'CASE' | 'contact' | 'CONTACT' | 'CONVERSATION_MESSAGES' | 'EXPERT' | 'FROM' | 'HIGHLIGHT' | 'opportunity' | 'OPPORTUNITY' | 'RECENT' | 'SOURCE' | 'TICKET' | 'TRANSCRIPT' | 'WITH' — How this document relates to the including entity.
          - `associatedEntityId` string — Which entity in the response that this entity relates to. Relevant when there are multiple entities associated with the response (such as merged customers)
          - `querySuggestion` QuerySuggestion
            - `missingTerm` string — A query term missing from the original query on which this suggestion is based.
            - `query` string, required — The query being suggested (e.g. enforcing the missing term from the original query).
            - `searchProviderInfo` SearchProviderInfo
              - …
            - `label` string — A user-facing description to display for the suggestion.
            - `datasource` string — The datasource associated with the suggestion.
            - `resultTab` ResultTab
              - …
            - `requestOptions` SearchRequestOptions
              - …
            - `ranges` TextRange[] — The bolded ranges within the query of the QuerySuggestion.
              - …
            - `inputDetails` SearchRequestInputDetails
              - …
          - `documents` Document[] — A truncated list of documents with this relation. TO BE DEPRECATED.
          - `results` SearchResult[] — A truncated list of documents associated with this relation. To be used in favor of `documents` because it contains a trackingToken.
            - `structuredResults` StructuredResult[] — An array of entities in the work graph retrieved via a data request.
              - …
            - `trackingToken` string — An opaque token that represents this particular result in this particular query. To be used for /feedback reporting.
            - `document` Document — recursive
            - `title` string
            - `url` string, required
            - `nativeAppUrl` string — A deep link, if available, into the datasource's native application for the user's platform (e.g. slack://...).
            - `snippets` SearchResultSnippet[] — Text content from the result document which contains search query terms, if available.
              - …
            - `fullText` string — The full body text of the result if not already contained in the snippets. Only populated for conversation results (e.g. results from a messaging app such as Slack).
            - `fullTextList` string[] — The full body text of the result if not already contained in the snippets; each item in the array represents a separate line in the original text. Only populated for conversation results (e.g. results from a messaging app such as Slack).
            - `relatedResults` RelatedDocuments[] — A list of results related to this search result. Eg. for conversation results it contains individual messages from the conversation document which will be shown on SERP.
            - `clusteredResults` SearchResult[] — A list of results that should be displayed as associated with this result.
            - `allClusteredResults` ClusterGroup[] — A list of results that should be displayed as associated with this result.
              - …
            - `attachmentCount` integer — The total number of attachments.
            - `attachments` SearchResult[] — A (potentially partial) list of results representing documents attached to the main result document.
            - `backlinkResults` SearchResult[] — A list of results that should be displayed as backlinks of this result in reverse chronological order.
            - `clusterType` 'SIMILAR' | 'FRESHNESS' | 'TITLE' | 'CONTENT' | 'NONE' | 'THREAD_REPLY' | 'THREAD_ROOT' | 'PREFIX' | 'SUFFIX' | 'AUTHOR_PREFIX' | 'AUTHOR_SUFFIX' — The reason for inclusion of clusteredResults.
            - `mustIncludeSuggestions` QuerySuggestionList
              - …
            - `querySuggestion` QuerySuggestion
              - …
            - `prominence` 'HERO' | 'PROMOTED' | 'STANDARD' — The level of visual distinction that should be given to a result.
            - `attachmentContext` string — Additional context for the relationship between the result and the document it's attached to.
            - `pins` PinDocument[] — A list of pins associated with this search result.
              - …
        - `metadata` PersonMetadata
          - `type` 'FULL_TIME' | 'CONTRACTOR' | 'NON_EMPLOYEE' | 'FORMER_EMPLOYEE'
          - `firstName` string — The first name of the person
          - `lastName` string — The last name of the person
          - `title` string — Job title.
          - `businessUnit` string — Typically the highest level organizational unit; generally applies to bigger companies with multiple distinct businesses.
          - `department` string — An organizational unit where everyone has a similar task, e.g. `Engineering`.
          - `jobFunction` string — Normalized job-function category assigned by Entity Builder from the source department and, when available, job title. Unlike `department`, which preserves the company-specific organizational unit, this field groups departments into configured categories such as `Engineering`, `Sales`, or `IT`; it may be `Unknown` when the mapping is inconclusive.
          - `teams` PersonTeam[] — Info about the employee's team(s).
            - `id` string — Unique identifier
            - `name` string — Team name
            - `externalLink` string, uri — Link to a team page on the internet or your company's intranet
            - `relationship` 'MEMBER' | 'MANAGER' | 'LEAD' | 'POINT_OF_CONTACT' | 'OTHER' — The team member's relationship to the team. This defaults to MEMBER if not set.
            - `joinDate` string, date-time — The team member's start date
          - `departmentCount` integer — The number of people in this person's department.
          - `email` string — The user's primary email address
          - `aliasEmails` string[] — Additional email addresses of this user beyond the primary, if any.
          - `location` string — User facing string representing the person's location.
          - `structuredLocation` StructuredLocation — Detailed location with information about country, state, city etc.
            - `deskLocation` string — Desk number.
            - `timezone` string — Location's timezone, e.g. UTC, PST.
            - `address` string — Office address or name.
            - `city` string — Name of the city.
            - `state` string — State code.
            - `region` string — Region information, e.g. NORAM, APAC.
            - `zipCode` string — ZIP Code for the address.
            - `country` string — Country name.
            - `countryCode` string — Alpha-2 or Alpha-3 ISO 3166 country code, e.g. US or USA.
          - `externalProfileLink` string — Link to a customer's internal profile page. This is set to '#' when no link is desired.
          - `manager` Person — recursive
          - `managementChain` Person[] — The chain of reporting in the company as far up as it goes. The last entry is this person's direct manager.
          - `phone` string — Phone number as a number string.
          - `timezone` string — The timezone of the person. E.g. "Pacific Daylight Time".
          - `timezoneOffset` integer — The offset of the person's timezone in seconds from UTC.
          - `timezoneIANA` string — The IANA timezone identifier, e.g. "America/Los_Angeles".
          - `photoUrl` string, url — The URL of the person's avatar. Public, glean-authenticated and Base64 encoded data URLs are all valid (but not third-party-authenticated URLs).
          - `uneditedPhotoUrl` string, url — The original photo URL of the person's avatar before any edits they made are applied
          - `bannerUrl` string, url — The URL of the person's banner photo.
          - `reports` Person[]
          - `startDate` string, date — The date when the employee started.
          - `endDate` string, date — If a former employee, the last date of employment.
          - `bio` string — Short biography or mission statement of the employee.
          - `pronoun` string — She/her, He/his or other pronoun.
          - `orgSizeCount` integer — The total recursive size of the people reporting to this person, or 1
          - `directReportsCount` integer — The total number of people who directly report to this person, or 0
          - `preferredName` string — The preferred name of the person, or a nickname.
          - `socialNetwork` SocialNetwork[] — List of social network profiles.
            - `name` string, required — Possible values are "twitter", "linkedin".
            - `profileName` string — Human-readable profile name.
            - `profileUrl` string, url, required — Link to profile.
          - `datasourceProfile` DatasourceProfile[] — List of profiles this user has in different datasources / tools that they use.
            - `datasource` string, required — The datasource the profile is of.
            - `handle` string, required — The display name of the entity in the given datasource.
            - `url` string — URL to view the entity's profile.
            - `nativeAppUrl` string — A deep link, if available, into the datasource's native application for the entity's platform (i.e. slack://...).
            - `isUserGenerated` boolean — For internal use only. True iff the data source profile was manually added by a user from within Glean (aka not from the original data source)
          - `querySuggestions` QuerySuggestionList
            - `suggestions` QuerySuggestion[]
              - …
            - `person` Person — recursive
          - `peopleDistance` PersonDistance[] — List of people and distances to those people from this person. Optionally with metadata.
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `distance` number, float, required — Distance to person, refer to PeopleDistance pipeline on interpretation of the value.
          - `inviteInfo` InviteInfo — Information regarding the invite status of a person.
            - `signUpTime` string, date-time — The time this person signed up in ISO format (ISO 8601).
            - `invites` ChannelInviteInfo[] — Latest invites received by the user for each channel
              - …
            - `inviter` Person — recursive
            - `inviteTime` string, date-time — The time this person was invited in ISO format (ISO 8601).
            - `reminderTime` string, date-time — The time this person was reminded in ISO format (ISO 8601) if a reminder was sent.
          - `isSignedUp` boolean — Whether the user has signed into Glean at least once.
          - `lastExtensionUse` string, date-time — The last time the user has used the Glean extension in ISO 8601 format.
          - `permissions` Permissions — Describes the permissions levels that a user has for permissioned features. When the client sends this, Permissions.read and Permissions.write are the additional permissions granted to a user on top of what they have via their roles. When the server sends this, Permissions.read and Permissions.write are the complete (merged) set of permissions the user has, and Permissions.roles is just for display purposes.
            - `canAdminSearch` boolean — TODO--deprecate in favor of the read and write properties. True if the user has access to /adminsearch
            - `canAdminClientApiGlobalTokens` boolean — TODO--deprecate in favor of the read and write properties. True if the user can administrate client API tokens with global scope
            - `canDlp` boolean — TODO--deprecate in favor of the read and write properties. True if the user has access to data loss prevention (DLP) features
            - `read` unknown
            - `write` unknown
            - `grant` unknown
            - `role` string — The roleId of the canonical role a user has. The displayName is equal to the roleId.
            - `roles` string[] — The roleIds of the roles a user has.
          - `customFields` CustomFieldData[] — User customizable fields for additional people information.
            - `label` string, required — A user-facing label for this field.
            - `values` CustomFieldValue[], required
              - …
            - `displayable` boolean, required — Determines whether the client should display this custom field
          - `loggingId` string — The logging id of the person used in scrubbed logs, tracking GA metrics.
          - `startDatePercentile` number, float — Percentage of the company that started strictly after this person. Between [0,100).
          - `busyEvents` AnonymousEvent[] — Intervals of busy time for this person, along with the type of event they're busy with.
            - `time` TimeInterval
              - …
            - `eventType` 'DEFAULT' | 'OUT_OF_OFFICE' — The nature of the event, for example "out of office".
          - `profileBoolSettings` object — flag settings to indicate user profile settings for certain items
          - `badges` Badge[] — The badges that a user has earned over their lifetime.
            - `key` string — An auto generated unique identifier.
            - `displayName` string — The badge name displayed to users
            - `iconConfig` IconConfig — Defines how to render an icon
              - …
            - `pinned` boolean — The badge should be shown on the PersonAttribution
          - `isOrgRoot` boolean — Whether this person is a "root" node in their organization's hierarchy.
      - `labels` string[] — A list of tags for the document. Interpretation is datasource specific.
      - `collections` Collection[] — A list of collections that the document belongs to.
        - `name` string, required — The unique name of the Collection.
        - `description` string, required — A brief summary of the Collection's contents.
        - `addedRoles` UserRoleSpecification[] — A list of added user roles for the Collection.
          - `sourceDocumentSpec` union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
          - `person` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `group` Group
            - `type` 'DEPARTMENT' | 'ALL' | 'TEAM' | 'JOB_TITLE' | 'ROLE_TYPE' | 'LOCATION' | 'REGION' | 'EXTERNAL_GROUP' | 'COLLECTION_AUDIENCE', required — The type of user group
            - `id` string, required — A unique identifier for the group. May be the same as name.
            - `name` string — Name of the group.
            - `datasourceInstance` string — Datasource instance if the group belongs to one e.g. external groups.
            - `provisioningId` string — identifier for greenlist provisioning, aka sciokey
          - `role` 'OWNER' | 'VIEWER' | 'ANSWER_MODERATOR' | 'EDITOR' | 'VERIFIER', required — A user's role with respect to a specific document.
        - `removedRoles` UserRoleSpecification[] — A list of removed user roles for the Collection.
          - `sourceDocumentSpec` union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
          - `person` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `group` Group
            - `type` 'DEPARTMENT' | 'ALL' | 'TEAM' | 'JOB_TITLE' | 'ROLE_TYPE' | 'LOCATION' | 'REGION' | 'EXTERNAL_GROUP' | 'COLLECTION_AUDIENCE', required — The type of user group
            - `id` string, required — A unique identifier for the group. May be the same as name.
            - `name` string — Name of the group.
            - `datasourceInstance` string — Datasource instance if the group belongs to one e.g. external groups.
            - `provisioningId` string — identifier for greenlist provisioning, aka sciokey
          - `role` 'OWNER' | 'VIEWER' | 'ANSWER_MODERATOR' | 'EDITOR' | 'VERIFIER', required — A user's role with respect to a specific document.
        - `audienceFilters` FacetFilter[] — Filters which restrict who should see this Collection. Values are taken from the corresponding filters in people search.
          - `fieldName` string
          - `values` FacetFilterValue[] — Within a single FacetFilter, the values are to be treated like an OR. For example, fieldName type with values [EQUALS Presentation, EQUALS Spreadsheet] means we want to show a document if it's a Presentation OR a Spreadsheet.
            - `value` string
            - `relationType` 'EQUALS' | 'ID_EQUALS' | 'LT' | 'GT' | 'NOT_EQUALS'
            - `isNegated` boolean — DEPRECATED - please use relationType instead
          - `groupName` string — Indicates the value of a facet, if any, that the given facet is grouped under. This is only used for nested facets, for example, fieldName could be owner and groupName would be Spreadsheet if showing all owners for spreadsheets as a nested facet.
        - `icon` string — The emoji icon of this Collection.
        - `adminLocked` boolean — Indicates whether edits are allowed for everyone or only admins.
        - `parentId` integer — The parent of this Collection, or 0 if it's a top-level Collection.
        - `thumbnail` Thumbnail
          - `photoId` string — Photo id if the thumbnail is from splash.
          - `url` string — Thumbnail URL. This can be user provided image and/or from downloaded images hosted by Glean.
        - `allowedDatasource` string — The datasource type this Collection can hold.
        - `permissions` ObjectPermissions
          - `write` WritePermission — Describes the write permissions levels that a user has for a specific feature
            - `scopeType` 'GLOBAL' | 'OWN' — Describes the scope for a ReadPermission, WritePermission, or GrantPermission object
            - `create` boolean — True if user has create permission for this feature and scope
            - `update` boolean — True if user has update permission for this feature and scope
            - `delete` boolean — True if user has delete permission for this feature and scope
        - `trackingToken` string — An opaque token that represents this particular UGC. To be used for `/feedback` reporting.
        - `id` integer, required — The unique ID of the Collection.
        - `createTime` string, date-time
        - `updateTime` string, date-time
        - `creator` Person
          - `name` string, required — The display name.
          - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
          - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
            - `relation` 'ATTACHMENT' | 'CANONICAL' | 'CASE' | 'contact' | 'CONTACT' | 'CONVERSATION_MESSAGES' | 'EXPERT' | 'FROM' | 'HIGHLIGHT' | 'opportunity' | 'OPPORTUNITY' | 'RECENT' | 'SOURCE' | 'TICKET' | 'TRANSCRIPT' | 'WITH' — How this document relates to the including entity.
            - `associatedEntityId` string — Which entity in the response that this entity relates to. Relevant when there are multiple entities associated with the response (such as merged customers)
            - `querySuggestion` QuerySuggestion
              - …
            - `documents` Document[] — A truncated list of documents with this relation. TO BE DEPRECATED.
            - `results` SearchResult[] — A truncated list of documents associated with this relation. To be used in favor of `documents` because it contains a trackingToken.
              - …
          - `metadata` PersonMetadata
            - `type` 'FULL_TIME' | 'CONTRACTOR' | 'NON_EMPLOYEE' | 'FORMER_EMPLOYEE'
            - `firstName` string — The first name of the person
            - `lastName` string — The last name of the person
            - `title` string — Job title.
            - `businessUnit` string — Typically the highest level organizational unit; generally applies to bigger companies with multiple distinct businesses.
            - `department` string — An organizational unit where everyone has a similar task, e.g. `Engineering`.
            - `jobFunction` string — Normalized job-function category assigned by Entity Builder from the source department and, when available, job title. Unlike `department`, which preserves the company-specific organizational unit, this field groups departments into configured categories such as `Engineering`, `Sales`, or `IT`; it may be `Unknown` when the mapping is inconclusive.
            - `teams` PersonTeam[] — Info about the employee's team(s).
              - …
            - `departmentCount` integer — The number of people in this person's department.
            - `email` string — The user's primary email address
            - `aliasEmails` string[] — Additional email addresses of this user beyond the primary, if any.
            - `location` string — User facing string representing the person's location.
            - `structuredLocation` StructuredLocation — Detailed location with information about country, state, city etc.
              - …
            - `externalProfileLink` string — Link to a customer's internal profile page. This is set to '#' when no link is desired.
            - `manager` Person — recursive
            - `managementChain` Person[] — The chain of reporting in the company as far up as it goes. The last entry is this person's direct manager.
            - `phone` string — Phone number as a number string.
            - `timezone` string — The timezone of the person. E.g. "Pacific Daylight Time".
            - `timezoneOffset` integer — The offset of the person's timezone in seconds from UTC.
            - `timezoneIANA` string — The IANA timezone identifier, e.g. "America/Los_Angeles".
            - `photoUrl` string, url — The URL of the person's avatar. Public, glean-authenticated and Base64 encoded data URLs are all valid (but not third-party-authenticated URLs).
            - `uneditedPhotoUrl` string, url — The original photo URL of the person's avatar before any edits they made are applied
            - `bannerUrl` string, url — The URL of the person's banner photo.
            - `reports` Person[]
            - `startDate` string, date — The date when the employee started.
            - `endDate` string, date — If a former employee, the last date of employment.
            - `bio` string — Short biography or mission statement of the employee.
            - `pronoun` string — She/her, He/his or other pronoun.
            - `orgSizeCount` integer — The total recursive size of the people reporting to this person, or 1
            - `directReportsCount` integer — The total number of people who directly report to this person, or 0
            - `preferredName` string — The preferred name of the person, or a nickname.
            - `socialNetwork` SocialNetwork[] — List of social network profiles.
              - …
            - `datasourceProfile` DatasourceProfile[] — List of profiles this user has in different datasources / tools that they use.
              - …
            - `querySuggestions` QuerySuggestionList
              - …
            - `peopleDistance` PersonDistance[] — List of people and distances to those people from this person. Optionally with metadata.
              - …
            - `inviteInfo` InviteInfo — Information regarding the invite status of a person.
              - …
            - `isSignedUp` boolean — Whether the user has signed into Glean at least once.
            - `lastExtensionUse` string, date-time — The last time the user has used the Glean extension in ISO 8601 format.
            - `permissions` Permissions — Describes the permissions levels that a user has for permissioned features. When the client sends this, Permissions.read and Permissions.write are the additional permissions granted to a user on top of what they have via their roles. When the server sends this, Permissions.read and Permissions.write are the complete (merged) set of permissions the user has, and Permissions.roles is just for display purposes.
              - …
            - `customFields` CustomFieldData[] — User customizable fields for additional people information.
              - …
            - `loggingId` string — The logging id of the person used in scrubbed logs, tracking GA metrics.
            - `startDatePercentile` number, float — Percentage of the company that started strictly after this person. Between [0,100).
            - `busyEvents` AnonymousEvent[] — Intervals of busy time for this person, along with the type of event they're busy with.
              - …
            - `profileBoolSettings` object — flag settings to indicate user profile settings for certain items
            - `badges` Badge[] — The badges that a user has earned over their lifetime.
              - …
            - `isOrgRoot` boolean — Whether this person is a "root" node in their organization's hierarchy.
        - `updatedBy` Person
          - `name` string, required — The display name.
          - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
          - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
            - `relation` 'ATTACHMENT' | 'CANONICAL' | 'CASE' | 'contact' | 'CONTACT' | 'CONVERSATION_MESSAGES' | 'EXPERT' | 'FROM' | 'HIGHLIGHT' | 'opportunity' | 'OPPORTUNITY' | 'RECENT' | 'SOURCE' | 'TICKET' | 'TRANSCRIPT' | 'WITH' — How this document relates to the including entity.
            - `associatedEntityId` string — Which entity in the response that this entity relates to. Relevant when there are multiple entities associated with the response (such as merged customers)
            - `querySuggestion` QuerySuggestion
              - …
            - `documents` Document[] — A truncated list of documents with this relation. TO BE DEPRECATED.
            - `results` SearchResult[] — A truncated list of documents associated with this relation. To be used in favor of `documents` because it contains a trackingToken.
              - …
          - `metadata` PersonMetadata
            - `type` 'FULL_TIME' | 'CONTRACTOR' | 'NON_EMPLOYEE' | 'FORMER_EMPLOYEE'
            - `firstName` string — The first name of the person
            - `lastName` string — The last name of the person
            - `title` string — Job title.
            - `businessUnit` string — Typically the highest level organizational unit; generally applies to bigger companies with multiple distinct businesses.
            - `department` string — An organizational unit where everyone has a similar task, e.g. `Engineering`.
            - `jobFunction` string — Normalized job-function category assigned by Entity Builder from the source department and, when available, job title. Unlike `department`, which preserves the company-specific organizational unit, this field groups departments into configured categories such as `Engineering`, `Sales`, or `IT`; it may be `Unknown` when the mapping is inconclusive.
            - `teams` PersonTeam[] — Info about the employee's team(s).
              - …
            - `departmentCount` integer — The number of people in this person's department.
            - `email` string — The user's primary email address
            - `aliasEmails` string[] — Additional email addresses of this user beyond the primary, if any.
            - `location` string — User facing string representing the person's location.
            - `structuredLocation` StructuredLocation — Detailed location with information about country, state, city etc.
              - …
            - `externalProfileLink` string — Link to a customer's internal profile page. This is set to '#' when no link is desired.
            - `manager` Person — recursive
            - `managementChain` Person[] — The chain of reporting in the company as far up as it goes. The last entry is this person's direct manager.
            - `phone` string — Phone number as a number string.
            - `timezone` string — The timezone of the person. E.g. "Pacific Daylight Time".
            - `timezoneOffset` integer — The offset of the person's timezone in seconds from UTC.
            - `timezoneIANA` string — The IANA timezone identifier, e.g. "America/Los_Angeles".
            - `photoUrl` string, url — The URL of the person's avatar. Public, glean-authenticated and Base64 encoded data URLs are all valid (but not third-party-authenticated URLs).
            - `uneditedPhotoUrl` string, url — The original photo URL of the person's avatar before any edits they made are applied
            - `bannerUrl` string, url — The URL of the person's banner photo.
            - `reports` Person[]
            - `startDate` string, date — The date when the employee started.
            - `endDate` string, date — If a former employee, the last date of employment.
            - `bio` string — Short biography or mission statement of the employee.
            - `pronoun` string — She/her, He/his or other pronoun.
            - `orgSizeCount` integer — The total recursive size of the people reporting to this person, or 1
            - `directReportsCount` integer — The total number of people who directly report to this person, or 0
            - `preferredName` string — The preferred name of the person, or a nickname.
            - `socialNetwork` SocialNetwork[] — List of social network profiles.
              - …
            - `datasourceProfile` DatasourceProfile[] — List of profiles this user has in different datasources / tools that they use.
              - …
            - `querySuggestions` QuerySuggestionList
              - …
            - `peopleDistance` PersonDistance[] — List of people and distances to those people from this person. Optionally with metadata.
              - …
            - `inviteInfo` InviteInfo — Information regarding the invite status of a person.
              - …
            - `isSignedUp` boolean — Whether the user has signed into Glean at least once.
            - `lastExtensionUse` string, date-time — The last time the user has used the Glean extension in ISO 8601 format.
            - `permissions` Permissions — Describes the permissions levels that a user has for permissioned features. When the client sends this, Permissions.read and Permissions.write are the additional permissions granted to a user on top of what they have via their roles. When the server sends this, Permissions.read and Permissions.write are the complete (merged) set of permissions the user has, and Permissions.roles is just for display purposes.
              - …
            - `customFields` CustomFieldData[] — User customizable fields for additional people information.
              - …
            - `loggingId` string — The logging id of the person used in scrubbed logs, tracking GA metrics.
            - `startDatePercentile` number, float — Percentage of the company that started strictly after this person. Between [0,100).
            - `busyEvents` AnonymousEvent[] — Intervals of busy time for this person, along with the type of event they're busy with.
              - …
            - `profileBoolSettings` object — flag settings to indicate user profile settings for certain items
            - `badges` Badge[] — The badges that a user has earned over their lifetime.
              - …
            - `isOrgRoot` boolean — Whether this person is a "root" node in their organization's hierarchy.
        - `itemCount` integer — The number of items currently in the Collection. Separated from the actual items so we can grab the count without items.
        - `childCount` integer — The number of children Collections. Separated from the actual children so we can grab the count without children.
        - `items` CollectionItem[] — The items in this Collection.
          - `name` string — The optional name of the Collection item.
          - `description` string — A helpful description of why this CollectionItem is in the Collection that it's in.
          - `icon` string — The emoji icon for this CollectionItem. Only used for Text type items.
          - `collectionId` integer, required — The Collection ID of the Collection that this CollectionItem belongs in.
          - `documentId` string — If this CollectionItem is indexed, the Glean Document ID of that document.
          - `url` string — The URL of this CollectionItem.
          - `itemId` string — Unique identifier for the item within the Collection it belongs to.
          - `createdBy` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `createdAt` string, date-time — Unix timestamp for when the item was first added (in seconds since epoch UTC).
          - `document` Document — recursive
          - `shortcut` Shortcut
            - `id` integer — The opaque id of the user generated content.
            - `inputAlias` string, required — Link text following go/ prefix as entered by the user.
            - `destinationUrl` string — Destination URL for the shortcut.
            - `destinationDocumentId` string — Glean Document ID for the URL, if known.
            - `description` string — A short, plain text blurb to help people understand the intent of the shortcut.
            - `unlisted` boolean — Whether this shortcut is unlisted or not. Unlisted shortcuts are visible to author + admins only.
            - `urlTemplate` string — For variable shortcuts, contains the URL template; note, `destinationUrl` contains default URL.
            - `addedRoles` UserRoleSpecification[] — A list of user roles added for the Shortcut.
              - …
            - `removedRoles` UserRoleSpecification[] — A list of user roles removed for the Shortcut.
              - …
            - `permissions` ObjectPermissions
              - …
            - `createdBy` Person
              - …
            - `createTime` string, date-time — The time the shortcut was created in ISO format (ISO 8601).
            - `updatedBy` Person
              - …
            - `updateTime` string, date-time — The time the shortcut was updated in ISO format (ISO 8601).
            - `destinationDocument` Document — recursive
            - `intermediateUrl` string — The URL from which the user is then redirected to the destination URL. Full replacement for https://go/<inputAlias>.
            - `viewPrefix` string — The part of the shortcut preceding the input alias when used for showing shortcuts to users. Should end with "/". e.g. "go/" for native shortcuts.
            - `isExternal` boolean — Indicates whether a shortcut is native or external.
            - `editUrl` string — The URL using which the user can access the edit page of the shortcut.
            - `alias` string — canonical link text following go/ prefix where hyphen/underscore is removed.
            - `title` string — Title for the Go Link
            - `roles` UserRoleSpecification[] — A list of user roles for the Go Link.
              - …
            - `favoriteInfo` FavoriteInfo
              - …
          - `collection` Collection — recursive
          - `itemType` 'DOCUMENT' | 'TEXT' | 'URL' | 'COLLECTION', required
        - `pinMetadata` CollectionPinnedMetadata
          - `existingPins` CollectionPinTarget[] — List of targets this Collection is pinned to.
            - `category` 'COMPANY_RESOURCE' | 'DEPARTMENT_RESOURCE' | 'TEAM_RESOURCE', required — Categories a Collection can be pinned to.
            - `value` string — Optional. If category supports values, then the additional value for the category e.g. department name for DEPARTMENT_RESOURCE, team name/id for TEAM_RESOURCE and so on.
            - `target` 'RESOURCE_CARD' | 'TEAM_PROFILE_PAGE' — What targets can a Collection be pinned to.
          - `eligiblePins` CollectionPinMetadata[] — List of targets this Collection can be pinned to, excluding the targets this Collection is already pinned to. We also include Collection ID already is pinned to each eligible target, which will be 0 if the target has no pinned Collection.
            - `id` integer, required — The ID of the Collection.
            - `target` CollectionPinTarget, required
              - …
        - `shortcuts` string[] — The names of the shortcuts (Go Links) that point to this Collection.
        - `children` Collection[] — The children Collections of this Collection.
        - `roles` UserRoleSpecification[] — A list of user roles for the Collection.
          - `sourceDocumentSpec` union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
          - `person` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `group` Group
            - `type` 'DEPARTMENT' | 'ALL' | 'TEAM' | 'JOB_TITLE' | 'ROLE_TYPE' | 'LOCATION' | 'REGION' | 'EXTERNAL_GROUP' | 'COLLECTION_AUDIENCE', required — The type of user group
            - `id` string, required — A unique identifier for the group. May be the same as name.
            - `name` string — Name of the group.
            - `datasourceInstance` string — Datasource instance if the group belongs to one e.g. external groups.
            - `provisioningId` string — identifier for greenlist provisioning, aka sciokey
          - `role` 'OWNER' | 'VIEWER' | 'ANSWER_MODERATOR' | 'EDITOR' | 'VERIFIER', required — A user's role with respect to a specific document.
        - `favoriteInfo` FavoriteInfo
          - `ugcType` 'AGENT_TYPE' | 'ANNOUNCEMENTS_TYPE' | 'ANSWERS_TYPE' | 'CHATS_TYPE' | 'COLLECTIONS_TYPE' | 'EMAIL_TYPE' | 'HTML_CODE_TYPE' | 'IMAGE_TYPE' | 'MESSAGE_TYPE' | 'PAPER_TYPE' | 'PRISM_VIEWS_TYPE' | 'PROMPT_TEMPLATES_TYPE' | 'PINS_TYPE' | 'SCRIBES_TYPE' | 'SHORTCUTS_TYPE' | 'SLIDE_TYPE' | 'SPREADSHEET_TYPE' | 'INLINE_HTML_TYPE' | 'PODCAST_TYPE' | 'WORKFLOWS_TYPE'
          - `id` string — Opaque id of the UGC.
          - `count` integer — Number of users this object has been favorited by.
          - `favoritedByUser` boolean — If the requesting user has favorited this object.
      - `datasourceId` string — The user-visible datasource specific id (e.g. Salesforce case number for example, GitHub PR number).
      - `interactions` DocumentInteractions
        - `numComments` integer — The count of comments (thread replies in the case of slack).
        - `numReactions` integer — The count of reactions on the document.
        - `reactions` string[] — To be deprecated in favor of reacts. A (potentially non-exhaustive) list of reactions for the document.
        - `reacts` Reaction[]
          - `type` string
          - `count` integer — The count of the reaction type on the document.
          - `reactors` Person[]
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `reactedByViewer` boolean — Whether the user in context reacted with this type to the document.
        - `shares` Share[] — Describes instances of someone posting a link to this document in one of our indexed datasources.
          - `numDaysAgo` integer, required — The number of days that has passed since the share happened
          - `sharer` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `sharingDocument` Document — recursive
        - `visitorCount` CountInfo
          - `count` integer, required — The counter value
          - `period` Period
            - `minDaysFromNow` integer — DEPRECATED - The number of days from now in the past to define upper boundary of time period.
            - `maxDaysFromNow` integer — DEPRECATED - The number of days from now in the past to define lower boundary of time period.
            - `start` TimePoint
              - …
            - `end` TimePoint
              - …
          - `org` string — The unit of organization over which we did the count aggregation, e.g. org (department) or company
      - `verification` Verification
        - `state` 'UNVERIFIED' | 'VERIFIED' | 'DEPRECATED', required — The verification state for the document.
        - `metadata` VerificationMetadata
          - `lastVerifier` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `lastVerificationTs` integer — The unix timestamp of the verification (in seconds since epoch UTC).
          - `expirationTs` integer — The unix timestamp of the verification expiration if applicable (in seconds since epoch UTC).
          - `document` Document — recursive
          - `reminders` Reminder[] — Info about all outstanding verification reminders for the document if exists.
            - `assignee` Person, required
              - …
            - `requestor` Person
              - …
            - `remindAt` integer, required — Unix timestamp for when the reminder should trigger (in seconds since epoch UTC).
            - `createdAt` integer — Unix timestamp for when the reminder was first created (in seconds since epoch UTC).
            - `reason` string — An optional free-text reason for the reminder. This is particularly useful when a reminder is used to ask for verification from another user (for example, "Duplicate", "Incomplete", "Incorrect").
          - `lastReminder` Reminder
            - `assignee` Person, required
              - …
            - `requestor` Person
              - …
            - `remindAt` integer, required — Unix timestamp for when the reminder should trigger (in seconds since epoch UTC).
            - `createdAt` integer — Unix timestamp for when the reminder was first created (in seconds since epoch UTC).
            - `reason` string — An optional free-text reason for the reminder. This is particularly useful when a reminder is used to ask for verification from another user (for example, "Duplicate", "Incomplete", "Incorrect").
          - `visitorCount` CountInfo[] — Number of visitors to the document during included time periods.
            - `count` integer, required — The counter value
            - `period` Period
              - …
            - `org` string — The unit of organization over which we did the count aggregation, e.g. org (department) or company
          - `candidateVerifiers` Person[] — List of potential verifiers for the document e.g. old verifiers and/or users with view/edit permissions.
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
      - `viewerInfo` ViewerInfo
        - `role` 'ANSWER_MODERATOR' | 'OWNER' | 'VIEWER' — DEPRECATED - use permissions instead. Viewer's role on the specific document.
        - `lastViewedTime` string, date-time
      - `permissions` ObjectPermissions
        - `write` WritePermission — Describes the write permissions levels that a user has for a specific feature
          - `scopeType` 'GLOBAL' | 'OWN' — Describes the scope for a ReadPermission, WritePermission, or GrantPermission object
          - `create` boolean — True if user has create permission for this feature and scope
          - `update` boolean — True if user has update permission for this feature and scope
          - `delete` boolean — True if user has delete permission for this feature and scope
      - `visitCount` CountInfo
        - `count` integer, required — The counter value
        - `period` Period
          - `minDaysFromNow` integer — DEPRECATED - The number of days from now in the past to define upper boundary of time period.
          - `maxDaysFromNow` integer — DEPRECATED - The number of days from now in the past to define lower boundary of time period.
          - `start` TimePoint
            - `epochSeconds` integer — Epoch seconds. Has precedence over daysFromNow.
            - `daysFromNow` integer — Number of days in the past, relative to the current date.
          - `end` TimePoint
            - `epochSeconds` integer — Epoch seconds. Has precedence over daysFromNow.
            - `daysFromNow` integer — Number of days in the past, relative to the current date.
        - `org` string — The unit of organization over which we did the count aggregation, e.g. org (department) or company
      - `shortcuts` Shortcut[] — A list of shortcuts of which destination URL is for the document.
        - `id` integer — The opaque id of the user generated content.
        - `inputAlias` string, required — Link text following go/ prefix as entered by the user.
        - `destinationUrl` string — Destination URL for the shortcut.
        - `destinationDocumentId` string — Glean Document ID for the URL, if known.
        - `description` string — A short, plain text blurb to help people understand the intent of the shortcut.
        - `unlisted` boolean — Whether this shortcut is unlisted or not. Unlisted shortcuts are visible to author + admins only.
        - `urlTemplate` string — For variable shortcuts, contains the URL template; note, `destinationUrl` contains default URL.
        - `addedRoles` UserRoleSpecification[] — A list of user roles added for the Shortcut.
          - `sourceDocumentSpec` union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
          - `person` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `group` Group
            - `type` 'DEPARTMENT' | 'ALL' | 'TEAM' | 'JOB_TITLE' | 'ROLE_TYPE' | 'LOCATION' | 'REGION' | 'EXTERNAL_GROUP' | 'COLLECTION_AUDIENCE', required — The type of user group
            - `id` string, required — A unique identifier for the group. May be the same as name.
            - `name` string — Name of the group.
            - `datasourceInstance` string — Datasource instance if the group belongs to one e.g. external groups.
            - `provisioningId` string — identifier for greenlist provisioning, aka sciokey
          - `role` 'OWNER' | 'VIEWER' | 'ANSWER_MODERATOR' | 'EDITOR' | 'VERIFIER', required — A user's role with respect to a specific document.
        - `removedRoles` UserRoleSpecification[] — A list of user roles removed for the Shortcut.
          - `sourceDocumentSpec` union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
          - `person` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `group` Group
            - `type` 'DEPARTMENT' | 'ALL' | 'TEAM' | 'JOB_TITLE' | 'ROLE_TYPE' | 'LOCATION' | 'REGION' | 'EXTERNAL_GROUP' | 'COLLECTION_AUDIENCE', required — The type of user group
            - `id` string, required — A unique identifier for the group. May be the same as name.
            - `name` string — Name of the group.
            - `datasourceInstance` string — Datasource instance if the group belongs to one e.g. external groups.
            - `provisioningId` string — identifier for greenlist provisioning, aka sciokey
          - `role` 'OWNER' | 'VIEWER' | 'ANSWER_MODERATOR' | 'EDITOR' | 'VERIFIER', required — A user's role with respect to a specific document.
        - `permissions` ObjectPermissions
          - `write` WritePermission — Describes the write permissions levels that a user has for a specific feature
            - `scopeType` 'GLOBAL' | 'OWN' — Describes the scope for a ReadPermission, WritePermission, or GrantPermission object
            - `create` boolean — True if user has create permission for this feature and scope
            - `update` boolean — True if user has update permission for this feature and scope
            - `delete` boolean — True if user has delete permission for this feature and scope
        - `createdBy` Person
          - `name` string, required — The display name.
          - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
          - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
            - `relation` 'ATTACHMENT' | 'CANONICAL' | 'CASE' | 'contact' | 'CONTACT' | 'CONVERSATION_MESSAGES' | 'EXPERT' | 'FROM' | 'HIGHLIGHT' | 'opportunity' | 'OPPORTUNITY' | 'RECENT' | 'SOURCE' | 'TICKET' | 'TRANSCRIPT' | 'WITH' — How this document relates to the including entity.
            - `associatedEntityId` string — Which entity in the response that this entity relates to. Relevant when there are multiple entities associated with the response (such as merged customers)
            - `querySuggestion` QuerySuggestion
              - …
            - `documents` Document[] — A truncated list of documents with this relation. TO BE DEPRECATED.
            - `results` SearchResult[] — A truncated list of documents associated with this relation. To be used in favor of `documents` because it contains a trackingToken.
              - …
          - `metadata` PersonMetadata
            - `type` 'FULL_TIME' | 'CONTRACTOR' | 'NON_EMPLOYEE' | 'FORMER_EMPLOYEE'
            - `firstName` string — The first name of the person
            - `lastName` string — The last name of the person
            - `title` string — Job title.
            - `businessUnit` string — Typically the highest level organizational unit; generally applies to bigger companies with multiple distinct businesses.
            - `department` string — An organizational unit where everyone has a similar task, e.g. `Engineering`.
            - `jobFunction` string — Normalized job-function category assigned by Entity Builder from the source department and, when available, job title. Unlike `department`, which preserves the company-specific organizational unit, this field groups departments into configured categories such as `Engineering`, `Sales`, or `IT`; it may be `Unknown` when the mapping is inconclusive.
            - `teams` PersonTeam[] — Info about the employee's team(s).
              - …
            - `departmentCount` integer — The number of people in this person's department.
            - `email` string — The user's primary email address
            - `aliasEmails` string[] — Additional email addresses of this user beyond the primary, if any.
            - `location` string — User facing string representing the person's location.
            - `structuredLocation` StructuredLocation — Detailed location with information about country, state, city etc.
              - …
            - `externalProfileLink` string — Link to a customer's internal profile page. This is set to '#' when no link is desired.
            - `manager` Person — recursive
            - `managementChain` Person[] — The chain of reporting in the company as far up as it goes. The last entry is this person's direct manager.
            - `phone` string — Phone number as a number string.
            - `timezone` string — The timezone of the person. E.g. "Pacific Daylight Time".
            - `timezoneOffset` integer — The offset of the person's timezone in seconds from UTC.
            - `timezoneIANA` string — The IANA timezone identifier, e.g. "America/Los_Angeles".
            - `photoUrl` string, url — The URL of the person's avatar. Public, glean-authenticated and Base64 encoded data URLs are all valid (but not third-party-authenticated URLs).
            - `uneditedPhotoUrl` string, url — The original photo URL of the person's avatar before any edits they made are applied
            - `bannerUrl` string, url — The URL of the person's banner photo.
            - `reports` Person[]
            - `startDate` string, date — The date when the employee started.
            - `endDate` string, date — If a former employee, the last date of employment.
            - `bio` string — Short biography or mission statement of the employee.
            - `pronoun` string — She/her, He/his or other pronoun.
            - `orgSizeCount` integer — The total recursive size of the people reporting to this person, or 1
            - `directReportsCount` integer — The total number of people who directly report to this person, or 0
            - `preferredName` string — The preferred name of the person, or a nickname.
            - `socialNetwork` SocialNetwork[] — List of social network profiles.
              - …
            - `datasourceProfile` DatasourceProfile[] — List of profiles this user has in different datasources / tools that they use.
              - …
            - `querySuggestions` QuerySuggestionList
              - …
            - `peopleDistance` PersonDistance[] — List of people and distances to those people from this person. Optionally with metadata.
              - …
            - `inviteInfo` InviteInfo — Information regarding the invite status of a person.
              - …
            - `isSignedUp` boolean — Whether the user has signed into Glean at least once.
            - `lastExtensionUse` string, date-time — The last time the user has used the Glean extension in ISO 8601 format.
            - `permissions` Permissions — Describes the permissions levels that a user has for permissioned features. When the client sends this, Permissions.read and Permissions.write are the additional permissions granted to a user on top of what they have via their roles. When the server sends this, Permissions.read and Permissions.write are the complete (merged) set of permissions the user has, and Permissions.roles is just for display purposes.
              - …
            - `customFields` CustomFieldData[] — User customizable fields for additional people information.
              - …
            - `loggingId` string — The logging id of the person used in scrubbed logs, tracking GA metrics.
            - `startDatePercentile` number, float — Percentage of the company that started strictly after this person. Between [0,100).
            - `busyEvents` AnonymousEvent[] — Intervals of busy time for this person, along with the type of event they're busy with.
              - …
            - `profileBoolSettings` object — flag settings to indicate user profile settings for certain items
            - `badges` Badge[] — The badges that a user has earned over their lifetime.
              - …
            - `isOrgRoot` boolean — Whether this person is a "root" node in their organization's hierarchy.
        - `createTime` string, date-time — The time the shortcut was created in ISO format (ISO 8601).
        - `updatedBy` Person
          - `name` string, required — The display name.
          - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
          - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
            - `relation` 'ATTACHMENT' | 'CANONICAL' | 'CASE' | 'contact' | 'CONTACT' | 'CONVERSATION_MESSAGES' | 'EXPERT' | 'FROM' | 'HIGHLIGHT' | 'opportunity' | 'OPPORTUNITY' | 'RECENT' | 'SOURCE' | 'TICKET' | 'TRANSCRIPT' | 'WITH' — How this document relates to the including entity.
            - `associatedEntityId` string — Which entity in the response that this entity relates to. Relevant when there are multiple entities associated with the response (such as merged customers)
            - `querySuggestion` QuerySuggestion
              - …
            - `documents` Document[] — A truncated list of documents with this relation. TO BE DEPRECATED.
            - `results` SearchResult[] — A truncated list of documents associated with this relation. To be used in favor of `documents` because it contains a trackingToken.
              - …
          - `metadata` PersonMetadata
            - `type` 'FULL_TIME' | 'CONTRACTOR' | 'NON_EMPLOYEE' | 'FORMER_EMPLOYEE'
            - `firstName` string — The first name of the person
            - `lastName` string — The last name of the person
            - `title` string — Job title.
            - `businessUnit` string — Typically the highest level organizational unit; generally applies to bigger companies with multiple distinct businesses.
            - `department` string — An organizational unit where everyone has a similar task, e.g. `Engineering`.
            - `jobFunction` string — Normalized job-function category assigned by Entity Builder from the source department and, when available, job title. Unlike `department`, which preserves the company-specific organizational unit, this field groups departments into configured categories such as `Engineering`, `Sales`, or `IT`; it may be `Unknown` when the mapping is inconclusive.
            - `teams` PersonTeam[] — Info about the employee's team(s).
              - …
            - `departmentCount` integer — The number of people in this person's department.
            - `email` string — The user's primary email address
            - `aliasEmails` string[] — Additional email addresses of this user beyond the primary, if any.
            - `location` string — User facing string representing the person's location.
            - `structuredLocation` StructuredLocation — Detailed location with information about country, state, city etc.
              - …
            - `externalProfileLink` string — Link to a customer's internal profile page. This is set to '#' when no link is desired.
            - `manager` Person — recursive
            - `managementChain` Person[] — The chain of reporting in the company as far up as it goes. The last entry is this person's direct manager.
            - `phone` string — Phone number as a number string.
            - `timezone` string — The timezone of the person. E.g. "Pacific Daylight Time".
            - `timezoneOffset` integer — The offset of the person's timezone in seconds from UTC.
            - `timezoneIANA` string — The IANA timezone identifier, e.g. "America/Los_Angeles".
            - `photoUrl` string, url — The URL of the person's avatar. Public, glean-authenticated and Base64 encoded data URLs are all valid (but not third-party-authenticated URLs).
            - `uneditedPhotoUrl` string, url — The original photo URL of the person's avatar before any edits they made are applied
            - `bannerUrl` string, url — The URL of the person's banner photo.
            - `reports` Person[]
            - `startDate` string, date — The date when the employee started.
            - `endDate` string, date — If a former employee, the last date of employment.
            - `bio` string — Short biography or mission statement of the employee.
            - `pronoun` string — She/her, He/his or other pronoun.
            - `orgSizeCount` integer — The total recursive size of the people reporting to this person, or 1
            - `directReportsCount` integer — The total number of people who directly report to this person, or 0
            - `preferredName` string — The preferred name of the person, or a nickname.
            - `socialNetwork` SocialNetwork[] — List of social network profiles.
              - …
            - `datasourceProfile` DatasourceProfile[] — List of profiles this user has in different datasources / tools that they use.
              - …
            - `querySuggestions` QuerySuggestionList
              - …
            - `peopleDistance` PersonDistance[] — List of people and distances to those people from this person. Optionally with metadata.
              - …
            - `inviteInfo` InviteInfo — Information regarding the invite status of a person.
              - …
            - `isSignedUp` boolean — Whether the user has signed into Glean at least once.
            - `lastExtensionUse` string, date-time — The last time the user has used the Glean extension in ISO 8601 format.
            - `permissions` Permissions — Describes the permissions levels that a user has for permissioned features. When the client sends this, Permissions.read and Permissions.write are the additional permissions granted to a user on top of what they have via their roles. When the server sends this, Permissions.read and Permissions.write are the complete (merged) set of permissions the user has, and Permissions.roles is just for display purposes.
              - …
            - `customFields` CustomFieldData[] — User customizable fields for additional people information.
              - …
            - `loggingId` string — The logging id of the person used in scrubbed logs, tracking GA metrics.
            - `startDatePercentile` number, float — Percentage of the company that started strictly after this person. Between [0,100).
            - `busyEvents` AnonymousEvent[] — Intervals of busy time for this person, along with the type of event they're busy with.
              - …
            - `profileBoolSettings` object — flag settings to indicate user profile settings for certain items
            - `badges` Badge[] — The badges that a user has earned over their lifetime.
              - …
            - `isOrgRoot` boolean — Whether this person is a "root" node in their organization's hierarchy.
        - `updateTime` string, date-time — The time the shortcut was updated in ISO format (ISO 8601).
        - `destinationDocument` Document — recursive
        - `intermediateUrl` string — The URL from which the user is then redirected to the destination URL. Full replacement for https://go/<inputAlias>.
        - `viewPrefix` string — The part of the shortcut preceding the input alias when used for showing shortcuts to users. Should end with "/". e.g. "go/" for native shortcuts.
        - `isExternal` boolean — Indicates whether a shortcut is native or external.
        - `editUrl` string — The URL using which the user can access the edit page of the shortcut.
        - `alias` string — canonical link text following go/ prefix where hyphen/underscore is removed.
        - `title` string — Title for the Go Link
        - `roles` UserRoleSpecification[] — A list of user roles for the Go Link.
          - `sourceDocumentSpec` union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
          - `person` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `group` Group
            - `type` 'DEPARTMENT' | 'ALL' | 'TEAM' | 'JOB_TITLE' | 'ROLE_TYPE' | 'LOCATION' | 'REGION' | 'EXTERNAL_GROUP' | 'COLLECTION_AUDIENCE', required — The type of user group
            - `id` string, required — A unique identifier for the group. May be the same as name.
            - `name` string — Name of the group.
            - `datasourceInstance` string — Datasource instance if the group belongs to one e.g. external groups.
            - `provisioningId` string — identifier for greenlist provisioning, aka sciokey
          - `role` 'OWNER' | 'VIEWER' | 'ANSWER_MODERATOR' | 'EDITOR' | 'VERIFIER', required — A user's role with respect to a specific document.
        - `favoriteInfo` FavoriteInfo
          - `ugcType` 'AGENT_TYPE' | 'ANNOUNCEMENTS_TYPE' | 'ANSWERS_TYPE' | 'CHATS_TYPE' | 'COLLECTIONS_TYPE' | 'EMAIL_TYPE' | 'HTML_CODE_TYPE' | 'IMAGE_TYPE' | 'MESSAGE_TYPE' | 'PAPER_TYPE' | 'PRISM_VIEWS_TYPE' | 'PROMPT_TEMPLATES_TYPE' | 'PINS_TYPE' | 'SCRIBES_TYPE' | 'SHORTCUTS_TYPE' | 'SLIDE_TYPE' | 'SPREADSHEET_TYPE' | 'INLINE_HTML_TYPE' | 'PODCAST_TYPE' | 'WORKFLOWS_TYPE'
          - `id` string — Opaque id of the UGC.
          - `count` integer — Number of users this object has been favorited by.
          - `favoritedByUser` boolean — If the requesting user has favorited this object.
      - `path` string — For file datasources like onedrive/github etc this has the path to the file
      - `customData` CustomData — Custom fields specific to individual datasources
      - `documentCategory` string — The document's document_category(.proto).
      - `contactPerson` Person
        - `name` string, required — The display name.
        - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
        - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
          - `relation` 'ATTACHMENT' | 'CANONICAL' | 'CASE' | 'contact' | 'CONTACT' | 'CONVERSATION_MESSAGES' | 'EXPERT' | 'FROM' | 'HIGHLIGHT' | 'opportunity' | 'OPPORTUNITY' | 'RECENT' | 'SOURCE' | 'TICKET' | 'TRANSCRIPT' | 'WITH' — How this document relates to the including entity.
          - `associatedEntityId` string — Which entity in the response that this entity relates to. Relevant when there are multiple entities associated with the response (such as merged customers)
          - `querySuggestion` QuerySuggestion
            - `missingTerm` string — A query term missing from the original query on which this suggestion is based.
            - `query` string, required — The query being suggested (e.g. enforcing the missing term from the original query).
            - `searchProviderInfo` SearchProviderInfo
              - …
            - `label` string — A user-facing description to display for the suggestion.
            - `datasource` string — The datasource associated with the suggestion.
            - `resultTab` ResultTab
              - …
            - `requestOptions` SearchRequestOptions
              - …
            - `ranges` TextRange[] — The bolded ranges within the query of the QuerySuggestion.
              - …
            - `inputDetails` SearchRequestInputDetails
              - …
          - `documents` Document[] — A truncated list of documents with this relation. TO BE DEPRECATED.
          - `results` SearchResult[] — A truncated list of documents associated with this relation. To be used in favor of `documents` because it contains a trackingToken.
            - `structuredResults` StructuredResult[] — An array of entities in the work graph retrieved via a data request.
              - …
            - `trackingToken` string — An opaque token that represents this particular result in this particular query. To be used for /feedback reporting.
            - `document` Document — recursive
            - `title` string
            - `url` string, required
            - `nativeAppUrl` string — A deep link, if available, into the datasource's native application for the user's platform (e.g. slack://...).
            - `snippets` SearchResultSnippet[] — Text content from the result document which contains search query terms, if available.
              - …
            - `fullText` string — The full body text of the result if not already contained in the snippets. Only populated for conversation results (e.g. results from a messaging app such as Slack).
            - `fullTextList` string[] — The full body text of the result if not already contained in the snippets; each item in the array represents a separate line in the original text. Only populated for conversation results (e.g. results from a messaging app such as Slack).
            - `relatedResults` RelatedDocuments[] — A list of results related to this search result. Eg. for conversation results it contains individual messages from the conversation document which will be shown on SERP.
            - `clusteredResults` SearchResult[] — A list of results that should be displayed as associated with this result.
            - `allClusteredResults` ClusterGroup[] — A list of results that should be displayed as associated with this result.
              - …
            - `attachmentCount` integer — The total number of attachments.
            - `attachments` SearchResult[] — A (potentially partial) list of results representing documents attached to the main result document.
            - `backlinkResults` SearchResult[] — A list of results that should be displayed as backlinks of this result in reverse chronological order.
            - `clusterType` 'SIMILAR' | 'FRESHNESS' | 'TITLE' | 'CONTENT' | 'NONE' | 'THREAD_REPLY' | 'THREAD_ROOT' | 'PREFIX' | 'SUFFIX' | 'AUTHOR_PREFIX' | 'AUTHOR_SUFFIX' — The reason for inclusion of clusteredResults.
            - `mustIncludeSuggestions` QuerySuggestionList
              - …
            - `querySuggestion` QuerySuggestion
              - …
            - `prominence` 'HERO' | 'PROMOTED' | 'STANDARD' — The level of visual distinction that should be given to a result.
            - `attachmentContext` string — Additional context for the relationship between the result and the document it's attached to.
            - `pins` PinDocument[] — A list of pins associated with this search result.
              - …
        - `metadata` PersonMetadata
          - `type` 'FULL_TIME' | 'CONTRACTOR' | 'NON_EMPLOYEE' | 'FORMER_EMPLOYEE'
          - `firstName` string — The first name of the person
          - `lastName` string — The last name of the person
          - `title` string — Job title.
          - `businessUnit` string — Typically the highest level organizational unit; generally applies to bigger companies with multiple distinct businesses.
          - `department` string — An organizational unit where everyone has a similar task, e.g. `Engineering`.
          - `jobFunction` string — Normalized job-function category assigned by Entity Builder from the source department and, when available, job title. Unlike `department`, which preserves the company-specific organizational unit, this field groups departments into configured categories such as `Engineering`, `Sales`, or `IT`; it may be `Unknown` when the mapping is inconclusive.
          - `teams` PersonTeam[] — Info about the employee's team(s).
            - `id` string — Unique identifier
            - `name` string — Team name
            - `externalLink` string, uri — Link to a team page on the internet or your company's intranet
            - `relationship` 'MEMBER' | 'MANAGER' | 'LEAD' | 'POINT_OF_CONTACT' | 'OTHER' — The team member's relationship to the team. This defaults to MEMBER if not set.
            - `joinDate` string, date-time — The team member's start date
          - `departmentCount` integer — The number of people in this person's department.
          - `email` string — The user's primary email address
          - `aliasEmails` string[] — Additional email addresses of this user beyond the primary, if any.
          - `location` string — User facing string representing the person's location.
          - `structuredLocation` StructuredLocation — Detailed location with information about country, state, city etc.
            - `deskLocation` string — Desk number.
            - `timezone` string — Location's timezone, e.g. UTC, PST.
            - `address` string — Office address or name.
            - `city` string — Name of the city.
            - `state` string — State code.
            - `region` string — Region information, e.g. NORAM, APAC.
            - `zipCode` string — ZIP Code for the address.
            - `country` string — Country name.
            - `countryCode` string — Alpha-2 or Alpha-3 ISO 3166 country code, e.g. US or USA.
          - `externalProfileLink` string — Link to a customer's internal profile page. This is set to '#' when no link is desired.
          - `manager` Person — recursive
          - `managementChain` Person[] — The chain of reporting in the company as far up as it goes. The last entry is this person's direct manager.
          - `phone` string — Phone number as a number string.
          - `timezone` string — The timezone of the person. E.g. "Pacific Daylight Time".
          - `timezoneOffset` integer — The offset of the person's timezone in seconds from UTC.
          - `timezoneIANA` string — The IANA timezone identifier, e.g. "America/Los_Angeles".
          - `photoUrl` string, url — The URL of the person's avatar. Public, glean-authenticated and Base64 encoded data URLs are all valid (but not third-party-authenticated URLs).
          - `uneditedPhotoUrl` string, url — The original photo URL of the person's avatar before any edits they made are applied
          - `bannerUrl` string, url — The URL of the person's banner photo.
          - `reports` Person[]
          - `startDate` string, date — The date when the employee started.
          - `endDate` string, date — If a former employee, the last date of employment.
          - `bio` string — Short biography or mission statement of the employee.
          - `pronoun` string — She/her, He/his or other pronoun.
          - `orgSizeCount` integer — The total recursive size of the people reporting to this person, or 1
          - `directReportsCount` integer — The total number of people who directly report to this person, or 0
          - `preferredName` string — The preferred name of the person, or a nickname.
          - `socialNetwork` SocialNetwork[] — List of social network profiles.
            - `name` string, required — Possible values are "twitter", "linkedin".
            - `profileName` string — Human-readable profile name.
            - `profileUrl` string, url, required — Link to profile.
          - `datasourceProfile` DatasourceProfile[] — List of profiles this user has in different datasources / tools that they use.
            - `datasource` string, required — The datasource the profile is of.
            - `handle` string, required — The display name of the entity in the given datasource.
            - `url` string — URL to view the entity's profile.
            - `nativeAppUrl` string — A deep link, if available, into the datasource's native application for the entity's platform (i.e. slack://...).
            - `isUserGenerated` boolean — For internal use only. True iff the data source profile was manually added by a user from within Glean (aka not from the original data source)
          - `querySuggestions` QuerySuggestionList
            - `suggestions` QuerySuggestion[]
              - …
            - `person` Person — recursive
          - `peopleDistance` PersonDistance[] — List of people and distances to those people from this person. Optionally with metadata.
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `distance` number, float, required — Distance to person, refer to PeopleDistance pipeline on interpretation of the value.
          - `inviteInfo` InviteInfo — Information regarding the invite status of a person.
            - `signUpTime` string, date-time — The time this person signed up in ISO format (ISO 8601).
            - `invites` ChannelInviteInfo[] — Latest invites received by the user for each channel
              - …
            - `inviter` Person — recursive
            - `inviteTime` string, date-time — The time this person was invited in ISO format (ISO 8601).
            - `reminderTime` string, date-time — The time this person was reminded in ISO format (ISO 8601) if a reminder was sent.
          - `isSignedUp` boolean — Whether the user has signed into Glean at least once.
          - `lastExtensionUse` string, date-time — The last time the user has used the Glean extension in ISO 8601 format.
          - `permissions` Permissions — Describes the permissions levels that a user has for permissioned features. When the client sends this, Permissions.read and Permissions.write are the additional permissions granted to a user on top of what they have via their roles. When the server sends this, Permissions.read and Permissions.write are the complete (merged) set of permissions the user has, and Permissions.roles is just for display purposes.
            - `canAdminSearch` boolean — TODO--deprecate in favor of the read and write properties. True if the user has access to /adminsearch
            - `canAdminClientApiGlobalTokens` boolean — TODO--deprecate in favor of the read and write properties. True if the user can administrate client API tokens with global scope
            - `canDlp` boolean — TODO--deprecate in favor of the read and write properties. True if the user has access to data loss prevention (DLP) features
            - `read` unknown
            - `write` unknown
            - `grant` unknown
            - `role` string — The roleId of the canonical role a user has. The displayName is equal to the roleId.
            - `roles` string[] — The roleIds of the roles a user has.
          - `customFields` CustomFieldData[] — User customizable fields for additional people information.
            - `label` string, required — A user-facing label for this field.
            - `values` CustomFieldValue[], required
              - …
            - `displayable` boolean, required — Determines whether the client should display this custom field
          - `loggingId` string — The logging id of the person used in scrubbed logs, tracking GA metrics.
          - `startDatePercentile` number, float — Percentage of the company that started strictly after this person. Between [0,100).
          - `busyEvents` AnonymousEvent[] — Intervals of busy time for this person, along with the type of event they're busy with.
            - `time` TimeInterval
              - …
            - `eventType` 'DEFAULT' | 'OUT_OF_OFFICE' — The nature of the event, for example "out of office".
          - `profileBoolSettings` object — flag settings to indicate user profile settings for certain items
          - `badges` Badge[] — The badges that a user has earned over their lifetime.
            - `key` string — An auto generated unique identifier.
            - `displayName` string — The badge name displayed to users
            - `iconConfig` IconConfig — Defines how to render an icon
              - …
            - `pinned` boolean — The badge should be shown on the PersonAttribution
          - `isOrgRoot` boolean — Whether this person is a "root" node in their organization's hierarchy.
      - `thumbnail` Thumbnail
        - `photoId` string — Photo id if the thumbnail is from splash.
        - `url` string — Thumbnail URL. This can be user provided image and/or from downloaded images hosted by Glean.
      - `indexStatus` IndexStatus
        - `lastCrawledTime` string, date-time — When the document was last crawled
        - `lastIndexedTime` string, date-time — When the document was last indexed
      - `ancestors` Document[] — A list of documents that are ancestors of this document in the hierarchy of the document's datasource, for example parent folders or containers. Ancestors can be of different types and some may not be indexed. Higher level ancestors appear earlier in the list.
    - `sections` DocumentSection[] — A list of content sub-sections in the document, e.g. text blocks with different headings in a Drive doc or Confluence page.
      - `title` string — The title of the document section (e.g. the section header).
      - `url` string — The permalink of the document section.
  - `pageSize` integer — Hint to the server about how many results to send back. Server may return less or more. Structured results and clustered results don't count towards pageSize.
  - `maxSnippetSize` integer — Hint to the server about how many characters long a snippet may be. Server may return less or more.
  - `query` string, required — The search terms.
  - `cursor` string — Pagination cursor. A previously received opaque token representing the position in the overall results at which to start.
  - `resultTabIds` string[] — The unique IDs of the result tabs for which to fetch results. This will have precedence over datasource filters if both are specified and in conflict.
  - `inputDetails` SearchRequestInputDetails
    - `hasCopyPaste` boolean — Whether the associated query was at least partially copy-pasted. If subsequent requests are issued after a copy-pasted query is constructed (e.g. with facet modifications), this bit should continue to be set for those requests.
  - `requestOptions` SearchRequestOptions
    - `datasourceFilter` string — Filter results to a single datasource name (e.g. gmail, slack). All results are returned if missing.
    - `datasourcesFilter` string[] — Filter results to one or more datasources (e.g. gmail, slack). All results are returned if missing.
    - `queryOverridesFacetFilters` boolean — If true, the operators in the query are taken to override any operators in facetFilters in the case of conflict. This is used to correctly set rewrittenFacetFilters and rewrittenQuery.
    - `facetFilters` FacetFilter[] — A list of filters for the query. An AND is assumed between different facetFilters. For example, owner Sumeet and type Spreadsheet shows documents that are by Sumeet AND are Spreadsheets.
      - `fieldName` string
      - `values` FacetFilterValue[] — Within a single FacetFilter, the values are to be treated like an OR. For example, fieldName type with values [EQUALS Presentation, EQUALS Spreadsheet] means we want to show a document if it's a Presentation OR a Spreadsheet.
        - `value` string
        - `relationType` 'EQUALS' | 'ID_EQUALS' | 'LT' | 'GT' | 'NOT_EQUALS'
        - `isNegated` boolean — DEPRECATED - please use relationType instead
      - `groupName` string — Indicates the value of a facet, if any, that the given facet is grouped under. This is only used for nested facets, for example, fieldName could be owner and groupName would be Spreadsheet if showing all owners for spreadsheets as a nested facet.
    - `facetFilterSets` FacetFilterSet[] — A list of facet filter sets that will be OR'ed together. SearchRequestOptions where both facetFilterSets and facetFilters set are considered as bad request. Callers should set only one of these fields.
      - `filters` FacetFilter[]
        - `fieldName` string
        - `values` FacetFilterValue[] — Within a single FacetFilter, the values are to be treated like an OR. For example, fieldName type with values [EQUALS Presentation, EQUALS Spreadsheet] means we want to show a document if it's a Presentation OR a Spreadsheet.
          - `value` string
          - `relationType` 'EQUALS' | 'ID_EQUALS' | 'LT' | 'GT' | 'NOT_EQUALS'
          - `isNegated` boolean — DEPRECATED - please use relationType instead
        - `groupName` string — Indicates the value of a facet, if any, that the given facet is grouped under. This is only used for nested facets, for example, fieldName could be owner and groupName would be Spreadsheet if showing all owners for spreadsheets as a nested facet.
    - `facetBucketFilter` FacetBucketFilter
      - `facet` string — The facet whose buckets should be filtered.
      - `prefix` string — The per-term prefix that facet buckets should be filtered on.
    - `facetBucketSize` integer, required — The maximum number of FacetBuckets to return in each FacetResult.
    - `defaultFacets` string[] — Facets for which FacetResults should be fetched and that don't apply to a particular datasource. If specified, these values will replace the standard default facets (last_updated_at, from, etc.). The requested facets will be returned alongside datasource-specific facets if searching a single datasource.
    - `authTokens` AuthToken[] — Auth tokens which may be used for non-indexed, federated results (e.g. Gmail).
      - `accessToken` string, required
      - `datasource` string, required
      - `scope` string
      - `tokenType` string
      - `authUser` string — Used by Google to indicate the index of the logged in user. Useful for generating hyperlinks that support multilogin.
      - `expiration` integer — Unix timestamp when this token expires (in seconds since epoch UTC).
    - `fetchAllDatasourceCounts` boolean — Hints that the QE should return result counts (via the datasource facet result) for all supported datasources, rather than just those specified in the datasource[s]Filter
    - `responseHints` string[] — Array of hints containing which fields should be populated in the response.
    - `timezoneOffset` integer — The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC.
    - `disableSpellcheck` boolean — Whether or not to disable spellcheck.
    - `disableQueryAutocorrect` boolean — Disables automatic adjustment of the input query for spelling corrections or other reasons.
    - `returnLlmContentOverSnippets` boolean — Enables expanded content to be returned for LLM usage. The size of content per result returned should be modified using maxSnippetSize. Server may return less or more than what is specified in maxSnippetSize. For more details, see https://developers.glean.com/guides/search/llm-content.
    - `inclusions` RestrictionFilters
      - `containerSpecs` DocumentSpec[] — Specifications for containers that should be used as part of the restriction (include/exclude). Memberships are recursively defined for a subset of datasources (currently: SharePoint, OneDrive, Google Drive, and Confluence). Please contact the Glean team to enable this for more datasources. Recursive memberships do not apply for Collections.
        - union
          - object
            - `url` string, required — The URL of the document.
          - object
            - `id` string, required — The ID of the document.
          - object
            - `ugcType` 'ANNOUNCEMENTS' | 'ANSWERS' | 'COLLECTIONS' | 'SHORTCUTS' | 'CHATS', required — The type of the user generated content (UGC datasource).
            - `contentId` integer, required — The numeric id for user generated content. Used for ANNOUNCEMENTS, ANSWERS, COLLECTIONS, SHORTCUTS.
            - `docType` string — The specific type of the user generated content type.
          - object
            - `ugcType` 'ANNOUNCEMENTS' | 'ANSWERS' | 'ARTIFACTS' | 'COLLECTIONS' | 'SHORTCUTS' | 'CHATS', required — The type of the user generated content (UGC datasource).
            - `ugcId` string, required — The string id for user generated content. Used for CHATS.
            - `docType` string — The specific type of the user generated content type.
    - `exclusions` RestrictionFilters
      - `containerSpecs` DocumentSpec[] — Specifications for containers that should be used as part of the restriction (include/exclude). Memberships are recursively defined for a subset of datasources (currently: SharePoint, OneDrive, Google Drive, and Confluence). Please contact the Glean team to enable this for more datasources. Recursive memberships do not apply for Collections.
        - union
          - object
            - `url` string, required — The URL of the document.
          - object
            - `id` string, required — The ID of the document.
          - object
            - `ugcType` 'ANNOUNCEMENTS' | 'ANSWERS' | 'COLLECTIONS' | 'SHORTCUTS' | 'CHATS', required — The type of the user generated content (UGC datasource).
            - `contentId` integer, required — The numeric id for user generated content. Used for ANNOUNCEMENTS, ANSWERS, COLLECTIONS, SHORTCUTS.
            - `docType` string — The specific type of the user generated content type.
          - object
            - `ugcType` 'ANNOUNCEMENTS' | 'ANSWERS' | 'ARTIFACTS' | 'COLLECTIONS' | 'SHORTCUTS' | 'CHATS', required — The type of the user generated content (UGC datasource).
            - `ugcId` string, required — The string id for user generated content. Used for CHATS.
            - `docType` string — The specific type of the user generated content type.
  - `timeoutMillis` integer — Timeout in milliseconds for the request. A `408` error will be returned if handling the request takes longer.
  - `disableSpellcheck` boolean — Whether or not to disable spellcheck.

## Response `200`

OK

- SearchResponse
  - `trackingToken` string — A token that should be passed for additional requests related to this request (such as more results requests).
  - `sessionInfo` SessionInfo
    - `sessionTrackingToken` string — A unique token for this session. A new session (and token) is created when the user issues a request from a new tab or when our server hasn't seen activity for more than 10 minutes from a tab.
    - `tabId` string — A unique id for all requests a user makes from a given tab, no matter how far apart. A new tab id is only generated when a user issues a request from a new tab.
    - `lastSeen` string, date-time — The last time the server saw this token.
    - `lastQuery` string — The last query seen by the server.
  - `results` SearchResult[]
    - `structuredResults` StructuredResult[] — An array of entities in the work graph retrieved via a data request.
      - `document` Document
        - `id` string — The Glean Document ID.
        - `datasource` string — The app or other repository type from which the document was extracted
        - `connectorType` 'API_CRAWL' | 'BROWSER_CRAWL' | 'BROWSER_HISTORY' | 'BUILTIN' | 'FEDERATED_SEARCH' | 'PUSH_API' | 'WEB_CRAWL' | 'NATIVE_HISTORY' — The source from which document content was pulled, e.g. an API crawl or browser history
        - `docType` string — The datasource-specific type of the document (e.g. for Jira issues, this is the issue type such as Bug or Feature Request).
        - `content` DocumentContent
          - `fullTextList` string[] — The plaintext content of the document.
        - `containerDocument` Document — recursive
        - `parentDocument` Document — recursive
        - `title` string — The title of the document.
        - `url` string — A permalink for the document.
        - `metadata` DocumentMetadata
          - `datasource` string
          - `datasourceInstance` string — The datasource instance from which the document was extracted.
          - `objectType` string — The type of the result. Interpretation is specific to each datasource. (e.g. for Jira issues, this is the issue type such as Bug or Feature Request).
          - `container` string — The name of the container (higher level parent, not direct parent) of the result. Interpretation is specific to each datasource (e.g. Channels for Slack, Project for Jira). cf. parentId
          - `containerId` string — The Glean Document ID of the container. Uniquely identifies the container.
          - `superContainerId` string — The Glean Document ID of the super container. Super container represents a broader abstraction that contains many containers. For example, whereas container might refer to a folder, super container would refer to a drive.
          - `parentId` string — The id of the direct parent of the result. Interpretation is specific to each datasource (e.g. parent issue for Jira). cf. container
          - `mimeType` string
          - `documentId` string — The index-wide unique identifier.
          - `loggingId` string — A unique identifier used to represent the document in any logging or feedback requests in place of documentId.
          - `documentIdHash` string — Hash of the Glean Document ID.
          - `createTime` string, date-time
          - `updateTime` string, date-time
          - `author` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `owner` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `mentionedPeople` Person[] — A list of people mentioned in the document.
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `visibility` 'PRIVATE' | 'SPECIFIC_PEOPLE_AND_GROUPS' | 'DOMAIN_LINK' | 'DOMAIN_VISIBLE' | 'PUBLIC_LINK' | 'PUBLIC_VISIBLE' — The level of visibility of the document as understood by our system.
          - `components` string[] — A list of components this result is associated with. Interpretation is specific to each datasource. (e.g. for Jira issues, these are [components](https://confluence.atlassian.com/jirasoftwarecloud/organizing-work-with-components-764478279.html).)
          - `status` string — The status or disposition of the result. Interpretation is specific to each datasource. (e.g. for Jira issues, this is the issue status such as Done, In Progress or Will Not Fix).
          - `statusCategory` string — The status category of the result. Meant to be more general than status. Interpretation is specific to each datasource.
          - `pins` PinDocument[] — A list of stars associated with this result. "Pin" is an older name.
            - `queries` string[] — The query strings for which the pinned result will show.
            - `audienceFilters` FacetFilter[] — Filters which restrict who should see the pinned document. Values are taken from the corresponding filters in people search.
              - …
            - `id` string — The opaque id of the pin.
            - `documentId` string, required — The document which should be a pinned result.
            - `attribution` Person
              - …
            - `updatedBy` Person
              - …
            - `createTime` string, date-time
            - `updateTime` string, date-time
            - `favoriteInfo` FavoriteInfo
              - …
          - `priority` string — The document priority. Interpretation is datasource specific.
          - `assignedTo` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `updatedBy` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `labels` string[] — A list of tags for the document. Interpretation is datasource specific.
          - `collections` Collection[] — A list of collections that the document belongs to.
            - `name` string, required — The unique name of the Collection.
            - `description` string, required — A brief summary of the Collection's contents.
            - `addedRoles` UserRoleSpecification[] — A list of added user roles for the Collection.
              - …
            - `removedRoles` UserRoleSpecification[] — A list of removed user roles for the Collection.
              - …
            - `audienceFilters` FacetFilter[] — Filters which restrict who should see this Collection. Values are taken from the corresponding filters in people search.
              - …
            - `icon` string — The emoji icon of this Collection.
            - `adminLocked` boolean — Indicates whether edits are allowed for everyone or only admins.
            - `parentId` integer — The parent of this Collection, or 0 if it's a top-level Collection.
            - `thumbnail` Thumbnail
              - …
            - `allowedDatasource` string — The datasource type this Collection can hold.
            - `permissions` ObjectPermissions
              - …
            - `trackingToken` string — An opaque token that represents this particular UGC. To be used for `/feedback` reporting.
            - `id` integer, required — The unique ID of the Collection.
            - `createTime` string, date-time
            - `updateTime` string, date-time
            - `creator` Person
              - …
            - `updatedBy` Person
              - …
            - `itemCount` integer — The number of items currently in the Collection. Separated from the actual items so we can grab the count without items.
            - `childCount` integer — The number of children Collections. Separated from the actual children so we can grab the count without children.
            - `items` CollectionItem[] — The items in this Collection.
              - …
            - `pinMetadata` CollectionPinnedMetadata
              - …
            - `shortcuts` string[] — The names of the shortcuts (Go Links) that point to this Collection.
            - `children` Collection[] — The children Collections of this Collection.
            - `roles` UserRoleSpecification[] — A list of user roles for the Collection.
              - …
            - `favoriteInfo` FavoriteInfo
              - …
          - `datasourceId` string — The user-visible datasource specific id (e.g. Salesforce case number for example, GitHub PR number).
          - `interactions` DocumentInteractions
            - `numComments` integer — The count of comments (thread replies in the case of slack).
            - `numReactions` integer — The count of reactions on the document.
            - `reactions` string[] — To be deprecated in favor of reacts. A (potentially non-exhaustive) list of reactions for the document.
            - `reacts` Reaction[]
              - …
            - `shares` Share[] — Describes instances of someone posting a link to this document in one of our indexed datasources.
              - …
            - `visitorCount` CountInfo
              - …
          - `verification` Verification
            - `state` 'UNVERIFIED' | 'VERIFIED' | 'DEPRECATED', required — The verification state for the document.
            - `metadata` VerificationMetadata
              - …
          - `viewerInfo` ViewerInfo
            - `role` 'ANSWER_MODERATOR' | 'OWNER' | 'VIEWER' — DEPRECATED - use permissions instead. Viewer's role on the specific document.
            - `lastViewedTime` string, date-time
          - `permissions` ObjectPermissions
            - `write` WritePermission — Describes the write permissions levels that a user has for a specific feature
              - …
          - `visitCount` CountInfo
            - `count` integer, required — The counter value
            - `period` Period
              - …
            - `org` string — The unit of organization over which we did the count aggregation, e.g. org (department) or company
          - `shortcuts` Shortcut[] — A list of shortcuts of which destination URL is for the document.
            - `id` integer — The opaque id of the user generated content.
            - `inputAlias` string, required — Link text following go/ prefix as entered by the user.
            - `destinationUrl` string — Destination URL for the shortcut.
            - `destinationDocumentId` string — Glean Document ID for the URL, if known.
            - `description` string — A short, plain text blurb to help people understand the intent of the shortcut.
            - `unlisted` boolean — Whether this shortcut is unlisted or not. Unlisted shortcuts are visible to author + admins only.
            - `urlTemplate` string — For variable shortcuts, contains the URL template; note, `destinationUrl` contains default URL.
            - `addedRoles` UserRoleSpecification[] — A list of user roles added for the Shortcut.
              - …
            - `removedRoles` UserRoleSpecification[] — A list of user roles removed for the Shortcut.
              - …
            - `permissions` ObjectPermissions
              - …
            - `createdBy` Person
              - …
            - `createTime` string, date-time — The time the shortcut was created in ISO format (ISO 8601).
            - `updatedBy` Person
              - …
            - `updateTime` string, date-time — The time the shortcut was updated in ISO format (ISO 8601).
            - `destinationDocument` Document — recursive
            - `intermediateUrl` string — The URL from which the user is then redirected to the destination URL. Full replacement for https://go/<inputAlias>.
            - `viewPrefix` string — The part of the shortcut preceding the input alias when used for showing shortcuts to users. Should end with "/". e.g. "go/" for native shortcuts.
            - `isExternal` boolean — Indicates whether a shortcut is native or external.
            - `editUrl` string — The URL using which the user can access the edit page of the shortcut.
            - `alias` string — canonical link text following go/ prefix where hyphen/underscore is removed.
            - `title` string — Title for the Go Link
            - `roles` UserRoleSpecification[] — A list of user roles for the Go Link.
              - …
            - `favoriteInfo` FavoriteInfo
              - …
          - `path` string — For file datasources like onedrive/github etc this has the path to the file
          - `customData` CustomData — Custom fields specific to individual datasources
          - `documentCategory` string — The document's document_category(.proto).
          - `contactPerson` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `thumbnail` Thumbnail
            - `photoId` string — Photo id if the thumbnail is from splash.
            - `url` string — Thumbnail URL. This can be user provided image and/or from downloaded images hosted by Glean.
          - `indexStatus` IndexStatus
            - `lastCrawledTime` string, date-time — When the document was last crawled
            - `lastIndexedTime` string, date-time — When the document was last indexed
          - `ancestors` Document[] — A list of documents that are ancestors of this document in the hierarchy of the document's datasource, for example parent folders or containers. Ancestors can be of different types and some may not be indexed. Higher level ancestors appear earlier in the list.
        - `sections` DocumentSection[] — A list of content sub-sections in the document, e.g. text blocks with different headings in a Drive doc or Confluence page.
          - `title` string — The title of the document section (e.g. the section header).
          - `url` string — The permalink of the document section.
      - `person` Person
        - `name` string, required — The display name.
        - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
        - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
          - `relation` 'ATTACHMENT' | 'CANONICAL' | 'CASE' | 'contact' | 'CONTACT' | 'CONVERSATION_MESSAGES' | 'EXPERT' | 'FROM' | 'HIGHLIGHT' | 'opportunity' | 'OPPORTUNITY' | 'RECENT' | 'SOURCE' | 'TICKET' | 'TRANSCRIPT' | 'WITH' — How this document relates to the including entity.
          - `associatedEntityId` string — Which entity in the response that this entity relates to. Relevant when there are multiple entities associated with the response (such as merged customers)
          - `querySuggestion` QuerySuggestion
            - `missingTerm` string — A query term missing from the original query on which this suggestion is based.
            - `query` string, required — The query being suggested (e.g. enforcing the missing term from the original query).
            - `searchProviderInfo` SearchProviderInfo
              - …
            - `label` string — A user-facing description to display for the suggestion.
            - `datasource` string — The datasource associated with the suggestion.
            - `resultTab` ResultTab
              - …
            - `requestOptions` SearchRequestOptions
              - …
            - `ranges` TextRange[] — The bolded ranges within the query of the QuerySuggestion.
              - …
            - `inputDetails` SearchRequestInputDetails
              - …
          - `documents` Document[] — A truncated list of documents with this relation. TO BE DEPRECATED.
            - `id` string — The Glean Document ID.
            - `datasource` string — The app or other repository type from which the document was extracted
            - `connectorType` 'API_CRAWL' | 'BROWSER_CRAWL' | 'BROWSER_HISTORY' | 'BUILTIN' | 'FEDERATED_SEARCH' | 'PUSH_API' | 'WEB_CRAWL' | 'NATIVE_HISTORY' — The source from which document content was pulled, e.g. an API crawl or browser history
            - `docType` string — The datasource-specific type of the document (e.g. for Jira issues, this is the issue type such as Bug or Feature Request).
            - `content` DocumentContent
              - …
            - `containerDocument` Document — recursive
            - `parentDocument` Document — recursive
            - `title` string — The title of the document.
            - `url` string — A permalink for the document.
            - `metadata` DocumentMetadata
              - …
            - `sections` DocumentSection[] — A list of content sub-sections in the document, e.g. text blocks with different headings in a Drive doc or Confluence page.
              - …
          - `results` SearchResult[] — A truncated list of documents associated with this relation. To be used in favor of `documents` because it contains a trackingToken.
        - `metadata` PersonMetadata
          - `type` 'FULL_TIME' | 'CONTRACTOR' | 'NON_EMPLOYEE' | 'FORMER_EMPLOYEE'
          - `firstName` string — The first name of the person
          - `lastName` string — The last name of the person
          - `title` string — Job title.
          - `businessUnit` string — Typically the highest level organizational unit; generally applies to bigger companies with multiple distinct businesses.
          - `department` string — An organizational unit where everyone has a similar task, e.g. `Engineering`.
          - `jobFunction` string — Normalized job-function category assigned by Entity Builder from the source department and, when available, job title. Unlike `department`, which preserves the company-specific organizational unit, this field groups departments into configured categories such as `Engineering`, `Sales`, or `IT`; it may be `Unknown` when the mapping is inconclusive.
          - `teams` PersonTeam[] — Info about the employee's team(s).
            - `id` string — Unique identifier
            - `name` string — Team name
            - `externalLink` string, uri — Link to a team page on the internet or your company's intranet
            - `relationship` 'MEMBER' | 'MANAGER' | 'LEAD' | 'POINT_OF_CONTACT' | 'OTHER' — The team member's relationship to the team. This defaults to MEMBER if not set.
            - `joinDate` string, date-time — The team member's start date
          - `departmentCount` integer — The number of people in this person's department.
          - `email` string — The user's primary email address
          - `aliasEmails` string[] — Additional email addresses of this user beyond the primary, if any.
          - `location` string — User facing string representing the person's location.
          - `structuredLocation` StructuredLocation — Detailed location with information about country, state, city etc.
            - `deskLocation` string — Desk number.
            - `timezone` string — Location's timezone, e.g. UTC, PST.
            - `address` string — Office address or name.
            - `city` string — Name of the city.
            - `state` string — State code.
            - `region` string — Region information, e.g. NORAM, APAC.
            - `zipCode` string — ZIP Code for the address.
            - `country` string — Country name.
            - `countryCode` string — Alpha-2 or Alpha-3 ISO 3166 country code, e.g. US or USA.
          - `externalProfileLink` string — Link to a customer's internal profile page. This is set to '#' when no link is desired.
          - `manager` Person — recursive
          - `managementChain` Person[] — The chain of reporting in the company as far up as it goes. The last entry is this person's direct manager.
          - `phone` string — Phone number as a number string.
          - `timezone` string — The timezone of the person. E.g. "Pacific Daylight Time".
          - `timezoneOffset` integer — The offset of the person's timezone in seconds from UTC.
          - `timezoneIANA` string — The IANA timezone identifier, e.g. "America/Los_Angeles".
          - `photoUrl` string, url — The URL of the person's avatar. Public, glean-authenticated and Base64 encoded data URLs are all valid (but not third-party-authenticated URLs).
          - `uneditedPhotoUrl` string, url — The original photo URL of the person's avatar before any edits they made are applied
          - `bannerUrl` string, url — The URL of the person's banner photo.
          - `reports` Person[]
          - `startDate` string, date — The date when the employee started.
          - `endDate` string, date — If a former employee, the last date of employment.
          - `bio` string — Short biography or mission statement of the employee.
          - `pronoun` string — She/her, He/his or other pronoun.
          - `orgSizeCount` integer — The total recursive size of the people reporting to this person, or 1
          - `directReportsCount` integer — The total number of people who directly report to this person, or 0
          - `preferredName` string — The preferred name of the person, or a nickname.
          - `socialNetwork` SocialNetwork[] — List of social network profiles.
            - `name` string, required — Possible values are "twitter", "linkedin".
            - `profileName` string — Human-readable profile name.
            - `profileUrl` string, url, required — Link to profile.
          - `datasourceProfile` DatasourceProfile[] — List of profiles this user has in different datasources / tools that they use.
            - `datasource` string, required — The datasource the profile is of.
            - `handle` string, required — The display name of the entity in the given datasource.
            - `url` string — URL to view the entity's profile.
            - `nativeAppUrl` string — A deep link, if available, into the datasource's native application for the entity's platform (i.e. slack://...).
            - `isUserGenerated` boolean — For internal use only. True iff the data source profile was manually added by a user from within Glean (aka not from the original data source)
          - `querySuggestions` QuerySuggestionList
            - `suggestions` QuerySuggestion[]
              - …
            - `person` Person — recursive
          - `peopleDistance` PersonDistance[] — List of people and distances to those people from this person. Optionally with metadata.
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `distance` number, float, required — Distance to person, refer to PeopleDistance pipeline on interpretation of the value.
          - `inviteInfo` InviteInfo — Information regarding the invite status of a person.
            - `signUpTime` string, date-time — The time this person signed up in ISO format (ISO 8601).
            - `invites` ChannelInviteInfo[] — Latest invites received by the user for each channel
              - …
            - `inviter` Person — recursive
            - `inviteTime` string, date-time — The time this person was invited in ISO format (ISO 8601).
            - `reminderTime` string, date-time — The time this person was reminded in ISO format (ISO 8601) if a reminder was sent.
          - `isSignedUp` boolean — Whether the user has signed into Glean at least once.
          - `lastExtensionUse` string, date-time — The last time the user has used the Glean extension in ISO 8601 format.
          - `permissions` Permissions — Describes the permissions levels that a user has for permissioned features. When the client sends this, Permissions.read and Permissions.write are the additional permissions granted to a user on top of what they have via their roles. When the server sends this, Permissions.read and Permissions.write are the complete (merged) set of permissions the user has, and Permissions.roles is just for display purposes.
            - `canAdminSearch` boolean — TODO--deprecate in favor of the read and write properties. True if the user has access to /adminsearch
            - `canAdminClientApiGlobalTokens` boolean — TODO--deprecate in favor of the read and write properties. True if the user can administrate client API tokens with global scope
            - `canDlp` boolean — TODO--deprecate in favor of the read and write properties. True if the user has access to data loss prevention (DLP) features
            - `read` unknown
            - `write` unknown
            - `grant` unknown
            - `role` string — The roleId of the canonical role a user has. The displayName is equal to the roleId.
            - `roles` string[] — The roleIds of the roles a user has.
          - `customFields` CustomFieldData[] — User customizable fields for additional people information.
            - `label` string, required — A user-facing label for this field.
            - `values` CustomFieldValue[], required
              - …
            - `displayable` boolean, required — Determines whether the client should display this custom field
          - `loggingId` string — The logging id of the person used in scrubbed logs, tracking GA metrics.
          - `startDatePercentile` number, float — Percentage of the company that started strictly after this person. Between [0,100).
          - `busyEvents` AnonymousEvent[] — Intervals of busy time for this person, along with the type of event they're busy with.
            - `time` TimeInterval
              - …
            - `eventType` 'DEFAULT' | 'OUT_OF_OFFICE' — The nature of the event, for example "out of office".
          - `profileBoolSettings` object — flag settings to indicate user profile settings for certain items
          - `badges` Badge[] — The badges that a user has earned over their lifetime.
            - `key` string — An auto generated unique identifier.
            - `displayName` string — The badge name displayed to users
            - `iconConfig` IconConfig — Defines how to render an icon
              - …
            - `pinned` boolean — The badge should be shown on the PersonAttribution
          - `isOrgRoot` boolean — Whether this person is a "root" node in their organization's hierarchy.
      - `customer` Customer
        - `id` string, required — Unique identifier.
        - `domains` string[] — Link to company's associated website domains.
        - `company` Company, required
          - `name` string, required — User-friendly display name.
          - `profileUrl` string — Link to internal company company profile.
          - `websiteUrls` string[] — Link to company's associated websites.
          - `logoUrl` string — The URL of the company's logo. Public, Glean-authenticated and Base64 encoded data URLs are all valid (but not third-party-authenticated URLs).
          - `location` string — User facing string representing the company's location.
          - `phone` string — Phone number as a number string.
          - `fax` string — Fax number as a number string.
          - `industry` string — User facing string representing the company's industry.
          - `annualRevenue` number, double — Average company's annual revenue for reference.
          - `numberOfEmployees` integer — Average company's number of employees for reference.
          - `stockSymbol` string — Company's stock symbol if company is public.
          - `foundedDate` string, date — The date when the company was founded.
          - `about` string — User facing description of company.
        - `documentCounts` DocumentCounts — A map of {string, int} pairs representing counts of each document type associated with this customer.
        - `poc` Person[] — A list of POC for company.
          - `name` string, required — The display name.
          - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
          - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
            - `relation` 'ATTACHMENT' | 'CANONICAL' | 'CASE' | 'contact' | 'CONTACT' | 'CONVERSATION_MESSAGES' | 'EXPERT' | 'FROM' | 'HIGHLIGHT' | 'opportunity' | 'OPPORTUNITY' | 'RECENT' | 'SOURCE' | 'TICKET' | 'TRANSCRIPT' | 'WITH' — How this document relates to the including entity.
            - `associatedEntityId` string — Which entity in the response that this entity relates to. Relevant when there are multiple entities associated with the response (such as merged customers)
            - `querySuggestion` QuerySuggestion
              - …
            - `documents` Document[] — A truncated list of documents with this relation. TO BE DEPRECATED.
              - …
            - `results` SearchResult[] — A truncated list of documents associated with this relation. To be used in favor of `documents` because it contains a trackingToken.
          - `metadata` PersonMetadata
            - `type` 'FULL_TIME' | 'CONTRACTOR' | 'NON_EMPLOYEE' | 'FORMER_EMPLOYEE'
            - `firstName` string — The first name of the person
            - `lastName` string — The last name of the person
            - `title` string — Job title.
            - `businessUnit` string — Typically the highest level organizational unit; generally applies to bigger companies with multiple distinct businesses.
            - `department` string — An organizational unit where everyone has a similar task, e.g. `Engineering`.
            - `jobFunction` string — Normalized job-function category assigned by Entity Builder from the source department and, when available, job title. Unlike `department`, which preserves the company-specific organizational unit, this field groups departments into configured categories such as `Engineering`, `Sales`, or `IT`; it may be `Unknown` when the mapping is inconclusive.
            - `teams` PersonTeam[] — Info about the employee's team(s).
              - …
            - `departmentCount` integer — The number of people in this person's department.
            - `email` string — The user's primary email address
            - `aliasEmails` string[] — Additional email addresses of this user beyond the primary, if any.
            - `location` string — User facing string representing the person's location.
            - `structuredLocation` StructuredLocation — Detailed location with information about country, state, city etc.
              - …
            - `externalProfileLink` string — Link to a customer's internal profile page. This is set to '#' when no link is desired.
            - `manager` Person — recursive
            - `managementChain` Person[] — The chain of reporting in the company as far up as it goes. The last entry is this person's direct manager.
            - `phone` string — Phone number as a number string.
            - `timezone` string — The timezone of the person. E.g. "Pacific Daylight Time".
            - `timezoneOffset` integer — The offset of the person's timezone in seconds from UTC.
            - `timezoneIANA` string — The IANA timezone identifier, e.g. "America/Los_Angeles".
            - `photoUrl` string, url — The URL of the person's avatar. Public, glean-authenticated and Base64 encoded data URLs are all valid (but not third-party-authenticated URLs).
            - `uneditedPhotoUrl` string, url — The original photo URL of the person's avatar before any edits they made are applied
            - `bannerUrl` string, url — The URL of the person's banner photo.
            - `reports` Person[]
            - `startDate` string, date — The date when the employee started.
            - `endDate` string, date — If a former employee, the last date of employment.
            - `bio` string — Short biography or mission statement of the employee.
            - `pronoun` string — She/her, He/his or other pronoun.
            - `orgSizeCount` integer — The total recursive size of the people reporting to this person, or 1
            - `directReportsCount` integer — The total number of people who directly report to this person, or 0
            - `preferredName` string — The preferred name of the person, or a nickname.
            - `socialNetwork` SocialNetwork[] — List of social network profiles.
              - …
            - `datasourceProfile` DatasourceProfile[] — List of profiles this user has in different datasources / tools that they use.
              - …
            - `querySuggestions` QuerySuggestionList
              - …
            - `peopleDistance` PersonDistance[] — List of people and distances to those people from this person. Optionally with metadata.
              - …
            - `inviteInfo` InviteInfo — Information regarding the invite status of a person.
              - …
            - `isSignedUp` boolean — Whether the user has signed into Glean at least once.
            - `lastExtensionUse` string, date-time — The last time the user has used the Glean extension in ISO 8601 format.
            - `permissions` Permissions — Describes the permissions levels that a user has for permissioned features. When the client sends this, Permissions.read and Permissions.write are the additional permissions granted to a user on top of what they have via their roles. When the server sends this, Permissions.read and Permissions.write are the complete (merged) set of permissions the user has, and Permissions.roles is just for display purposes.
              - …
            - `customFields` CustomFieldData[] — User customizable fields for additional people information.
              - …
            - `loggingId` string — The logging id of the person used in scrubbed logs, tracking GA metrics.
            - `startDatePercentile` number, float — Percentage of the company that started strictly after this person. Between [0,100).
            - `busyEvents` AnonymousEvent[] — Intervals of busy time for this person, along with the type of event they're busy with.
              - …
            - `profileBoolSettings` object — flag settings to indicate user profile settings for certain items
            - `badges` Badge[] — The badges that a user has earned over their lifetime.
              - …
            - `isOrgRoot` boolean — Whether this person is a "root" node in their organization's hierarchy.
        - `metadata` CustomerMetadata
          - `datasourceId` string — The user visible id of the salesforce customer account.
          - `customData` CustomData — Custom fields specific to individual datasources
        - `mergedCustomers` Customer[] — A list of Customers.
        - `startDate` string, date — The date when the interaction with customer started.
        - `contractAnnualRevenue` number, double — Average contract annual revenue with that customer.
        - `notes` string — User facing (potentially generated) notes about company.
      - `team` Team
        - `relatedObjects` object — A list of objects related to a source object.
        - `permissions` ObjectPermissions
          - `write` WritePermission — Describes the write permissions levels that a user has for a specific feature
            - `scopeType` 'GLOBAL' | 'OWN' — Describes the scope for a ReadPermission, WritePermission, or GrantPermission object
            - `create` boolean — True if user has create permission for this feature and scope
            - `update` boolean — True if user has update permission for this feature and scope
            - `delete` boolean — True if user has delete permission for this feature and scope
        - `id` string, required — Unique identifier
        - `name` string, required — Team name
        - `description` string — A description of the team
        - `businessUnit` string — Typically the highest level organizational unit; generally applies to bigger companies with multiple distinct businesses.
        - `department` string — An organizational unit where everyone has a similar task, e.g. `Engineering`.
        - `photoUrl` string, url — A link to the team's photo.
        - `bannerUrl` string, url — A link to the team's banner photo.
        - `externalLink` string, uri — Link to a team page on the internet or your company's intranet
        - `members` PersonToTeamRelationship[] — The members on this team
          - `person` Person, required
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `relationship` 'MEMBER' | 'MANAGER' | 'LEAD' | 'POINT_OF_CONTACT' | 'OTHER' — The team member's relationship to the team. This defaults to MEMBER if not set.
          - `customRelationshipStr` string — Displayed name for the relationship if relationship is set to `OTHER`.
          - `joinDate` string, date-time — The team member's start date
        - `memberCount` integer — Number of members on this team (recursive; includes all individuals that belong to this team, and all individuals that belong to a subteam within this team)
        - `emails` TeamEmail[] — The emails for this team
          - `email` string, email — An email address
          - `type` 'PRIMARY' | 'SECONDARY' | 'ONCALL' | 'OTHER'
          - `isUserGenerated` boolean — true iff the email was manually added by a user from within Glean (aka not from the original data source)
        - `customFields` CustomFieldData[] — Customizable fields for additional team information.
          - `label` string, required — A user-facing label for this field.
          - `values` CustomFieldValue[], required
            - union
              - …
          - `displayable` boolean, required — Determines whether the client should display this custom field
        - `datasourceProfiles` DatasourceProfile[] — The datasource profiles of the team
          - `datasource` string, required — The datasource the profile is of.
          - `handle` string, required — The display name of the entity in the given datasource.
          - `url` string — URL to view the entity's profile.
          - `nativeAppUrl` string — A deep link, if available, into the datasource's native application for the entity's platform (i.e. slack://...).
          - `isUserGenerated` boolean — For internal use only. True iff the data source profile was manually added by a user from within Glean (aka not from the original data source)
        - `datasource` string — the data source of the team, e.g. GDRIVE
        - `createdFrom` string — For teams created from docs, the doc title. Otherwise empty.
        - `lastUpdatedAt` string, date-time — when this team was last updated.
        - `status` 'PROCESSED' | 'QUEUED_FOR_CREATION' | 'QUEUED_FOR_DELETION' — whether this team is fully processed or there are still unprocessed operations that'll affect it
        - `canBeDeleted` boolean — can this team be deleted. Some manually ingested teams like GCS_CSV or PUSH_API cannot
        - `loggingId` string — The logging id of the team used in scrubbed logs, client analytics, and metrics.
      - `customEntity` CustomEntity
        - `permissions` ObjectPermissions
          - `write` WritePermission — Describes the write permissions levels that a user has for a specific feature
            - `scopeType` 'GLOBAL' | 'OWN' — Describes the scope for a ReadPermission, WritePermission, or GrantPermission object
            - `create` boolean — True if user has create permission for this feature and scope
            - `update` boolean — True if user has update permission for this feature and scope
            - `delete` boolean — True if user has delete permission for this feature and scope
        - `id` string — Unique identifier.
        - `title` string — Title or name of the custom entity.
        - `datasource` string — The datasource the custom entity is from.
        - `objectType` string — The type of the entity. Interpretation is specific to each datasource
        - `metadata` CustomEntityMetadata
          - `customData` CustomData — Custom fields specific to individual datasources
        - `roles` UserRoleSpecification[] — A list of user roles for the custom entity explicitly granted by the owner.
          - `sourceDocumentSpec` union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
          - `person` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `group` Group
            - `type` 'DEPARTMENT' | 'ALL' | 'TEAM' | 'JOB_TITLE' | 'ROLE_TYPE' | 'LOCATION' | 'REGION' | 'EXTERNAL_GROUP' | 'COLLECTION_AUDIENCE', required — The type of user group
            - `id` string, required — A unique identifier for the group. May be the same as name.
            - `name` string — Name of the group.
            - `datasourceInstance` string — Datasource instance if the group belongs to one e.g. external groups.
            - `provisioningId` string — identifier for greenlist provisioning, aka sciokey
          - `role` 'OWNER' | 'VIEWER' | 'ANSWER_MODERATOR' | 'EDITOR' | 'VERIFIER', required — A user's role with respect to a specific document.
      - `answer` Answer
        - `id` integer, required — The opaque ID of the Answer.
        - `docId` string — Glean Document ID of the Answer. The Glean Document ID is supported for cases where the Answer ID isn't available. If both are available, using the Answer ID is preferred.
        - `question` string
        - `questionVariations` string[] — Additional ways of phrasing this question.
        - `bodyText` string — The plain text answer to the question.
        - `boardId` integer — The parent board ID of this Answer, or 0 if it's a floating Answer. Adding Answers to Answer Boards is no longer permitted.
        - `audienceFilters` FacetFilter[] — Filters which restrict who should see the answer. Values are taken from the corresponding filters in people search.
          - `fieldName` string
          - `values` FacetFilterValue[] — Within a single FacetFilter, the values are to be treated like an OR. For example, fieldName type with values [EQUALS Presentation, EQUALS Spreadsheet] means we want to show a document if it's a Presentation OR a Spreadsheet.
            - `value` string
            - `relationType` 'EQUALS' | 'ID_EQUALS' | 'LT' | 'GT' | 'NOT_EQUALS'
            - `isNegated` boolean — DEPRECATED - please use relationType instead
          - `groupName` string — Indicates the value of a facet, if any, that the given facet is grouped under. This is only used for nested facets, for example, fieldName could be owner and groupName would be Spreadsheet if showing all owners for spreadsheets as a nested facet.
        - `addedRoles` UserRoleSpecification[] — A list of user roles for the answer added by the owner.
          - `sourceDocumentSpec` union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
          - `person` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `group` Group
            - `type` 'DEPARTMENT' | 'ALL' | 'TEAM' | 'JOB_TITLE' | 'ROLE_TYPE' | 'LOCATION' | 'REGION' | 'EXTERNAL_GROUP' | 'COLLECTION_AUDIENCE', required — The type of user group
            - `id` string, required — A unique identifier for the group. May be the same as name.
            - `name` string — Name of the group.
            - `datasourceInstance` string — Datasource instance if the group belongs to one e.g. external groups.
            - `provisioningId` string — identifier for greenlist provisioning, aka sciokey
          - `role` 'OWNER' | 'VIEWER' | 'ANSWER_MODERATOR' | 'EDITOR' | 'VERIFIER', required — A user's role with respect to a specific document.
        - `removedRoles` UserRoleSpecification[] — A list of user roles for the answer removed by the owner.
          - `sourceDocumentSpec` union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
          - `person` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `group` Group
            - `type` 'DEPARTMENT' | 'ALL' | 'TEAM' | 'JOB_TITLE' | 'ROLE_TYPE' | 'LOCATION' | 'REGION' | 'EXTERNAL_GROUP' | 'COLLECTION_AUDIENCE', required — The type of user group
            - `id` string, required — A unique identifier for the group. May be the same as name.
            - `name` string — Name of the group.
            - `datasourceInstance` string — Datasource instance if the group belongs to one e.g. external groups.
            - `provisioningId` string — identifier for greenlist provisioning, aka sciokey
          - `role` 'OWNER' | 'VIEWER' | 'ANSWER_MODERATOR' | 'EDITOR' | 'VERIFIER', required — A user's role with respect to a specific document.
        - `roles` UserRoleSpecification[] — A list of roles for this answer explicitly granted by an owner, editor, or admin.
          - `sourceDocumentSpec` union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
          - `person` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `group` Group
            - `type` 'DEPARTMENT' | 'ALL' | 'TEAM' | 'JOB_TITLE' | 'ROLE_TYPE' | 'LOCATION' | 'REGION' | 'EXTERNAL_GROUP' | 'COLLECTION_AUDIENCE', required — The type of user group
            - `id` string, required — A unique identifier for the group. May be the same as name.
            - `name` string — Name of the group.
            - `datasourceInstance` string — Datasource instance if the group belongs to one e.g. external groups.
            - `provisioningId` string — identifier for greenlist provisioning, aka sciokey
          - `role` 'OWNER' | 'VIEWER' | 'ANSWER_MODERATOR' | 'EDITOR' | 'VERIFIER', required — A user's role with respect to a specific document.
        - `sourceDocumentSpec` union
          - object
            - `url` string, required — The URL of the document.
          - object
            - `id` string, required — The ID of the document.
          - object
            - `ugcType` 'ANNOUNCEMENTS' | 'ANSWERS' | 'COLLECTIONS' | 'SHORTCUTS' | 'CHATS', required — The type of the user generated content (UGC datasource).
            - `contentId` integer, required — The numeric id for user generated content. Used for ANNOUNCEMENTS, ANSWERS, COLLECTIONS, SHORTCUTS.
            - `docType` string — The specific type of the user generated content type.
          - object
            - `ugcType` 'ANNOUNCEMENTS' | 'ANSWERS' | 'ARTIFACTS' | 'COLLECTIONS' | 'SHORTCUTS' | 'CHATS', required — The type of the user generated content (UGC datasource).
            - `ugcId` string, required — The string id for user generated content. Used for CHATS.
            - `docType` string — The specific type of the user generated content type.
        - `sourceType` 'DOCUMENT' | 'ASSISTANT'
        - `permissions` ObjectPermissions
          - `write` WritePermission — Describes the write permissions levels that a user has for a specific feature
            - `scopeType` 'GLOBAL' | 'OWN' — Describes the scope for a ReadPermission, WritePermission, or GrantPermission object
            - `create` boolean — True if user has create permission for this feature and scope
            - `update` boolean — True if user has update permission for this feature and scope
            - `delete` boolean — True if user has delete permission for this feature and scope
        - `trackingToken` string — An opaque token that represents this particular UGC. To be used for `/feedback` reporting.
        - `combinedAnswerText` StructuredText
          - `text` string, required
          - `structuredList` StructuredTextItem[] — An array of objects each of which contains either a string or a link which optionally corresponds to a document.
            - `link` string
            - `document` Document
              - …
            - `text` string
            - `structuredResult` StructuredResult — recursive
        - `likes` AnswerLikes
          - `likedBy` AnswerLike[], required
            - `user` Person
              - …
            - `createTime` string, date-time — The time the user liked the answer in ISO format (ISO 8601).
          - `likedByUser` boolean, required — Whether the user in context liked the answer.
          - `numLikes` integer, required — The total number of likes for the answer.
        - `author` Person
          - `name` string, required — The display name.
          - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
          - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
            - `relation` 'ATTACHMENT' | 'CANONICAL' | 'CASE' | 'contact' | 'CONTACT' | 'CONVERSATION_MESSAGES' | 'EXPERT' | 'FROM' | 'HIGHLIGHT' | 'opportunity' | 'OPPORTUNITY' | 'RECENT' | 'SOURCE' | 'TICKET' | 'TRANSCRIPT' | 'WITH' — How this document relates to the including entity.
            - `associatedEntityId` string — Which entity in the response that this entity relates to. Relevant when there are multiple entities associated with the response (such as merged customers)
            - `querySuggestion` QuerySuggestion
              - …
            - `documents` Document[] — A truncated list of documents with this relation. TO BE DEPRECATED.
              - …
            - `results` SearchResult[] — A truncated list of documents associated with this relation. To be used in favor of `documents` because it contains a trackingToken.
          - `metadata` PersonMetadata
            - `type` 'FULL_TIME' | 'CONTRACTOR' | 'NON_EMPLOYEE' | 'FORMER_EMPLOYEE'
            - `firstName` string — The first name of the person
            - `lastName` string — The last name of the person
            - `title` string — Job title.
            - `businessUnit` string — Typically the highest level organizational unit; generally applies to bigger companies with multiple distinct businesses.
            - `department` string — An organizational unit where everyone has a similar task, e.g. `Engineering`.
            - `jobFunction` string — Normalized job-function category assigned by Entity Builder from the source department and, when available, job title. Unlike `department`, which preserves the company-specific organizational unit, this field groups departments into configured categories such as `Engineering`, `Sales`, or `IT`; it may be `Unknown` when the mapping is inconclusive.
            - `teams` PersonTeam[] — Info about the employee's team(s).
              - …
            - `departmentCount` integer — The number of people in this person's department.
            - `email` string — The user's primary email address
            - `aliasEmails` string[] — Additional email addresses of this user beyond the primary, if any.
            - `location` string — User facing string representing the person's location.
            - `structuredLocation` StructuredLocation — Detailed location with information about country, state, city etc.
              - …
            - `externalProfileLink` string — Link to a customer's internal profile page. This is set to '#' when no link is desired.
            - `manager` Person — recursive
            - `managementChain` Person[] — The chain of reporting in the company as far up as it goes. The last entry is this person's direct manager.
            - `phone` string — Phone number as a number string.
            - `timezone` string — The timezone of the person. E.g. "Pacific Daylight Time".
            - `timezoneOffset` integer — The offset of the person's timezone in seconds from UTC.
            - `timezoneIANA` string — The IANA timezone identifier, e.g. "America/Los_Angeles".
            - `photoUrl` string, url — The URL of the person's avatar. Public, glean-authenticated and Base64 encoded data URLs are all valid (but not third-party-authenticated URLs).
            - `uneditedPhotoUrl` string, url — The original photo URL of the person's avatar before any edits they made are applied
            - `bannerUrl` string, url — The URL of the person's banner photo.
            - `reports` Person[]
            - `startDate` string, date — The date when the employee started.
            - `endDate` string, date — If a former employee, the last date of employment.
            - `bio` string — Short biography or mission statement of the employee.
            - `pronoun` string — She/her, He/his or other pronoun.
            - `orgSizeCount` integer — The total recursive size of the people reporting to this person, or 1
            - `directReportsCount` integer — The total number of people who directly report to this person, or 0
            - `preferredName` string — The preferred name of the person, or a nickname.
            - `socialNetwork` SocialNetwork[] — List of social network profiles.
              - …
            - `datasourceProfile` DatasourceProfile[] — List of profiles this user has in different datasources / tools that they use.
              - …
            - `querySuggestions` QuerySuggestionList
              - …
            - `peopleDistance` PersonDistance[] — List of people and distances to those people from this person. Optionally with metadata.
              - …
            - `inviteInfo` InviteInfo — Information regarding the invite status of a person.
              - …
            - `isSignedUp` boolean — Whether the user has signed into Glean at least once.
            - `lastExtensionUse` string, date-time — The last time the user has used the Glean extension in ISO 8601 format.
            - `permissions` Permissions — Describes the permissions levels that a user has for permissioned features. When the client sends this, Permissions.read and Permissions.write are the additional permissions granted to a user on top of what they have via their roles. When the server sends this, Permissions.read and Permissions.write are the complete (merged) set of permissions the user has, and Permissions.roles is just for display purposes.
              - …
            - `customFields` CustomFieldData[] — User customizable fields for additional people information.
              - …
            - `loggingId` string — The logging id of the person used in scrubbed logs, tracking GA metrics.
            - `startDatePercentile` number, float — Percentage of the company that started strictly after this person. Between [0,100).
            - `busyEvents` AnonymousEvent[] — Intervals of busy time for this person, along with the type of event they're busy with.
              - …
            - `profileBoolSettings` object — flag settings to indicate user profile settings for certain items
            - `badges` Badge[] — The badges that a user has earned over their lifetime.
              - …
            - `isOrgRoot` boolean — Whether this person is a "root" node in their organization's hierarchy.
        - `createTime` string, date-time — The time the answer was created in ISO format (ISO 8601).
        - `updateTime` string, date-time — The time the answer was last updated in ISO format (ISO 8601).
        - `updatedBy` Person
          - `name` string, required — The display name.
          - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
          - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
            - `relation` 'ATTACHMENT' | 'CANONICAL' | 'CASE' | 'contact' | 'CONTACT' | 'CONVERSATION_MESSAGES' | 'EXPERT' | 'FROM' | 'HIGHLIGHT' | 'opportunity' | 'OPPORTUNITY' | 'RECENT' | 'SOURCE' | 'TICKET' | 'TRANSCRIPT' | 'WITH' — How this document relates to the including entity.
            - `associatedEntityId` string — Which entity in the response that this entity relates to. Relevant when there are multiple entities associated with the response (such as merged customers)
            - `querySuggestion` QuerySuggestion
              - …
            - `documents` Document[] — A truncated list of documents with this relation. TO BE DEPRECATED.
              - …
            - `results` SearchResult[] — A truncated list of documents associated with this relation. To be used in favor of `documents` because it contains a trackingToken.
          - `metadata` PersonMetadata
            - `type` 'FULL_TIME' | 'CONTRACTOR' | 'NON_EMPLOYEE' | 'FORMER_EMPLOYEE'
            - `firstName` string — The first name of the person
            - `lastName` string — The last name of the person
            - `title` string — Job title.
            - `businessUnit` string — Typically the highest level organizational unit; generally applies to bigger companies with multiple distinct businesses.
            - `department` string — An organizational unit where everyone has a similar task, e.g. `Engineering`.
            - `jobFunction` string — Normalized job-function category assigned by Entity Builder from the source department and, when available, job title. Unlike `department`, which preserves the company-specific organizational unit, this field groups departments into configured categories such as `Engineering`, `Sales`, or `IT`; it may be `Unknown` when the mapping is inconclusive.
            - `teams` PersonTeam[] — Info about the employee's team(s).
              - …
            - `departmentCount` integer — The number of people in this person's department.
            - `email` string — The user's primary email address
            - `aliasEmails` string[] — Additional email addresses of this user beyond the primary, if any.
            - `location` string — User facing string representing the person's location.
            - `structuredLocation` StructuredLocation — Detailed location with information about country, state, city etc.
              - …
            - `externalProfileLink` string — Link to a customer's internal profile page. This is set to '#' when no link is desired.
            - `manager` Person — recursive
            - `managementChain` Person[] — The chain of reporting in the company as far up as it goes. The last entry is this person's direct manager.
            - `phone` string — Phone number as a number string.
            - `timezone` string — The timezone of the person. E.g. "Pacific Daylight Time".
            - `timezoneOffset` integer — The offset of the person's timezone in seconds from UTC.
            - `timezoneIANA` string — The IANA timezone identifier, e.g. "America/Los_Angeles".
            - `photoUrl` string, url — The URL of the person's avatar. Public, glean-authenticated and Base64 encoded data URLs are all valid (but not third-party-authenticated URLs).
            - `uneditedPhotoUrl` string, url — The original photo URL of the person's avatar before any edits they made are applied
            - `bannerUrl` string, url — The URL of the person's banner photo.
            - `reports` Person[]
            - `startDate` string, date — The date when the employee started.
            - `endDate` string, date — If a former employee, the last date of employment.
            - `bio` string — Short biography or mission statement of the employee.
            - `pronoun` string — She/her, He/his or other pronoun.
            - `orgSizeCount` integer — The total recursive size of the people reporting to this person, or 1
            - `directReportsCount` integer — The total number of people who directly report to this person, or 0
            - `preferredName` string — The preferred name of the person, or a nickname.
            - `socialNetwork` SocialNetwork[] — List of social network profiles.
              - …
            - `datasourceProfile` DatasourceProfile[] — List of profiles this user has in different datasources / tools that they use.
              - …
            - `querySuggestions` QuerySuggestionList
              - …
            - `peopleDistance` PersonDistance[] — List of people and distances to those people from this person. Optionally with metadata.
              - …
            - `inviteInfo` InviteInfo — Information regarding the invite status of a person.
              - …
            - `isSignedUp` boolean — Whether the user has signed into Glean at least once.
            - `lastExtensionUse` string, date-time — The last time the user has used the Glean extension in ISO 8601 format.
            - `permissions` Permissions — Describes the permissions levels that a user has for permissioned features. When the client sends this, Permissions.read and Permissions.write are the additional permissions granted to a user on top of what they have via their roles. When the server sends this, Permissions.read and Permissions.write are the complete (merged) set of permissions the user has, and Permissions.roles is just for display purposes.
              - …
            - `customFields` CustomFieldData[] — User customizable fields for additional people information.
              - …
            - `loggingId` string — The logging id of the person used in scrubbed logs, tracking GA metrics.
            - `startDatePercentile` number, float — Percentage of the company that started strictly after this person. Between [0,100).
            - `busyEvents` AnonymousEvent[] — Intervals of busy time for this person, along with the type of event they're busy with.
              - …
            - `profileBoolSettings` object — flag settings to indicate user profile settings for certain items
            - `badges` Badge[] — The badges that a user has earned over their lifetime.
              - …
            - `isOrgRoot` boolean — Whether this person is a "root" node in their organization's hierarchy.
        - `verification` Verification
          - `state` 'UNVERIFIED' | 'VERIFIED' | 'DEPRECATED', required — The verification state for the document.
          - `metadata` VerificationMetadata
            - `lastVerifier` Person
              - …
            - `lastVerificationTs` integer — The unix timestamp of the verification (in seconds since epoch UTC).
            - `expirationTs` integer — The unix timestamp of the verification expiration if applicable (in seconds since epoch UTC).
            - `document` Document
              - …
            - `reminders` Reminder[] — Info about all outstanding verification reminders for the document if exists.
              - …
            - `lastReminder` Reminder
              - …
            - `visitorCount` CountInfo[] — Number of visitors to the document during included time periods.
              - …
            - `candidateVerifiers` Person[] — List of potential verifiers for the document e.g. old verifiers and/or users with view/edit permissions.
              - …
        - `collections` Collection[] — The collections to which the answer belongs.
          - `name` string, required — The unique name of the Collection.
          - `description` string, required — A brief summary of the Collection's contents.
          - `addedRoles` UserRoleSpecification[] — A list of added user roles for the Collection.
            - `sourceDocumentSpec` union
              - …
            - `person` Person
              - …
            - `group` Group
              - …
            - `role` 'OWNER' | 'VIEWER' | 'ANSWER_MODERATOR' | 'EDITOR' | 'VERIFIER', required — A user's role with respect to a specific document.
          - `removedRoles` UserRoleSpecification[] — A list of removed user roles for the Collection.
            - `sourceDocumentSpec` union
              - …
            - `person` Person
              - …
            - `group` Group
              - …
            - `role` 'OWNER' | 'VIEWER' | 'ANSWER_MODERATOR' | 'EDITOR' | 'VERIFIER', required — A user's role with respect to a specific document.
          - `audienceFilters` FacetFilter[] — Filters which restrict who should see this Collection. Values are taken from the corresponding filters in people search.
            - `fieldName` string
            - `values` FacetFilterValue[] — Within a single FacetFilter, the values are to be treated like an OR. For example, fieldName type with values [EQUALS Presentation, EQUALS Spreadsheet] means we want to show a document if it's a Presentation OR a Spreadsheet.
              - …
            - `groupName` string — Indicates the value of a facet, if any, that the given facet is grouped under. This is only used for nested facets, for example, fieldName could be owner and groupName would be Spreadsheet if showing all owners for spreadsheets as a nested facet.
          - `icon` string — The emoji icon of this Collection.
          - `adminLocked` boolean — Indicates whether edits are allowed for everyone or only admins.
          - `parentId` integer — The parent of this Collection, or 0 if it's a top-level Collection.
          - `thumbnail` Thumbnail
            - `photoId` string — Photo id if the thumbnail is from splash.
            - `url` string — Thumbnail URL. This can be user provided image and/or from downloaded images hosted by Glean.
          - `allowedDatasource` string — The datasource type this Collection can hold.
          - `permissions` ObjectPermissions
            - `write` WritePermission — Describes the write permissions levels that a user has for a specific feature
              - …
          - `trackingToken` string — An opaque token that represents this particular UGC. To be used for `/feedback` reporting.
          - `id` integer, required — The unique ID of the Collection.
          - `createTime` string, date-time
          - `updateTime` string, date-time
          - `creator` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `updatedBy` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `itemCount` integer — The number of items currently in the Collection. Separated from the actual items so we can grab the count without items.
          - `childCount` integer — The number of children Collections. Separated from the actual children so we can grab the count without children.
          - `items` CollectionItem[] — The items in this Collection.
            - `name` string — The optional name of the Collection item.
            - `description` string — A helpful description of why this CollectionItem is in the Collection that it's in.
            - `icon` string — The emoji icon for this CollectionItem. Only used for Text type items.
            - `collectionId` integer, required — The Collection ID of the Collection that this CollectionItem belongs in.
            - `documentId` string — If this CollectionItem is indexed, the Glean Document ID of that document.
            - `url` string — The URL of this CollectionItem.
            - `itemId` string — Unique identifier for the item within the Collection it belongs to.
            - `createdBy` Person
              - …
            - `createdAt` string, date-time — Unix timestamp for when the item was first added (in seconds since epoch UTC).
            - `document` Document
              - …
            - `shortcut` Shortcut
              - …
            - `collection` Collection — recursive
            - `itemType` 'DOCUMENT' | 'TEXT' | 'URL' | 'COLLECTION', required
          - `pinMetadata` CollectionPinnedMetadata
            - `existingPins` CollectionPinTarget[] — List of targets this Collection is pinned to.
              - …
            - `eligiblePins` CollectionPinMetadata[] — List of targets this Collection can be pinned to, excluding the targets this Collection is already pinned to. We also include Collection ID already is pinned to each eligible target, which will be 0 if the target has no pinned Collection.
              - …
          - `shortcuts` string[] — The names of the shortcuts (Go Links) that point to this Collection.
          - `children` Collection[] — The children Collections of this Collection.
          - `roles` UserRoleSpecification[] — A list of user roles for the Collection.
            - `sourceDocumentSpec` union
              - …
            - `person` Person
              - …
            - `group` Group
              - …
            - `role` 'OWNER' | 'VIEWER' | 'ANSWER_MODERATOR' | 'EDITOR' | 'VERIFIER', required — A user's role with respect to a specific document.
          - `favoriteInfo` FavoriteInfo
            - `ugcType` 'AGENT_TYPE' | 'ANNOUNCEMENTS_TYPE' | 'ANSWERS_TYPE' | 'CHATS_TYPE' | 'COLLECTIONS_TYPE' | 'EMAIL_TYPE' | 'HTML_CODE_TYPE' | 'IMAGE_TYPE' | 'MESSAGE_TYPE' | 'PAPER_TYPE' | 'PRISM_VIEWS_TYPE' | 'PROMPT_TEMPLATES_TYPE' | 'PINS_TYPE' | 'SCRIBES_TYPE' | 'SHORTCUTS_TYPE' | 'SLIDE_TYPE' | 'SPREADSHEET_TYPE' | 'INLINE_HTML_TYPE' | 'PODCAST_TYPE' | 'WORKFLOWS_TYPE'
            - `id` string — Opaque id of the UGC.
            - `count` integer — Number of users this object has been favorited by.
            - `favoritedByUser` boolean — If the requesting user has favorited this object.
        - `documentCategory` string — The document's document_category(.proto).
        - `sourceDocument` Document
          - `id` string — The Glean Document ID.
          - `datasource` string — The app or other repository type from which the document was extracted
          - `connectorType` 'API_CRAWL' | 'BROWSER_CRAWL' | 'BROWSER_HISTORY' | 'BUILTIN' | 'FEDERATED_SEARCH' | 'PUSH_API' | 'WEB_CRAWL' | 'NATIVE_HISTORY' — The source from which document content was pulled, e.g. an API crawl or browser history
          - `docType` string — The datasource-specific type of the document (e.g. for Jira issues, this is the issue type such as Bug or Feature Request).
          - `content` DocumentContent
            - `fullTextList` string[] — The plaintext content of the document.
          - `containerDocument` Document — recursive
          - `parentDocument` Document — recursive
          - `title` string — The title of the document.
          - `url` string — A permalink for the document.
          - `metadata` DocumentMetadata
            - `datasource` string
            - `datasourceInstance` string — The datasource instance from which the document was extracted.
            - `objectType` string — The type of the result. Interpretation is specific to each datasource. (e.g. for Jira issues, this is the issue type such as Bug or Feature Request).
            - `container` string — The name of the container (higher level parent, not direct parent) of the result. Interpretation is specific to each datasource (e.g. Channels for Slack, Project for Jira). cf. parentId
            - `containerId` string — The Glean Document ID of the container. Uniquely identifies the container.
            - `superContainerId` string — The Glean Document ID of the super container. Super container represents a broader abstraction that contains many containers. For example, whereas container might refer to a folder, super container would refer to a drive.
            - `parentId` string — The id of the direct parent of the result. Interpretation is specific to each datasource (e.g. parent issue for Jira). cf. container
            - `mimeType` string
            - `documentId` string — The index-wide unique identifier.
            - `loggingId` string — A unique identifier used to represent the document in any logging or feedback requests in place of documentId.
            - `documentIdHash` string — Hash of the Glean Document ID.
            - `createTime` string, date-time
            - `updateTime` string, date-time
            - `author` Person
              - …
            - `owner` Person
              - …
            - `mentionedPeople` Person[] — A list of people mentioned in the document.
              - …
            - `visibility` 'PRIVATE' | 'SPECIFIC_PEOPLE_AND_GROUPS' | 'DOMAIN_LINK' | 'DOMAIN_VISIBLE' | 'PUBLIC_LINK' | 'PUBLIC_VISIBLE' — The level of visibility of the document as understood by our system.
            - `components` string[] — A list of components this result is associated with. Interpretation is specific to each datasource. (e.g. for Jira issues, these are [components](https://confluence.atlassian.com/jirasoftwarecloud/organizing-work-with-components-764478279.html).)
            - `status` string — The status or disposition of the result. Interpretation is specific to each datasource. (e.g. for Jira issues, this is the issue status such as Done, In Progress or Will Not Fix).
            - `statusCategory` string — The status category of the result. Meant to be more general than status. Interpretation is specific to each datasource.
            - `pins` PinDocument[] — A list of stars associated with this result. "Pin" is an older name.
              - …
            - `priority` string — The document priority. Interpretation is datasource specific.
            - `assignedTo` Person
              - …
            - `updatedBy` Person
              - …
            - `labels` string[] — A list of tags for the document. Interpretation is datasource specific.
            - `collections` Collection[] — A list of collections that the document belongs to.
              - …
            - `datasourceId` string — The user-visible datasource specific id (e.g. Salesforce case number for example, GitHub PR number).
            - `interactions` DocumentInteractions
              - …
            - `verification` Verification
              - …
            - `viewerInfo` ViewerInfo
              - …
            - `permissions` ObjectPermissions
              - …
            - `visitCount` CountInfo
              - …
            - `shortcuts` Shortcut[] — A list of shortcuts of which destination URL is for the document.
              - …
            - `path` string — For file datasources like onedrive/github etc this has the path to the file
            - `customData` CustomData — Custom fields specific to individual datasources
            - `documentCategory` string — The document's document_category(.proto).
            - `contactPerson` Person
              - …
            - `thumbnail` Thumbnail
              - …
            - `indexStatus` IndexStatus
              - …
            - `ancestors` Document[] — A list of documents that are ancestors of this document in the hierarchy of the document's datasource, for example parent folders or containers. Ancestors can be of different types and some may not be indexed. Higher level ancestors appear earlier in the list.
          - `sections` DocumentSection[] — A list of content sub-sections in the document, e.g. text blocks with different headings in a Drive doc or Confluence page.
            - `title` string — The title of the document section (e.g. the section header).
            - `url` string — The permalink of the document section.
      - `generatedQna` GeneratedQna
        - `question` string — Search query rephrased into a question.
        - `answer` string — Answer generated for the given query or the generated question.
        - `followUpPrompts` string[] — List of all follow-up prompts generated for the given query or the generated question.
        - `followupActions` FollowupAction[] — List of follow-up actions generated for the given query or the generated question.
          - `actionRunId` string — Unique identifier for this actionRun recommendation event.
          - `actionInstanceId` string — The ID of the action instance that will be invoked.
          - `actionId` string — The ID of the associated action.
          - `parameters` object — Map of assistant predicted parameters and their corresponding values.
          - `recommendationText` string — Text to be displayed to the user when recommending the action instance.
          - `actionLabel` string — The label to be used when displaying a button to execute this action instance.
          - `userConfirmationRequired` boolean — Whether user confirmation is needed before executing this action instance.
        - `ranges` TextRange[] — Answer subsections to mark with special formatting (citations, bolding etc)
          - `startIndex` integer, required — The inclusive start index of the range.
          - `endIndex` integer — The exclusive end index of the range.
          - `type` 'BOLD' | 'CITATION' | 'HIGHLIGHT' | 'LINK'
          - `url` string — The URL associated with the range, if applicable. For example, the linked URL for a LINK range.
          - `document` Document
            - `id` string — The Glean Document ID.
            - `datasource` string — The app or other repository type from which the document was extracted
            - `connectorType` 'API_CRAWL' | 'BROWSER_CRAWL' | 'BROWSER_HISTORY' | 'BUILTIN' | 'FEDERATED_SEARCH' | 'PUSH_API' | 'WEB_CRAWL' | 'NATIVE_HISTORY' — The source from which document content was pulled, e.g. an API crawl or browser history
            - `docType` string — The datasource-specific type of the document (e.g. for Jira issues, this is the issue type such as Bug or Feature Request).
            - `content` DocumentContent
              - …
            - `containerDocument` Document — recursive
            - `parentDocument` Document — recursive
            - `title` string — The title of the document.
            - `url` string — A permalink for the document.
            - `metadata` DocumentMetadata
              - …
            - `sections` DocumentSection[] — A list of content sub-sections in the document, e.g. text blocks with different headings in a Drive doc or Confluence page.
              - …
        - `status` 'COMPUTING' | 'DISABLED' | 'FAILED' | 'NO_ANSWER' | 'SKIPPED' | 'STREAMING' | 'SUCCEEDED' | 'TIMEOUT' — Status of backend generating the answer
        - `cursor` string — An opaque cursor representing the search request
        - `trackingToken` string — An opaque token that represents this particular result in this particular query. To be used for /feedback reporting.
      - `extractedQnA` ExtractedQnA
        - `heading` string — Heading text that was matched to produce this result.
        - `question` string — Question text that was matched to produce this result.
        - `questionResult` SearchResult — recursive
      - `meeting` Meeting
        - `id` string
        - `title` string
        - `description` string
        - `url` string
        - `startTime` string, date-time
        - `endTime` string, date-time
        - `attendees` CalendarAttendees
          - `people` CalendarAttendee[] — Full details of some of the attendees of this event
            - `isOrganizer` boolean — Whether or not this attendee is an organizer.
            - `isInGroup` boolean — Whether or not this attendee is in a group. Needed temporarily at least to support both flat attendees and tree for compatibility.
            - `person` Person, required
              - …
            - `groupAttendees` CalendarAttendee[] — If this attendee is a group, represents the list of individual attendees in the group.
            - `responseStatus` 'ACCEPTED' | 'DECLINED' | 'NO_RESPONSE' | 'TENTATIVE'
          - `isLimit` boolean — Whether the total count of the people returned is at the retrieval limit.
          - `total` integer — Total number of attendees in this event.
          - `numAccepted` integer — Total number of attendees who have accepted this event.
          - `numDeclined` integer — Total number of attendees who have declined this event.
          - `numNoResponse` integer — Total number of attendees who have not responded to this event.
          - `numTentative` integer — Total number of attendees who have responded tentatively (i.e. responded maybe) to this event.
        - `isCancelled` boolean — Whether the meeting has been cancelled
        - `location` string — The location/venue of the meeting
        - `responseStatus` string — The current user's response status (accepted, declined, tentativelyAccepted, none)
        - `conferenceUri` string — The meeting join link (Teams, Zoom, etc.)
        - `conferenceProvider` string — The conference provider (e.g., "Microsoft Teams", "Zoom")
      - `app` AppResult
        - `datasource` string, required — The app or other repository type this represents
        - `docType` string — The datasource-specific type of the document (e.g. for Jira issues, this is the issue type such as Bug or Feature Request).
        - `mimeType` string — Mimetype is used to differentiate between sub applications from a datasource (e.g. Sheets, Docs from Gdrive)
        - `iconUrl` string — If there is available icon URL.
      - `collection` Collection
        - `name` string, required — The unique name of the Collection.
        - `description` string, required — A brief summary of the Collection's contents.
        - `addedRoles` UserRoleSpecification[] — A list of added user roles for the Collection.
          - `sourceDocumentSpec` union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
          - `person` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `group` Group
            - `type` 'DEPARTMENT' | 'ALL' | 'TEAM' | 'JOB_TITLE' | 'ROLE_TYPE' | 'LOCATION' | 'REGION' | 'EXTERNAL_GROUP' | 'COLLECTION_AUDIENCE', required — The type of user group
            - `id` string, required — A unique identifier for the group. May be the same as name.
            - `name` string — Name of the group.
            - `datasourceInstance` string — Datasource instance if the group belongs to one e.g. external groups.
            - `provisioningId` string — identifier for greenlist provisioning, aka sciokey
          - `role` 'OWNER' | 'VIEWER' | 'ANSWER_MODERATOR' | 'EDITOR' | 'VERIFIER', required — A user's role with respect to a specific document.
        - `removedRoles` UserRoleSpecification[] — A list of removed user roles for the Collection.
          - `sourceDocumentSpec` union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
          - `person` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `group` Group
            - `type` 'DEPARTMENT' | 'ALL' | 'TEAM' | 'JOB_TITLE' | 'ROLE_TYPE' | 'LOCATION' | 'REGION' | 'EXTERNAL_GROUP' | 'COLLECTION_AUDIENCE', required — The type of user group
            - `id` string, required — A unique identifier for the group. May be the same as name.
            - `name` string — Name of the group.
            - `datasourceInstance` string — Datasource instance if the group belongs to one e.g. external groups.
            - `provisioningId` string — identifier for greenlist provisioning, aka sciokey
          - `role` 'OWNER' | 'VIEWER' | 'ANSWER_MODERATOR' | 'EDITOR' | 'VERIFIER', required — A user's role with respect to a specific document.
        - `audienceFilters` FacetFilter[] — Filters which restrict who should see this Collection. Values are taken from the corresponding filters in people search.
          - `fieldName` string
          - `values` FacetFilterValue[] — Within a single FacetFilter, the values are to be treated like an OR. For example, fieldName type with values [EQUALS Presentation, EQUALS Spreadsheet] means we want to show a document if it's a Presentation OR a Spreadsheet.
            - `value` string
            - `relationType` 'EQUALS' | 'ID_EQUALS' | 'LT' | 'GT' | 'NOT_EQUALS'
            - `isNegated` boolean — DEPRECATED - please use relationType instead
          - `groupName` string — Indicates the value of a facet, if any, that the given facet is grouped under. This is only used for nested facets, for example, fieldName could be owner and groupName would be Spreadsheet if showing all owners for spreadsheets as a nested facet.
        - `icon` string — The emoji icon of this Collection.
        - `adminLocked` boolean — Indicates whether edits are allowed for everyone or only admins.
        - `parentId` integer — The parent of this Collection, or 0 if it's a top-level Collection.
        - `thumbnail` Thumbnail
          - `photoId` string — Photo id if the thumbnail is from splash.
          - `url` string — Thumbnail URL. This can be user provided image and/or from downloaded images hosted by Glean.
        - `allowedDatasource` string — The datasource type this Collection can hold.
        - `permissions` ObjectPermissions
          - `write` WritePermission — Describes the write permissions levels that a user has for a specific feature
            - `scopeType` 'GLOBAL' | 'OWN' — Describes the scope for a ReadPermission, WritePermission, or GrantPermission object
            - `create` boolean — True if user has create permission for this feature and scope
            - `update` boolean — True if user has update permission for this feature and scope
            - `delete` boolean — True if user has delete permission for this feature and scope
        - `trackingToken` string — An opaque token that represents this particular UGC. To be used for `/feedback` reporting.
        - `id` integer, required — The unique ID of the Collection.
        - `createTime` string, date-time
        - `updateTime` string, date-time
        - `creator` Person
          - `name` string, required — The display name.
          - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
          - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
            - `relation` 'ATTACHMENT' | 'CANONICAL' | 'CASE' | 'contact' | 'CONTACT' | 'CONVERSATION_MESSAGES' | 'EXPERT' | 'FROM' | 'HIGHLIGHT' | 'opportunity' | 'OPPORTUNITY' | 'RECENT' | 'SOURCE' | 'TICKET' | 'TRANSCRIPT' | 'WITH' — How this document relates to the including entity.
            - `associatedEntityId` string — Which entity in the response that this entity relates to. Relevant when there are multiple entities associated with the response (such as merged customers)
            - `querySuggestion` QuerySuggestion
              - …
            - `documents` Document[] — A truncated list of documents with this relation. TO BE DEPRECATED.
              - …
            - `results` SearchResult[] — A truncated list of documents associated with this relation. To be used in favor of `documents` because it contains a trackingToken.
          - `metadata` PersonMetadata
            - `type` 'FULL_TIME' | 'CONTRACTOR' | 'NON_EMPLOYEE' | 'FORMER_EMPLOYEE'
            - `firstName` string — The first name of the person
            - `lastName` string — The last name of the person
            - `title` string — Job title.
            - `businessUnit` string — Typically the highest level organizational unit; generally applies to bigger companies with multiple distinct businesses.
            - `department` string — An organizational unit where everyone has a similar task, e.g. `Engineering`.
            - `jobFunction` string — Normalized job-function category assigned by Entity Builder from the source department and, when available, job title. Unlike `department`, which preserves the company-specific organizational unit, this field groups departments into configured categories such as `Engineering`, `Sales`, or `IT`; it may be `Unknown` when the mapping is inconclusive.
            - `teams` PersonTeam[] — Info about the employee's team(s).
              - …
            - `departmentCount` integer — The number of people in this person's department.
            - `email` string — The user's primary email address
            - `aliasEmails` string[] — Additional email addresses of this user beyond the primary, if any.
            - `location` string — User facing string representing the person's location.
            - `structuredLocation` StructuredLocation — Detailed location with information about country, state, city etc.
              - …
            - `externalProfileLink` string — Link to a customer's internal profile page. This is set to '#' when no link is desired.
            - `manager` Person — recursive
            - `managementChain` Person[] — The chain of reporting in the company as far up as it goes. The last entry is this person's direct manager.
            - `phone` string — Phone number as a number string.
            - `timezone` string — The timezone of the person. E.g. "Pacific Daylight Time".
            - `timezoneOffset` integer — The offset of the person's timezone in seconds from UTC.
            - `timezoneIANA` string — The IANA timezone identifier, e.g. "America/Los_Angeles".
            - `photoUrl` string, url — The URL of the person's avatar. Public, glean-authenticated and Base64 encoded data URLs are all valid (but not third-party-authenticated URLs).
            - `uneditedPhotoUrl` string, url — The original photo URL of the person's avatar before any edits they made are applied
            - `bannerUrl` string, url — The URL of the person's banner photo.
            - `reports` Person[]
            - `startDate` string, date — The date when the employee started.
            - `endDate` string, date — If a former employee, the last date of employment.
            - `bio` string — Short biography or mission statement of the employee.
            - `pronoun` string — She/her, He/his or other pronoun.
            - `orgSizeCount` integer — The total recursive size of the people reporting to this person, or 1
            - `directReportsCount` integer — The total number of people who directly report to this person, or 0
            - `preferredName` string — The preferred name of the person, or a nickname.
            - `socialNetwork` SocialNetwork[] — List of social network profiles.
              - …
            - `datasourceProfile` DatasourceProfile[] — List of profiles this user has in different datasources / tools that they use.
              - …
            - `querySuggestions` QuerySuggestionList
              - …
            - `peopleDistance` PersonDistance[] — List of people and distances to those people from this person. Optionally with metadata.
              - …
            - `inviteInfo` InviteInfo — Information regarding the invite status of a person.
              - …
            - `isSignedUp` boolean — Whether the user has signed into Glean at least once.
            - `lastExtensionUse` string, date-time — The last time the user has used the Glean extension in ISO 8601 format.
            - `permissions` Permissions — Describes the permissions levels that a user has for permissioned features. When the client sends this, Permissions.read and Permissions.write are the additional permissions granted to a user on top of what they have via their roles. When the server sends this, Permissions.read and Permissions.write are the complete (merged) set of permissions the user has, and Permissions.roles is just for display purposes.
              - …
            - `customFields` CustomFieldData[] — User customizable fields for additional people information.
              - …
            - `loggingId` string — The logging id of the person used in scrubbed logs, tracking GA metrics.
            - `startDatePercentile` number, float — Percentage of the company that started strictly after this person. Between [0,100).
            - `busyEvents` AnonymousEvent[] — Intervals of busy time for this person, along with the type of event they're busy with.
              - …
            - `profileBoolSettings` object — flag settings to indicate user profile settings for certain items
            - `badges` Badge[] — The badges that a user has earned over their lifetime.
              - …
            - `isOrgRoot` boolean — Whether this person is a "root" node in their organization's hierarchy.
        - `updatedBy` Person
          - `name` string, required — The display name.
          - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
          - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
            - `relation` 'ATTACHMENT' | 'CANONICAL' | 'CASE' | 'contact' | 'CONTACT' | 'CONVERSATION_MESSAGES' | 'EXPERT' | 'FROM' | 'HIGHLIGHT' | 'opportunity' | 'OPPORTUNITY' | 'RECENT' | 'SOURCE' | 'TICKET' | 'TRANSCRIPT' | 'WITH' — How this document relates to the including entity.
            - `associatedEntityId` string — Which entity in the response that this entity relates to. Relevant when there are multiple entities associated with the response (such as merged customers)
            - `querySuggestion` QuerySuggestion
              - …
            - `documents` Document[] — A truncated list of documents with this relation. TO BE DEPRECATED.
              - …
            - `results` SearchResult[] — A truncated list of documents associated with this relation. To be used in favor of `documents` because it contains a trackingToken.
          - `metadata` PersonMetadata
            - `type` 'FULL_TIME' | 'CONTRACTOR' | 'NON_EMPLOYEE' | 'FORMER_EMPLOYEE'
            - `firstName` string — The first name of the person
            - `lastName` string — The last name of the person
            - `title` string — Job title.
            - `businessUnit` string — Typically the highest level organizational unit; generally applies to bigger companies with multiple distinct businesses.
            - `department` string — An organizational unit where everyone has a similar task, e.g. `Engineering`.
            - `jobFunction` string — Normalized job-function category assigned by Entity Builder from the source department and, when available, job title. Unlike `department`, which preserves the company-specific organizational unit, this field groups departments into configured categories such as `Engineering`, `Sales`, or `IT`; it may be `Unknown` when the mapping is inconclusive.
            - `teams` PersonTeam[] — Info about the employee's team(s).
              - …
            - `departmentCount` integer — The number of people in this person's department.
            - `email` string — The user's primary email address
            - `aliasEmails` string[] — Additional email addresses of this user beyond the primary, if any.
            - `location` string — User facing string representing the person's location.
            - `structuredLocation` StructuredLocation — Detailed location with information about country, state, city etc.
              - …
            - `externalProfileLink` string — Link to a customer's internal profile page. This is set to '#' when no link is desired.
            - `manager` Person — recursive
            - `managementChain` Person[] — The chain of reporting in the company as far up as it goes. The last entry is this person's direct manager.
            - `phone` string — Phone number as a number string.
            - `timezone` string — The timezone of the person. E.g. "Pacific Daylight Time".
            - `timezoneOffset` integer — The offset of the person's timezone in seconds from UTC.
            - `timezoneIANA` string — The IANA timezone identifier, e.g. "America/Los_Angeles".
            - `photoUrl` string, url — The URL of the person's avatar. Public, glean-authenticated and Base64 encoded data URLs are all valid (but not third-party-authenticated URLs).
            - `uneditedPhotoUrl` string, url — The original photo URL of the person's avatar before any edits they made are applied
            - `bannerUrl` string, url — The URL of the person's banner photo.
            - `reports` Person[]
            - `startDate` string, date — The date when the employee started.
            - `endDate` string, date — If a former employee, the last date of employment.
            - `bio` string — Short biography or mission statement of the employee.
            - `pronoun` string — She/her, He/his or other pronoun.
            - `orgSizeCount` integer — The total recursive size of the people reporting to this person, or 1
            - `directReportsCount` integer — The total number of people who directly report to this person, or 0
            - `preferredName` string — The preferred name of the person, or a nickname.
            - `socialNetwork` SocialNetwork[] — List of social network profiles.
              - …
            - `datasourceProfile` DatasourceProfile[] — List of profiles this user has in different datasources / tools that they use.
              - …
            - `querySuggestions` QuerySuggestionList
              - …
            - `peopleDistance` PersonDistance[] — List of people and distances to those people from this person. Optionally with metadata.
              - …
            - `inviteInfo` InviteInfo — Information regarding the invite status of a person.
              - …
            - `isSignedUp` boolean — Whether the user has signed into Glean at least once.
            - `lastExtensionUse` string, date-time — The last time the user has used the Glean extension in ISO 8601 format.
            - `permissions` Permissions — Describes the permissions levels that a user has for permissioned features. When the client sends this, Permissions.read and Permissions.write are the additional permissions granted to a user on top of what they have via their roles. When the server sends this, Permissions.read and Permissions.write are the complete (merged) set of permissions the user has, and Permissions.roles is just for display purposes.
              - …
            - `customFields` CustomFieldData[] — User customizable fields for additional people information.
              - …
            - `loggingId` string — The logging id of the person used in scrubbed logs, tracking GA metrics.
            - `startDatePercentile` number, float — Percentage of the company that started strictly after this person. Between [0,100).
            - `busyEvents` AnonymousEvent[] — Intervals of busy time for this person, along with the type of event they're busy with.
              - …
            - `profileBoolSettings` object — flag settings to indicate user profile settings for certain items
            - `badges` Badge[] — The badges that a user has earned over their lifetime.
              - …
            - `isOrgRoot` boolean — Whether this person is a "root" node in their organization's hierarchy.
        - `itemCount` integer — The number of items currently in the Collection. Separated from the actual items so we can grab the count without items.
        - `childCount` integer — The number of children Collections. Separated from the actual children so we can grab the count without children.
        - `items` CollectionItem[] — The items in this Collection.
          - `name` string — The optional name of the Collection item.
          - `description` string — A helpful description of why this CollectionItem is in the Collection that it's in.
          - `icon` string — The emoji icon for this CollectionItem. Only used for Text type items.
          - `collectionId` integer, required — The Collection ID of the Collection that this CollectionItem belongs in.
          - `documentId` string — If this CollectionItem is indexed, the Glean Document ID of that document.
          - `url` string — The URL of this CollectionItem.
          - `itemId` string — Unique identifier for the item within the Collection it belongs to.
          - `createdBy` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `createdAt` string, date-time — Unix timestamp for when the item was first added (in seconds since epoch UTC).
          - `document` Document
            - `id` string — The Glean Document ID.
            - `datasource` string — The app or other repository type from which the document was extracted
            - `connectorType` 'API_CRAWL' | 'BROWSER_CRAWL' | 'BROWSER_HISTORY' | 'BUILTIN' | 'FEDERATED_SEARCH' | 'PUSH_API' | 'WEB_CRAWL' | 'NATIVE_HISTORY' — The source from which document content was pulled, e.g. an API crawl or browser history
            - `docType` string — The datasource-specific type of the document (e.g. for Jira issues, this is the issue type such as Bug or Feature Request).
            - `content` DocumentContent
              - …
            - `containerDocument` Document — recursive
            - `parentDocument` Document — recursive
            - `title` string — The title of the document.
            - `url` string — A permalink for the document.
            - `metadata` DocumentMetadata
              - …
            - `sections` DocumentSection[] — A list of content sub-sections in the document, e.g. text blocks with different headings in a Drive doc or Confluence page.
              - …
          - `shortcut` Shortcut
            - `id` integer — The opaque id of the user generated content.
            - `inputAlias` string, required — Link text following go/ prefix as entered by the user.
            - `destinationUrl` string — Destination URL for the shortcut.
            - `destinationDocumentId` string — Glean Document ID for the URL, if known.
            - `description` string — A short, plain text blurb to help people understand the intent of the shortcut.
            - `unlisted` boolean — Whether this shortcut is unlisted or not. Unlisted shortcuts are visible to author + admins only.
            - `urlTemplate` string — For variable shortcuts, contains the URL template; note, `destinationUrl` contains default URL.
            - `addedRoles` UserRoleSpecification[] — A list of user roles added for the Shortcut.
              - …
            - `removedRoles` UserRoleSpecification[] — A list of user roles removed for the Shortcut.
              - …
            - `permissions` ObjectPermissions
              - …
            - `createdBy` Person
              - …
            - `createTime` string, date-time — The time the shortcut was created in ISO format (ISO 8601).
            - `updatedBy` Person
              - …
            - `updateTime` string, date-time — The time the shortcut was updated in ISO format (ISO 8601).
            - `destinationDocument` Document
              - …
            - `intermediateUrl` string — The URL from which the user is then redirected to the destination URL. Full replacement for https://go/<inputAlias>.
            - `viewPrefix` string — The part of the shortcut preceding the input alias when used for showing shortcuts to users. Should end with "/". e.g. "go/" for native shortcuts.
            - `isExternal` boolean — Indicates whether a shortcut is native or external.
            - `editUrl` string — The URL using which the user can access the edit page of the shortcut.
            - `alias` string — canonical link text following go/ prefix where hyphen/underscore is removed.
            - `title` string — Title for the Go Link
            - `roles` UserRoleSpecification[] — A list of user roles for the Go Link.
              - …
            - `favoriteInfo` FavoriteInfo
              - …
          - `collection` Collection — recursive
          - `itemType` 'DOCUMENT' | 'TEXT' | 'URL' | 'COLLECTION', required
        - `pinMetadata` CollectionPinnedMetadata
          - `existingPins` CollectionPinTarget[] — List of targets this Collection is pinned to.
            - `category` 'COMPANY_RESOURCE' | 'DEPARTMENT_RESOURCE' | 'TEAM_RESOURCE', required — Categories a Collection can be pinned to.
            - `value` string — Optional. If category supports values, then the additional value for the category e.g. department name for DEPARTMENT_RESOURCE, team name/id for TEAM_RESOURCE and so on.
            - `target` 'RESOURCE_CARD' | 'TEAM_PROFILE_PAGE' — What targets can a Collection be pinned to.
          - `eligiblePins` CollectionPinMetadata[] — List of targets this Collection can be pinned to, excluding the targets this Collection is already pinned to. We also include Collection ID already is pinned to each eligible target, which will be 0 if the target has no pinned Collection.
            - `id` integer, required — The ID of the Collection.
            - `target` CollectionPinTarget, required
              - …
        - `shortcuts` string[] — The names of the shortcuts (Go Links) that point to this Collection.
        - `children` Collection[] — The children Collections of this Collection.
        - `roles` UserRoleSpecification[] — A list of user roles for the Collection.
          - `sourceDocumentSpec` union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
          - `person` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `group` Group
            - `type` 'DEPARTMENT' | 'ALL' | 'TEAM' | 'JOB_TITLE' | 'ROLE_TYPE' | 'LOCATION' | 'REGION' | 'EXTERNAL_GROUP' | 'COLLECTION_AUDIENCE', required — The type of user group
            - `id` string, required — A unique identifier for the group. May be the same as name.
            - `name` string — Name of the group.
            - `datasourceInstance` string — Datasource instance if the group belongs to one e.g. external groups.
            - `provisioningId` string — identifier for greenlist provisioning, aka sciokey
          - `role` 'OWNER' | 'VIEWER' | 'ANSWER_MODERATOR' | 'EDITOR' | 'VERIFIER', required — A user's role with respect to a specific document.
        - `favoriteInfo` FavoriteInfo
          - `ugcType` 'AGENT_TYPE' | 'ANNOUNCEMENTS_TYPE' | 'ANSWERS_TYPE' | 'CHATS_TYPE' | 'COLLECTIONS_TYPE' | 'EMAIL_TYPE' | 'HTML_CODE_TYPE' | 'IMAGE_TYPE' | 'MESSAGE_TYPE' | 'PAPER_TYPE' | 'PRISM_VIEWS_TYPE' | 'PROMPT_TEMPLATES_TYPE' | 'PINS_TYPE' | 'SCRIBES_TYPE' | 'SHORTCUTS_TYPE' | 'SLIDE_TYPE' | 'SPREADSHEET_TYPE' | 'INLINE_HTML_TYPE' | 'PODCAST_TYPE' | 'WORKFLOWS_TYPE'
          - `id` string — Opaque id of the UGC.
          - `count` integer — Number of users this object has been favorited by.
          - `favoritedByUser` boolean — If the requesting user has favorited this object.
      - `code` Code
        - `repoName` string
        - `fileName` string
        - `fileUrl` string
        - `lines` CodeLine[]
          - `lineNumber` integer
          - `content` string
          - `ranges` TextRange[] — Index ranges depicting matched sections of the line
            - `startIndex` integer, required — The inclusive start index of the range.
            - `endIndex` integer — The exclusive end index of the range.
            - `type` 'BOLD' | 'CITATION' | 'HIGHLIGHT' | 'LINK'
            - `url` string — The URL associated with the range, if applicable. For example, the linked URL for a LINK range.
            - `document` Document
              - …
        - `isLastMatch` boolean — Last file match for a repo
      - `shortcut` Shortcut
        - `id` integer — The opaque id of the user generated content.
        - `inputAlias` string, required — Link text following go/ prefix as entered by the user.
        - `destinationUrl` string — Destination URL for the shortcut.
        - `destinationDocumentId` string — Glean Document ID for the URL, if known.
        - `description` string — A short, plain text blurb to help people understand the intent of the shortcut.
        - `unlisted` boolean — Whether this shortcut is unlisted or not. Unlisted shortcuts are visible to author + admins only.
        - `urlTemplate` string — For variable shortcuts, contains the URL template; note, `destinationUrl` contains default URL.
        - `addedRoles` UserRoleSpecification[] — A list of user roles added for the Shortcut.
          - `sourceDocumentSpec` union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
          - `person` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `group` Group
            - `type` 'DEPARTMENT' | 'ALL' | 'TEAM' | 'JOB_TITLE' | 'ROLE_TYPE' | 'LOCATION' | 'REGION' | 'EXTERNAL_GROUP' | 'COLLECTION_AUDIENCE', required — The type of user group
            - `id` string, required — A unique identifier for the group. May be the same as name.
            - `name` string — Name of the group.
            - `datasourceInstance` string — Datasource instance if the group belongs to one e.g. external groups.
            - `provisioningId` string — identifier for greenlist provisioning, aka sciokey
          - `role` 'OWNER' | 'VIEWER' | 'ANSWER_MODERATOR' | 'EDITOR' | 'VERIFIER', required — A user's role with respect to a specific document.
        - `removedRoles` UserRoleSpecification[] — A list of user roles removed for the Shortcut.
          - `sourceDocumentSpec` union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
          - `person` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `group` Group
            - `type` 'DEPARTMENT' | 'ALL' | 'TEAM' | 'JOB_TITLE' | 'ROLE_TYPE' | 'LOCATION' | 'REGION' | 'EXTERNAL_GROUP' | 'COLLECTION_AUDIENCE', required — The type of user group
            - `id` string, required — A unique identifier for the group. May be the same as name.
            - `name` string — Name of the group.
            - `datasourceInstance` string — Datasource instance if the group belongs to one e.g. external groups.
            - `provisioningId` string — identifier for greenlist provisioning, aka sciokey
          - `role` 'OWNER' | 'VIEWER' | 'ANSWER_MODERATOR' | 'EDITOR' | 'VERIFIER', required — A user's role with respect to a specific document.
        - `permissions` ObjectPermissions
          - `write` WritePermission — Describes the write permissions levels that a user has for a specific feature
            - `scopeType` 'GLOBAL' | 'OWN' — Describes the scope for a ReadPermission, WritePermission, or GrantPermission object
            - `create` boolean — True if user has create permission for this feature and scope
            - `update` boolean — True if user has update permission for this feature and scope
            - `delete` boolean — True if user has delete permission for this feature and scope
        - `createdBy` Person
          - `name` string, required — The display name.
          - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
          - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
            - `relation` 'ATTACHMENT' | 'CANONICAL' | 'CASE' | 'contact' | 'CONTACT' | 'CONVERSATION_MESSAGES' | 'EXPERT' | 'FROM' | 'HIGHLIGHT' | 'opportunity' | 'OPPORTUNITY' | 'RECENT' | 'SOURCE' | 'TICKET' | 'TRANSCRIPT' | 'WITH' — How this document relates to the including entity.
            - `associatedEntityId` string — Which entity in the response that this entity relates to. Relevant when there are multiple entities associated with the response (such as merged customers)
            - `querySuggestion` QuerySuggestion
              - …
            - `documents` Document[] — A truncated list of documents with this relation. TO BE DEPRECATED.
              - …
            - `results` SearchResult[] — A truncated list of documents associated with this relation. To be used in favor of `documents` because it contains a trackingToken.
          - `metadata` PersonMetadata
            - `type` 'FULL_TIME' | 'CONTRACTOR' | 'NON_EMPLOYEE' | 'FORMER_EMPLOYEE'
            - `firstName` string — The first name of the person
            - `lastName` string — The last name of the person
            - `title` string — Job title.
            - `businessUnit` string — Typically the highest level organizational unit; generally applies to bigger companies with multiple distinct businesses.
            - `department` string — An organizational unit where everyone has a similar task, e.g. `Engineering`.
            - `jobFunction` string — Normalized job-function category assigned by Entity Builder from the source department and, when available, job title. Unlike `department`, which preserves the company-specific organizational unit, this field groups departments into configured categories such as `Engineering`, `Sales`, or `IT`; it may be `Unknown` when the mapping is inconclusive.
            - `teams` PersonTeam[] — Info about the employee's team(s).
              - …
            - `departmentCount` integer — The number of people in this person's department.
            - `email` string — The user's primary email address
            - `aliasEmails` string[] — Additional email addresses of this user beyond the primary, if any.
            - `location` string — User facing string representing the person's location.
            - `structuredLocation` StructuredLocation — Detailed location with information about country, state, city etc.
              - …
            - `externalProfileLink` string — Link to a customer's internal profile page. This is set to '#' when no link is desired.
            - `manager` Person — recursive
            - `managementChain` Person[] — The chain of reporting in the company as far up as it goes. The last entry is this person's direct manager.
            - `phone` string — Phone number as a number string.
            - `timezone` string — The timezone of the person. E.g. "Pacific Daylight Time".
            - `timezoneOffset` integer — The offset of the person's timezone in seconds from UTC.
            - `timezoneIANA` string — The IANA timezone identifier, e.g. "America/Los_Angeles".
            - `photoUrl` string, url — The URL of the person's avatar. Public, glean-authenticated and Base64 encoded data URLs are all valid (but not third-party-authenticated URLs).
            - `uneditedPhotoUrl` string, url — The original photo URL of the person's avatar before any edits they made are applied
            - `bannerUrl` string, url — The URL of the person's banner photo.
            - `reports` Person[]
            - `startDate` string, date — The date when the employee started.
            - `endDate` string, date — If a former employee, the last date of employment.
            - `bio` string — Short biography or mission statement of the employee.
            - `pronoun` string — She/her, He/his or other pronoun.
            - `orgSizeCount` integer — The total recursive size of the people reporting to this person, or 1
            - `directReportsCount` integer — The total number of people who directly report to this person, or 0
            - `preferredName` string — The preferred name of the person, or a nickname.
            - `socialNetwork` SocialNetwork[] — List of social network profiles.
              - …
            - `datasourceProfile` DatasourceProfile[] — List of profiles this user has in different datasources / tools that they use.
              - …
            - `querySuggestions` QuerySuggestionList
              - …
            - `peopleDistance` PersonDistance[] — List of people and distances to those people from this person. Optionally with metadata.
              - …
            - `inviteInfo` InviteInfo — Information regarding the invite status of a person.
              - …
            - `isSignedUp` boolean — Whether the user has signed into Glean at least once.
            - `lastExtensionUse` string, date-time — The last time the user has used the Glean extension in ISO 8601 format.
            - `permissions` Permissions — Describes the permissions levels that a user has for permissioned features. When the client sends this, Permissions.read and Permissions.write are the additional permissions granted to a user on top of what they have via their roles. When the server sends this, Permissions.read and Permissions.write are the complete (merged) set of permissions the user has, and Permissions.roles is just for display purposes.
              - …
            - `customFields` CustomFieldData[] — User customizable fields for additional people information.
              - …
            - `loggingId` string — The logging id of the person used in scrubbed logs, tracking GA metrics.
            - `startDatePercentile` number, float — Percentage of the company that started strictly after this person. Between [0,100).
            - `busyEvents` AnonymousEvent[] — Intervals of busy time for this person, along with the type of event they're busy with.
              - …
            - `profileBoolSettings` object — flag settings to indicate user profile settings for certain items
            - `badges` Badge[] — The badges that a user has earned over their lifetime.
              - …
            - `isOrgRoot` boolean — Whether this person is a "root" node in their organization's hierarchy.
        - `createTime` string, date-time — The time the shortcut was created in ISO format (ISO 8601).
        - `updatedBy` Person
          - `name` string, required — The display name.
          - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
          - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
            - `relation` 'ATTACHMENT' | 'CANONICAL' | 'CASE' | 'contact' | 'CONTACT' | 'CONVERSATION_MESSAGES' | 'EXPERT' | 'FROM' | 'HIGHLIGHT' | 'opportunity' | 'OPPORTUNITY' | 'RECENT' | 'SOURCE' | 'TICKET' | 'TRANSCRIPT' | 'WITH' — How this document relates to the including entity.
            - `associatedEntityId` string — Which entity in the response that this entity relates to. Relevant when there are multiple entities associated with the response (such as merged customers)
            - `querySuggestion` QuerySuggestion
              - …
            - `documents` Document[] — A truncated list of documents with this relation. TO BE DEPRECATED.
              - …
            - `results` SearchResult[] — A truncated list of documents associated with this relation. To be used in favor of `documents` because it contains a trackingToken.
          - `metadata` PersonMetadata
            - `type` 'FULL_TIME' | 'CONTRACTOR' | 'NON_EMPLOYEE' | 'FORMER_EMPLOYEE'
            - `firstName` string — The first name of the person
            - `lastName` string — The last name of the person
            - `title` string — Job title.
            - `businessUnit` string — Typically the highest level organizational unit; generally applies to bigger companies with multiple distinct businesses.
            - `department` string — An organizational unit where everyone has a similar task, e.g. `Engineering`.
            - `jobFunction` string — Normalized job-function category assigned by Entity Builder from the source department and, when available, job title. Unlike `department`, which preserves the company-specific organizational unit, this field groups departments into configured categories such as `Engineering`, `Sales`, or `IT`; it may be `Unknown` when the mapping is inconclusive.
            - `teams` PersonTeam[] — Info about the employee's team(s).
              - …
            - `departmentCount` integer — The number of people in this person's department.
            - `email` string — The user's primary email address
            - `aliasEmails` string[] — Additional email addresses of this user beyond the primary, if any.
            - `location` string — User facing string representing the person's location.
            - `structuredLocation` StructuredLocation — Detailed location with information about country, state, city etc.
              - …
            - `externalProfileLink` string — Link to a customer's internal profile page. This is set to '#' when no link is desired.
            - `manager` Person — recursive
            - `managementChain` Person[] — The chain of reporting in the company as far up as it goes. The last entry is this person's direct manager.
            - `phone` string — Phone number as a number string.
            - `timezone` string — The timezone of the person. E.g. "Pacific Daylight Time".
            - `timezoneOffset` integer — The offset of the person's timezone in seconds from UTC.
            - `timezoneIANA` string — The IANA timezone identifier, e.g. "America/Los_Angeles".
            - `photoUrl` string, url — The URL of the person's avatar. Public, glean-authenticated and Base64 encoded data URLs are all valid (but not third-party-authenticated URLs).
            - `uneditedPhotoUrl` string, url — The original photo URL of the person's avatar before any edits they made are applied
            - `bannerUrl` string, url — The URL of the person's banner photo.
            - `reports` Person[]
            - `startDate` string, date — The date when the employee started.
            - `endDate` string, date — If a former employee, the last date of employment.
            - `bio` string — Short biography or mission statement of the employee.
            - `pronoun` string — She/her, He/his or other pronoun.
            - `orgSizeCount` integer — The total recursive size of the people reporting to this person, or 1
            - `directReportsCount` integer — The total number of people who directly report to this person, or 0
            - `preferredName` string — The preferred name of the person, or a nickname.
            - `socialNetwork` SocialNetwork[] — List of social network profiles.
              - …
            - `datasourceProfile` DatasourceProfile[] — List of profiles this user has in different datasources / tools that they use.
              - …
            - `querySuggestions` QuerySuggestionList
              - …
            - `peopleDistance` PersonDistance[] — List of people and distances to those people from this person. Optionally with metadata.
              - …
            - `inviteInfo` InviteInfo — Information regarding the invite status of a person.
              - …
            - `isSignedUp` boolean — Whether the user has signed into Glean at least once.
            - `lastExtensionUse` string, date-time — The last time the user has used the Glean extension in ISO 8601 format.
            - `permissions` Permissions — Describes the permissions levels that a user has for permissioned features. When the client sends this, Permissions.read and Permissions.write are the additional permissions granted to a user on top of what they have via their roles. When the server sends this, Permissions.read and Permissions.write are the complete (merged) set of permissions the user has, and Permissions.roles is just for display purposes.
              - …
            - `customFields` CustomFieldData[] — User customizable fields for additional people information.
              - …
            - `loggingId` string — The logging id of the person used in scrubbed logs, tracking GA metrics.
            - `startDatePercentile` number, float — Percentage of the company that started strictly after this person. Between [0,100).
            - `busyEvents` AnonymousEvent[] — Intervals of busy time for this person, along with the type of event they're busy with.
              - …
            - `profileBoolSettings` object — flag settings to indicate user profile settings for certain items
            - `badges` Badge[] — The badges that a user has earned over their lifetime.
              - …
            - `isOrgRoot` boolean — Whether this person is a "root" node in their organization's hierarchy.
        - `updateTime` string, date-time — The time the shortcut was updated in ISO format (ISO 8601).
        - `destinationDocument` Document
          - `id` string — The Glean Document ID.
          - `datasource` string — The app or other repository type from which the document was extracted
          - `connectorType` 'API_CRAWL' | 'BROWSER_CRAWL' | 'BROWSER_HISTORY' | 'BUILTIN' | 'FEDERATED_SEARCH' | 'PUSH_API' | 'WEB_CRAWL' | 'NATIVE_HISTORY' — The source from which document content was pulled, e.g. an API crawl or browser history
          - `docType` string — The datasource-specific type of the document (e.g. for Jira issues, this is the issue type such as Bug or Feature Request).
          - `content` DocumentContent
            - `fullTextList` string[] — The plaintext content of the document.
          - `containerDocument` Document — recursive
          - `parentDocument` Document — recursive
          - `title` string — The title of the document.
          - `url` string — A permalink for the document.
          - `metadata` DocumentMetadata
            - `datasource` string
            - `datasourceInstance` string — The datasource instance from which the document was extracted.
            - `objectType` string — The type of the result. Interpretation is specific to each datasource. (e.g. for Jira issues, this is the issue type such as Bug or Feature Request).
            - `container` string — The name of the container (higher level parent, not direct parent) of the result. Interpretation is specific to each datasource (e.g. Channels for Slack, Project for Jira). cf. parentId
            - `containerId` string — The Glean Document ID of the container. Uniquely identifies the container.
            - `superContainerId` string — The Glean Document ID of the super container. Super container represents a broader abstraction that contains many containers. For example, whereas container might refer to a folder, super container would refer to a drive.
            - `parentId` string — The id of the direct parent of the result. Interpretation is specific to each datasource (e.g. parent issue for Jira). cf. container
            - `mimeType` string
            - `documentId` string — The index-wide unique identifier.
            - `loggingId` string — A unique identifier used to represent the document in any logging or feedback requests in place of documentId.
            - `documentIdHash` string — Hash of the Glean Document ID.
            - `createTime` string, date-time
            - `updateTime` string, date-time
            - `author` Person
              - …
            - `owner` Person
              - …
            - `mentionedPeople` Person[] — A list of people mentioned in the document.
              - …
            - `visibility` 'PRIVATE' | 'SPECIFIC_PEOPLE_AND_GROUPS' | 'DOMAIN_LINK' | 'DOMAIN_VISIBLE' | 'PUBLIC_LINK' | 'PUBLIC_VISIBLE' — The level of visibility of the document as understood by our system.
            - `components` string[] — A list of components this result is associated with. Interpretation is specific to each datasource. (e.g. for Jira issues, these are [components](https://confluence.atlassian.com/jirasoftwarecloud/organizing-work-with-components-764478279.html).)
            - `status` string — The status or disposition of the result. Interpretation is specific to each datasource. (e.g. for Jira issues, this is the issue status such as Done, In Progress or Will Not Fix).
            - `statusCategory` string — The status category of the result. Meant to be more general than status. Interpretation is specific to each datasource.
            - `pins` PinDocument[] — A list of stars associated with this result. "Pin" is an older name.
              - …
            - `priority` string — The document priority. Interpretation is datasource specific.
            - `assignedTo` Person
              - …
            - `updatedBy` Person
              - …
            - `labels` string[] — A list of tags for the document. Interpretation is datasource specific.
            - `collections` Collection[] — A list of collections that the document belongs to.
              - …
            - `datasourceId` string — The user-visible datasource specific id (e.g. Salesforce case number for example, GitHub PR number).
            - `interactions` DocumentInteractions
              - …
            - `verification` Verification
              - …
            - `viewerInfo` ViewerInfo
              - …
            - `permissions` ObjectPermissions
              - …
            - `visitCount` CountInfo
              - …
            - `shortcuts` Shortcut[] — A list of shortcuts of which destination URL is for the document.
            - `path` string — For file datasources like onedrive/github etc this has the path to the file
            - `customData` CustomData — Custom fields specific to individual datasources
            - `documentCategory` string — The document's document_category(.proto).
            - `contactPerson` Person
              - …
            - `thumbnail` Thumbnail
              - …
            - `indexStatus` IndexStatus
              - …
            - `ancestors` Document[] — A list of documents that are ancestors of this document in the hierarchy of the document's datasource, for example parent folders or containers. Ancestors can be of different types and some may not be indexed. Higher level ancestors appear earlier in the list.
          - `sections` DocumentSection[] — A list of content sub-sections in the document, e.g. text blocks with different headings in a Drive doc or Confluence page.
            - `title` string — The title of the document section (e.g. the section header).
            - `url` string — The permalink of the document section.
        - `intermediateUrl` string — The URL from which the user is then redirected to the destination URL. Full replacement for https://go/<inputAlias>.
        - `viewPrefix` string — The part of the shortcut preceding the input alias when used for showing shortcuts to users. Should end with "/". e.g. "go/" for native shortcuts.
        - `isExternal` boolean — Indicates whether a shortcut is native or external.
        - `editUrl` string — The URL using which the user can access the edit page of the shortcut.
        - `alias` string — canonical link text following go/ prefix where hyphen/underscore is removed.
        - `title` string — Title for the Go Link
        - `roles` UserRoleSpecification[] — A list of user roles for the Go Link.
          - `sourceDocumentSpec` union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
          - `person` Person
            - `name` string, required — The display name.
            - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
            - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
              - …
            - `metadata` PersonMetadata
              - …
          - `group` Group
            - `type` 'DEPARTMENT' | 'ALL' | 'TEAM' | 'JOB_TITLE' | 'ROLE_TYPE' | 'LOCATION' | 'REGION' | 'EXTERNAL_GROUP' | 'COLLECTION_AUDIENCE', required — The type of user group
            - `id` string, required — A unique identifier for the group. May be the same as name.
            - `name` string — Name of the group.
            - `datasourceInstance` string — Datasource instance if the group belongs to one e.g. external groups.
            - `provisioningId` string — identifier for greenlist provisioning, aka sciokey
          - `role` 'OWNER' | 'VIEWER' | 'ANSWER_MODERATOR' | 'EDITOR' | 'VERIFIER', required — A user's role with respect to a specific document.
        - `favoriteInfo` FavoriteInfo
          - `ugcType` 'AGENT_TYPE' | 'ANNOUNCEMENTS_TYPE' | 'ANSWERS_TYPE' | 'CHATS_TYPE' | 'COLLECTIONS_TYPE' | 'EMAIL_TYPE' | 'HTML_CODE_TYPE' | 'IMAGE_TYPE' | 'MESSAGE_TYPE' | 'PAPER_TYPE' | 'PRISM_VIEWS_TYPE' | 'PROMPT_TEMPLATES_TYPE' | 'PINS_TYPE' | 'SCRIBES_TYPE' | 'SHORTCUTS_TYPE' | 'SLIDE_TYPE' | 'SPREADSHEET_TYPE' | 'INLINE_HTML_TYPE' | 'PODCAST_TYPE' | 'WORKFLOWS_TYPE'
          - `id` string — Opaque id of the UGC.
          - `count` integer — Number of users this object has been favorited by.
          - `favoritedByUser` boolean — If the requesting user has favorited this object.
      - `querySuggestions` QuerySuggestionList
        - `suggestions` QuerySuggestion[]
          - `missingTerm` string — A query term missing from the original query on which this suggestion is based.
          - `query` string, required — The query being suggested (e.g. enforcing the missing term from the original query).
          - `searchProviderInfo` SearchProviderInfo
            - `name` string — Name of the search provider.
            - `logoUrl` string — URL to the provider's logo.
            - `searchLinkUrlTemplate` string — URL template that can be used to perform the suggested search by replacing the {query} placeholder with the query suggestion.
          - `label` string — A user-facing description to display for the suggestion.
          - `datasource` string — The datasource associated with the suggestion.
          - `resultTab` ResultTab
            - `id` string — The unique ID of the tab. Can be passed in a search request to get results for that tab.
            - `count` integer — The number of results in this tab for the current query.
            - `datasource` string — The datasource associated with the tab, if any.
            - `datasourceInstance` string — The datasource instance associated with the tab, if any.
          - `requestOptions` SearchRequestOptions
            - `datasourceFilter` string — Filter results to a single datasource name (e.g. gmail, slack). All results are returned if missing.
            - `datasourcesFilter` string[] — Filter results to one or more datasources (e.g. gmail, slack). All results are returned if missing.
            - `queryOverridesFacetFilters` boolean — If true, the operators in the query are taken to override any operators in facetFilters in the case of conflict. This is used to correctly set rewrittenFacetFilters and rewrittenQuery.
            - `facetFilters` FacetFilter[] — A list of filters for the query. An AND is assumed between different facetFilters. For example, owner Sumeet and type Spreadsheet shows documents that are by Sumeet AND are Spreadsheets.
              - …
            - `facetFilterSets` FacetFilterSet[] — A list of facet filter sets that will be OR'ed together. SearchRequestOptions where both facetFilterSets and facetFilters set are considered as bad request. Callers should set only one of these fields.
              - …
            - `facetBucketFilter` FacetBucketFilter
              - …
            - `facetBucketSize` integer, required — The maximum number of FacetBuckets to return in each FacetResult.
            - `defaultFacets` string[] — Facets for which FacetResults should be fetched and that don't apply to a particular datasource. If specified, these values will replace the standard default facets (last_updated_at, from, etc.). The requested facets will be returned alongside datasource-specific facets if searching a single datasource.
            - `authTokens` AuthToken[] — Auth tokens which may be used for non-indexed, federated results (e.g. Gmail).
              - …
            - `fetchAllDatasourceCounts` boolean — Hints that the QE should return result counts (via the datasource facet result) for all supported datasources, rather than just those specified in the datasource[s]Filter
            - `responseHints` string[] — Array of hints containing which fields should be populated in the response.
            - `timezoneOffset` integer — The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC.
            - `disableSpellcheck` boolean — Whether or not to disable spellcheck.
            - `disableQueryAutocorrect` boolean — Disables automatic adjustment of the input query for spelling corrections or other reasons.
            - `returnLlmContentOverSnippets` boolean — Enables expanded content to be returned for LLM usage. The size of content per result returned should be modified using maxSnippetSize. Server may return less or more than what is specified in maxSnippetSize. For more details, see https://developers.glean.com/guides/search/llm-content.
            - `inclusions` RestrictionFilters
              - …
            - `exclusions` RestrictionFilters
              - …
          - `ranges` TextRange[] — The bolded ranges within the query of the QuerySuggestion.
            - `startIndex` integer, required — The inclusive start index of the range.
            - `endIndex` integer — The exclusive end index of the range.
            - `type` 'BOLD' | 'CITATION' | 'HIGHLIGHT' | 'LINK'
            - `url` string — The URL associated with the range, if applicable. For example, the linked URL for a LINK range.
            - `document` Document
              - …
          - `inputDetails` SearchRequestInputDetails
            - `hasCopyPaste` boolean — Whether the associated query was at least partially copy-pasted. If subsequent requests are issued after a copy-pasted query is constructed (e.g. with facet modifications), this bit should continue to be set for those requests.
        - `person` Person
          - `name` string, required — The display name.
          - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
          - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
            - `relation` 'ATTACHMENT' | 'CANONICAL' | 'CASE' | 'contact' | 'CONTACT' | 'CONVERSATION_MESSAGES' | 'EXPERT' | 'FROM' | 'HIGHLIGHT' | 'opportunity' | 'OPPORTUNITY' | 'RECENT' | 'SOURCE' | 'TICKET' | 'TRANSCRIPT' | 'WITH' — How this document relates to the including entity.
            - `associatedEntityId` string — Which entity in the response that this entity relates to. Relevant when there are multiple entities associated with the response (such as merged customers)
            - `querySuggestion` QuerySuggestion
              - …
            - `documents` Document[] — A truncated list of documents with this relation. TO BE DEPRECATED.
              - …
            - `results` SearchResult[] — A truncated list of documents associated with this relation. To be used in favor of `documents` because it contains a trackingToken.
          - `metadata` PersonMetadata
            - `type` 'FULL_TIME' | 'CONTRACTOR' | 'NON_EMPLOYEE' | 'FORMER_EMPLOYEE'
            - `firstName` string — The first name of the person
            - `lastName` string — The last name of the person
            - `title` string — Job title.
            - `businessUnit` string — Typically the highest level organizational unit; generally applies to bigger companies with multiple distinct businesses.
            - `department` string — An organizational unit where everyone has a similar task, e.g. `Engineering`.
            - `jobFunction` string — Normalized job-function category assigned by Entity Builder from the source department and, when available, job title. Unlike `department`, which preserves the company-specific organizational unit, this field groups departments into configured categories such as `Engineering`, `Sales`, or `IT`; it may be `Unknown` when the mapping is inconclusive.
            - `teams` PersonTeam[] — Info about the employee's team(s).
              - …
            - `departmentCount` integer — The number of people in this person's department.
            - `email` string — The user's primary email address
            - `aliasEmails` string[] — Additional email addresses of this user beyond the primary, if any.
            - `location` string — User facing string representing the person's location.
            - `structuredLocation` StructuredLocation — Detailed location with information about country, state, city etc.
              - …
            - `externalProfileLink` string — Link to a customer's internal profile page. This is set to '#' when no link is desired.
            - `manager` Person — recursive
            - `managementChain` Person[] — The chain of reporting in the company as far up as it goes. The last entry is this person's direct manager.
            - `phone` string — Phone number as a number string.
            - `timezone` string — The timezone of the person. E.g. "Pacific Daylight Time".
            - `timezoneOffset` integer — The offset of the person's timezone in seconds from UTC.
            - `timezoneIANA` string — The IANA timezone identifier, e.g. "America/Los_Angeles".
            - `photoUrl` string, url — The URL of the person's avatar. Public, glean-authenticated and Base64 encoded data URLs are all valid (but not third-party-authenticated URLs).
            - `uneditedPhotoUrl` string, url — The original photo URL of the person's avatar before any edits they made are applied
            - `bannerUrl` string, url — The URL of the person's banner photo.
            - `reports` Person[]
            - `startDate` string, date — The date when the employee started.
            - `endDate` string, date — If a former employee, the last date of employment.
            - `bio` string — Short biography or mission statement of the employee.
            - `pronoun` string — She/her, He/his or other pronoun.
            - `orgSizeCount` integer — The total recursive size of the people reporting to this person, or 1
            - `directReportsCount` integer — The total number of people who directly report to this person, or 0
            - `preferredName` string — The preferred name of the person, or a nickname.
            - `socialNetwork` SocialNetwork[] — List of social network profiles.
              - …
            - `datasourceProfile` DatasourceProfile[] — List of profiles this user has in different datasources / tools that they use.
              - …
            - `querySuggestions` QuerySuggestionList — recursive
            - `peopleDistance` PersonDistance[] — List of people and distances to those people from this person. Optionally with metadata.
              - …
            - `inviteInfo` InviteInfo — Information regarding the invite status of a person.
              - …
            - `isSignedUp` boolean — Whether the user has signed into Glean at least once.
            - `lastExtensionUse` string, date-time — The last time the user has used the Glean extension in ISO 8601 format.
            - `permissions` Permissions — Describes the permissions levels that a user has for permissioned features. When the client sends this, Permissions.read and Permissions.write are the additional permissions granted to a user on top of what they have via their roles. When the server sends this, Permissions.read and Permissions.write are the complete (merged) set of permissions the user has, and Permissions.roles is just for display purposes.
              - …
            - `customFields` CustomFieldData[] — User customizable fields for additional people information.
              - …
            - `loggingId` string — The logging id of the person used in scrubbed logs, tracking GA metrics.
            - `startDatePercentile` number, float — Percentage of the company that started strictly after this person. Between [0,100).
            - `busyEvents` AnonymousEvent[] — Intervals of busy time for this person, along with the type of event they're busy with.
              - …
            - `profileBoolSettings` object — flag settings to indicate user profile settings for certain items
            - `badges` Badge[] — The badges that a user has earned over their lifetime.
              - …
            - `isOrgRoot` boolean — Whether this person is a "root" node in their organization's hierarchy.
      - `chat` ChatMetadata — Metadata of a Chat a user had with Glean Assistant. This contains no actual conversational content.
        - `id` string — The opaque id of the Chat.
        - `createTime` integer — Server Unix timestamp of the creation time (in seconds since epoch UTC).
        - `createdBy` Person
          - `name` string, required — The display name.
          - `obfuscatedId` string, required — An opaque identifier that can be used to request metadata for a Person.
          - `relatedDocuments` RelatedDocuments[] — A list of documents related to this person.
            - `relation` 'ATTACHMENT' | 'CANONICAL' | 'CASE' | 'contact' | 'CONTACT' | 'CONVERSATION_MESSAGES' | 'EXPERT' | 'FROM' | 'HIGHLIGHT' | 'opportunity' | 'OPPORTUNITY' | 'RECENT' | 'SOURCE' | 'TICKET' | 'TRANSCRIPT' | 'WITH' — How this document relates to the including entity.
            - `associatedEntityId` string — Which entity in the response that this entity relates to. Relevant when there are multiple entities associated with the response (such as merged customers)
            - `querySuggestion` QuerySuggestion
              - …
            - `documents` Document[] — A truncated list of documents with this relation. TO BE DEPRECATED.
              - …
            - `results` SearchResult[] — A truncated list of documents associated with this relation. To be used in favor of `documents` because it contains a trackingToken.
          - `metadata` PersonMetadata
            - `type` 'FULL_TIME' | 'CONTRACTOR' | 'NON_EMPLOYEE' | 'FORMER_EMPLOYEE'
            - `firstName` string — The first name of the person
            - `lastName` string — The last name of the person
            - `title` string — Job title.
            - `businessUnit` string — Typically the highest level organizational unit; generally applies to bigger companies with multiple distinct businesses.
            - `department` string — An organizational unit where everyone has a similar task, e.g. `Engineering`.
            - `jobFunction` string — Normalized job-function category assigned by Entity Builder from the source department and, when available, job title. Unlike `department`, which preserves the company-specific organizational unit, this field groups departments into configured categories such as `Engineering`, `Sales`, or `IT`; it may be `Unknown` when the mapping is inconclusive.
            - `teams` PersonTeam[] — Info about the employee's team(s).
              - …
            - `departmentCount` integer — The number of people in this person's department.
            - `email` string — The user's primary email address
            - `aliasEmails` string[] — Additional email addresses of this user beyond the primary, if any.
            - `location` string — User facing string representing the person's location.
            - `structuredLocation` StructuredLocation — Detailed location with information about country, state, city etc.
              - …
            - `externalProfileLink` string — Link to a customer's internal profile page. This is set to '#' when no link is desired.
            - `manager` Person — recursive
            - `managementChain` Person[] — The chain of reporting in the company as far up as it goes. The last entry is this person's direct manager.
            - `phone` string — Phone number as a number string.
            - `timezone` string — The timezone of the person. E.g. "Pacific Daylight Time".
            - `timezoneOffset` integer — The offset of the person's timezone in seconds from UTC.
            - `timezoneIANA` string — The IANA timezone identifier, e.g. "America/Los_Angeles".
            - `photoUrl` string, url — The URL of the person's avatar. Public, glean-authenticated and Base64 encoded data URLs are all valid (but not third-party-authenticated URLs).
            - `uneditedPhotoUrl` string, url — The original photo URL of the person's avatar before any edits they made are applied
            - `bannerUrl` string, url — The URL of the person's banner photo.
            - `reports` Person[]
            - `startDate` string, date — The date when the employee started.
            - `endDate` string, date — If a former employee, the last date of employment.
            - `bio` string — Short biography or mission statement of the employee.
            - `pronoun` string — She/her, He/his or other pronoun.
            - `orgSizeCount` integer — The total recursive size of the people reporting to this person, or 1
            - `directReportsCount` integer — The total number of people who directly report to this person, or 0
            - `preferredName` string — The preferred name of the person, or a nickname.
            - `socialNetwork` SocialNetwork[] — List of social network profiles.
              - …
            - `datasourceProfile` DatasourceProfile[] — List of profiles this user has in different datasources / tools that they use.
              - …
            - `querySuggestions` QuerySuggestionList
              - …
            - `peopleDistance` PersonDistance[] — List of people and distances to those people from this person. Optionally with metadata.
              - …
            - `inviteInfo` InviteInfo — Information regarding the invite status of a person.
              - …
            - `isSignedUp` boolean — Whether the user has signed into Glean at least once.
            - `lastExtensionUse` string, date-time — The last time the user has used the Glean extension in ISO 8601 format.
            - `permissions` Permissions — Describes the permissions levels that a user has for permissioned features. When the client sends this, Permissions.read and Permissions.write are the additional permissions granted to a user on top of what they have via their roles. When the server sends this, Permissions.read and Permissions.write are the complete (merged) set of permissions the user has, and Permissions.roles is just for display purposes.
              - …
            - `customFields` CustomFieldData[] — User customizable fields for additional people information.
              - …
            - `loggingId` string — The logging id of the person used in scrubbed logs, tracking GA metrics.
            - `startDatePercentile` number, float — Percentage of the company that started strictly after this person. Between [0,100).
            - `busyEvents` AnonymousEvent[] — Intervals of busy time for this person, along with the type of event they're busy with.
              - …
            - `profileBoolSettings` object — flag settings to indicate user profile settings for certain items
            - `badges` Badge[] — The badges that a user has earned over their lifetime.
              - …
            - `isOrgRoot` boolean — Whether this person is a "root" node in their organization's hierarchy.
        - `updateTime` integer — Server Unix timestamp of the update time (in seconds since epoch UTC).
        - `name` string — The name of the Chat.
        - `applicationId` string — The ID of the AI App that this Chat is associated to.
        - `applicationName` string — The display name of the AI App that this Chat is associated to.
        - `icon` IconConfig — Defines how to render an icon
          - `generatedBackgroundColorKey` string
          - `backgroundColor` string
          - `color` string
          - `key` string
          - `iconType` 'COLLECTION' | 'CUSTOM' | 'DATASOURCE' | 'DATASOURCE_INSTANCE' | 'FAVICON' | 'FILE_TYPE' | 'GENERATED_BACKGROUND' | 'GLYPH' | 'MIME_TYPE' | 'NO_ICON' | 'PERSON' | 'REACTIONS' | 'URL'
          - `masked` boolean — Whether the icon should be masked based on current theme.
          - `name` string — The name of the icon if applicable, e.g. the glyph name for `IconType.GLYPH` icons.
          - `url` string — The URL to an image to be displayed if applicable, e.g. the URL for `iconType.URL` icons.
      - `relatedDocuments` RelatedDocuments[] — A list of documents related to this structured result.
        - `relation` 'ATTACHMENT' | 'CANONICAL' | 'CASE' | 'contact' | 'CONTACT' | 'CONVERSATION_MESSAGES' | 'EXPERT' | 'FROM' | 'HIGHLIGHT' | 'opportunity' | 'OPPORTUNITY' | 'RECENT' | 'SOURCE' | 'TICKET' | 'TRANSCRIPT' | 'WITH' — How this document relates to the including entity.
        - `associatedEntityId` string — Which entity in the response that this entity relates to. Relevant when there are multiple entities associated with the response (such as merged customers)
        - `querySuggestion` QuerySuggestion
          - `missingTerm` string — A query term missing from the original query on which this suggestion is based.
          - `query` string, required — The query being suggested (e.g. enforcing the missing term from the original query).
          - `searchProviderInfo` SearchProviderInfo
            - `name` string — Name of the search provider.
            - `logoUrl` string — URL to the provider's logo.
            - `searchLinkUrlTemplate` string — URL template that can be used to perform the suggested search by replacing the {query} placeholder with the query suggestion.
          - `label` string — A user-facing description to display for the suggestion.
          - `datasource` string — The datasource associated with the suggestion.
          - `resultTab` ResultTab
            - `id` string — The unique ID of the tab. Can be passed in a search request to get results for that tab.
            - `count` integer — The number of results in this tab for the current query.
            - `datasource` string — The datasource associated with the tab, if any.
            - `datasourceInstance` string — The datasource instance associated with the tab, if any.
          - `requestOptions` SearchRequestOptions
            - `datasourceFilter` string — Filter results to a single datasource name (e.g. gmail, slack). All results are returned if missing.
            - `datasourcesFilter` string[] — Filter results to one or more datasources (e.g. gmail, slack). All results are returned if missing.
            - `queryOverridesFacetFilters` boolean — If true, the operators in the query are taken to override any operators in facetFilters in the case of conflict. This is used to correctly set rewrittenFacetFilters and rewrittenQuery.
            - `facetFilters` FacetFilter[] — A list of filters for the query. An AND is assumed between different facetFilters. For example, owner Sumeet and type Spreadsheet shows documents that are by Sumeet AND are Spreadsheets.
              - …
            - `facetFilterSets` FacetFilterSet[] — A list of facet filter sets that will be OR'ed together. SearchRequestOptions where both facetFilterSets and facetFilters set are considered as bad request. Callers should set only one of these fields.
              - …
            - `facetBucketFilter` FacetBucketFilter
              - …
            - `facetBucketSize` integer, required — The maximum number of FacetBuckets to return in each FacetResult.
            - `defaultFacets` string[] — Facets for which FacetResults should be fetched and that don't apply to a particular datasource. If specified, these values will replace the standard default facets (last_updated_at, from, etc.). The requested facets will be returned alongside datasource-specific facets if searching a single datasource.
            - `authTokens` AuthToken[] — Auth tokens which may be used for non-indexed, federated results (e.g. Gmail).
              - …
            - `fetchAllDatasourceCounts` boolean — Hints that the QE should return result counts (via the datasource facet result) for all supported datasources, rather than just those specified in the datasource[s]Filter
            - `responseHints` string[] — Array of hints containing which fields should be populated in the response.
            - `timezoneOffset` integer — The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC.
            - `disableSpellcheck` boolean — Whether or not to disable spellcheck.
            - `disableQueryAutocorrect` boolean — Disables automatic adjustment of the input query for spelling corrections or other reasons.
            - `returnLlmContentOverSnippets` boolean — Enables expanded content to be returned for LLM usage. The size of content per result returned should be modified using maxSnippetSize. Server may return less or more than what is specified in maxSnippetSize. For more details, see https://developers.glean.com/guides/search/llm-content.
            - `inclusions` RestrictionFilters
              - …
            - `exclusions` RestrictionFilters
              - …
          - `ranges` TextRange[] — The bolded ranges within the query of the QuerySuggestion.
            - `startIndex` integer, required — The inclusive start index of the range.
            - `endIndex` integer — The exclusive end index of the range.
            - `type` 'BOLD' | 'CITATION' | 'HIGHLIGHT' | 'LINK'
            - `url` string — The URL associated with the range, if applicable. For example, the linked URL for a LINK range.
            - `document` Document
              - …
          - `inputDetails` SearchRequestInputDetails
            - `hasCopyPaste` boolean — Whether the associated query was at least partially copy-pasted. If subsequent requests are issued after a copy-pasted query is constructed (e.g. with facet modifications), this bit should continue to be set for those requests.
        - `documents` Document[] — A truncated list of documents with this relation. TO BE DEPRECATED.
          - `id` string — The Glean Document ID.
          - `datasource` string — The app or other repository type from which the document was extracted
          - `connectorType` 'API_CRAWL' | 'BROWSER_CRAWL' | 'BROWSER_HISTORY' | 'BUILTIN' | 'FEDERATED_SEARCH' | 'PUSH_API' | 'WEB_CRAWL' | 'NATIVE_HISTORY' — The source from which document content was pulled, e.g. an API crawl or browser history
          - `docType` string — The datasource-specific type of the document (e.g. for Jira issues, this is the issue type such as Bug or Feature Request).
          - `content` DocumentContent
            - `fullTextList` string[] — The plaintext content of the document.
          - `containerDocument` Document — recursive
          - `parentDocument` Document — recursive
          - `title` string — The title of the document.
          - `url` string — A permalink for the document.
          - `metadata` DocumentMetadata
            - `datasource` string
            - `datasourceInstance` string — The datasource instance from which the document was extracted.
            - `objectType` string — The type of the result. Interpretation is specific to each datasource. (e.g. for Jira issues, this is the issue type such as Bug or Feature Request).
            - `container` string — The name of the container (higher level parent, not direct parent) of the result. Interpretation is specific to each datasource (e.g. Channels for Slack, Project for Jira). cf. parentId
            - `containerId` string — The Glean Document ID of the container. Uniquely identifies the container.
            - `superContainerId` string — The Glean Document ID of the super container. Super container represents a broader abstraction that contains many containers. For example, whereas container might refer to a folder, super container would refer to a drive.
            - `parentId` string — The id of the direct parent of the result. Interpretation is specific to each datasource (e.g. parent issue for Jira). cf. container
            - `mimeType` string
            - `documentId` string — The index-wide unique identifier.
            - `loggingId` string — A unique identifier used to represent the document in any logging or feedback requests in place of documentId.
            - `documentIdHash` string — Hash of the Glean Document ID.
            - `createTime` string, date-time
            - `updateTime` string, date-time
            - `author` Person
              - …
            - `owner` Person
              - …
            - `mentionedPeople` Person[] — A list of people mentioned in the document.
              - …
            - `visibility` 'PRIVATE' | 'SPECIFIC_PEOPLE_AND_GROUPS' | 'DOMAIN_LINK' | 'DOMAIN_VISIBLE' | 'PUBLIC_LINK' | 'PUBLIC_VISIBLE' — The level of visibility of the document as understood by our system.
            - `components` string[] — A list of components this result is associated with. Interpretation is specific to each datasource. (e.g. for Jira issues, these are [components](https://confluence.atlassian.com/jirasoftwarecloud/organizing-work-with-components-764478279.html).)
            - `status` string — The status or disposition of the result. Interpretation is specific to each datasource. (e.g. for Jira issues, this is the issue status such as Done, In Progress or Will Not Fix).
            - `statusCategory` string — The status category of the result. Meant to be more general than status. Interpretation is specific to each datasource.
            - `pins` PinDocument[] — A list of stars associated with this result. "Pin" is an older name.
              - …
            - `priority` string — The document priority. Interpretation is datasource specific.
            - `assignedTo` Person
              - …
            - `updatedBy` Person
              - …
            - `labels` string[] — A list of tags for the document. Interpretation is datasource specific.
            - `collections` Collection[] — A list of collections that the document belongs to.
              - …
            - `datasourceId` string — The user-visible datasource specific id (e.g. Salesforce case number for example, GitHub PR number).
            - `interactions` DocumentInteractions
              - …
            - `verification` Verification
              - …
            - `viewerInfo` ViewerInfo
              - …
            - `permissions` ObjectPermissions
              - …
            - `visitCount` CountInfo
              - …
            - `shortcuts` Shortcut[] — A list of shortcuts of which destination URL is for the document.
              - …
            - `path` string — For file datasources like onedrive/github etc this has the path to the file
            - `customData` CustomData — Custom fields specific to individual datasources
- … truncated; see the full OpenAPI document linked below

## Other responses

- `400` — Invalid request
- `401` — Not Authorized
- `403` — Forbidden
- `422` — Invalid Query
- `429` — Too Many Requests

---

[API](https://skmtc.net/gleanwork/apis/glean-api.md) · [All operations](https://skmtc.net/gleanwork/apis/glean-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gleanwork/glean-api/versions/5f93ec722f57/schema)
