/* MIT License Copyright (c) 2023 Looker Data Sciences, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /** * 469 API methods */ import type { DelimArray, IDictionary, IAPIMethods, ITransportSettings, SDKResponse, } from '@looker/sdk-rtl'; /** * NOTE: Do not edit this file generated by Looker SDK Codegen for API 4.0 * */ import type { IAccessToken, IAlert, IAlertNotifications, IAlertPatch, IApiSession, IApiVersion, IArtifact, IArtifactNamespace, IArtifactUsage, IBackupConfiguration, IBoard, IBoardItem, IBoardSection, IColorCollection, IColumnSearch, IConnectionFeatures, IContentFavorite, IContentMeta, IContentMetaGroupUser, IContentSearch, IContentSummary, IContentValidation, IContentView, ICostEstimate, ICreateCostEstimate, ICreateCredentialsApi3, ICreateEmbedUserRequest, ICreateFolder, ICreateOAuthApplicationUserStateRequest, ICreateOAuthApplicationUserStateResponse, ICredentialsApi3, ICredentialsEmail, ICredentialsEmailSearch, ICredentialsEmbed, ICredentialsGoogle, ICredentialsLDAP, ICredentialsLookerOpenid, ICredentialsOIDC, ICredentialsSaml, ICredentialsTotp, ICustomWelcomeEmail, IDashboard, IDashboardAggregateTableLookml, IDashboardBase, IDashboardElement, IDashboardFilter, IDashboardLayout, IDashboardLayoutComponent, IDashboardLookml, IDataActionForm, IDataActionRequest, IDataActionResponse, IDatagroup, IDBConnection, IDBConnectionTestResult, IDependencyGraph, IDialectInfo, IDigestEmails, IDigestEmailSend, IEgressIpAddresses, IEmbedCookielessSessionAcquire, IEmbedCookielessSessionAcquireResponse, IEmbedCookielessSessionGenerateTokens, IEmbedCookielessSessionGenerateTokensResponse, IEmbedParams, IEmbedSecret, IEmbedSsoParams, IEmbedUrlResponse, IError, IExternalOauthApplication, IFolder, IFolderBase, IGitBranch, IGitConnectionTest, IGitConnectionTestResult, IGroup, IGroupHierarchy, IGroupIdForGroupInclusion, IGroupIdForGroupUserInclusion, IGroupSearch, IHomepageSection, IIntegration, IIntegrationHub, IIntegrationTestResult, IInternalHelpResources, IInternalHelpResourcesContent, IJsonBi, ILDAPConfig, ILDAPConfigTestResult, ILegacyFeature, ILocale, ILook, ILookmlModel, ILookmlModelExplore, ILookmlTest, ILookmlTestResult, ILookWithQuery, IManifest, IMaterializePDT, IMergeQuery, IMobileSettings, IMobileToken, IModel, IModelFieldSuggestions, IModelSet, IOauthClientApp, IOIDCConfig, IPasswordConfig, IPermission, IPermissionSet, IProject, IProjectFile, IProjectValidation, IProjectValidationCache, IProjectWorkspace, IQuery, IQueryTask, IRenderTask, IReport, IRepositoryCredential, IRequestActiveThemes, IRequestAlertNotifications, IRequestAllBoardItems, IRequestAllBoardSections, IRequestAllExternalOauthApplications, IRequestAllGroups, IRequestAllGroupUsers, IRequestAllIntegrations, IRequestAllLookmlModels, IRequestAllRoles, IRequestAllScheduledPlans, IRequestAllUserAttributes, IRequestAllUsers, IRequestArtifact, IRequestArtifactNamespaces, IRequestConnectionColumns, IRequestConnectionSchemas, IRequestConnectionSearchColumns, IRequestConnectionTables, IRequestContentSummary, IRequestContentThumbnail, IRequestContentValidation, IRequestCreateDashboardElement, IRequestCreateDashboardRenderTask, IRequestCreateQueryTask, IRequestCreateUserCredentialsEmailPasswordReset, IRequestDeployRefToProduction, IRequestFolderChildren, IRequestFolderChildrenSearch, IRequestGraphDerivedTablesForModel, IRequestGraphDerivedTablesForView, IRequestLogin, IRequestLookmlModelExplore, IRequestModelFieldnameSuggestions, IRequestRoleUsers, IRequestRunGitConnectionTest, IRequestRunInlineQuery, IRequestRunLook, IRequestRunLookmlTest, IRequestRunQuery, IRequestScheduledPlansForDashboard, IRequestScheduledPlansForLook, IRequestScheduledPlansForLookmlDashboard, IRequestSearchAlerts, IRequestSearchArtifacts, IRequestSearchBoards, IRequestSearchContent, IRequestSearchContentFavorites, IRequestSearchContentViews, IRequestSearchCredentialsEmail, IRequestSearchDashboardElements, IRequestSearchDashboards, IRequestSearchFolders, IRequestSearchGroups, IRequestSearchGroupsWithHierarchy, IRequestSearchGroupsWithRoles, IRequestSearchLooks, IRequestSearchModelSets, IRequestSearchPermissionSets, IRequestSearchReports, IRequestSearchRoles, IRequestSearchRolesWithUserCount, IRequestSearchScheduledPlans, IRequestSearchThemes, IRequestSearchUserLoginLockouts, IRequestSearchUsers, IRequestSearchUsersNames, IRequestStartPdtBuild, IRequestTagRef, IRequestUserAttributeUserValues, IRequestUserRoles, IRole, IRoleSearch, IRunningQueries, ISamlConfig, ISamlMetadataParseResult, IScheduledPlan, ISchema, ISchemaColumns, ISchemaTables, ISession, ISessionConfig, ISetting, ISmtpSettings, ISmtpStatus, ISqlInterfaceQuery, ISqlInterfaceQueryMetadata, ISqlQuery, ISqlQueryCreate, ISshPublicKey, ISshServer, ISshTunnel, ISupportAccessAddEntries, ISupportAccessAllowlistEntry, ISupportAccessEnable, ISupportAccessStatus, ITheme, ITimezone, IUpdateArtifact, IUpdateFolder, IUser, IUserAttribute, IUserAttributeGroupValue, IUserAttributeWithValue, IUserEmailOnly, IUserLoginLockout, IUserPublic, IValidationError, IWelcomeEmailTest, IWhitelabelConfiguration, IWorkspace, IWriteAlert, IWriteApiSession, IWriteBackupConfiguration, IWriteBoard, IWriteBoardItem, IWriteBoardSection, IWriteColorCollection, IWriteContentFavorite, IWriteContentMeta, IWriteCreateDashboardFilter, IWriteCredentialsEmail, IWriteDashboard, IWriteDashboardElement, IWriteDashboardFilter, IWriteDashboardLayout, IWriteDashboardLayoutComponent, IWriteDashboardLookml, IWriteDatagroup, IWriteDBConnection, IWriteEmbedSecret, IWriteExternalOauthApplication, IWriteGitBranch, IWriteGroup, IWriteIntegration, IWriteIntegrationHub, IWriteInternalHelpResources, IWriteInternalHelpResourcesContent, IWriteLDAPConfig, IWriteLegacyFeature, IWriteLookmlModel, IWriteLookWithQuery, IWriteMergeQuery, IWriteMobileToken, IWriteModelSet, IWriteOauthClientApp, IWriteOIDCConfig, IWritePasswordConfig, IWritePermissionSet, IWriteProject, IWriteQuery, IWriteRepositoryCredential, IWriteRole, IWriteSamlConfig, IWriteScheduledPlan, IWriteSessionConfig, IWriteSetting, IWriteSqlInterfaceQueryCreate, IWriteSshServer, IWriteSshTunnel, IWriteTheme, IWriteUser, IWriteUserAttribute, IWriteUserAttributeWithValue, IWriteWhitelabelConfiguration, } from './models'; export interface ILooker40SDK extends IAPIMethods { //#region Alert: Alert /** * Follow an alert. * * POST /alerts/{alert_id}/follow -> void * * @param alert_id ID of an alert * @param options one-time API call overrides * */ follow_alert( alert_id: string, options?: Partial ): Promise>; /** * Unfollow an alert. * * DELETE /alerts/{alert_id}/follow -> void * * @param alert_id ID of an alert * @param options one-time API call overrides * */ unfollow_alert( alert_id: string, options?: Partial ): Promise>; /** * ### Search Alerts * * GET /alerts/search -> IAlert[] * * @param request composed interface "IRequestSearchAlerts" for complex method parameters * @param options one-time API call overrides * */ search_alerts( request: IRequestSearchAlerts, options?: Partial ): Promise>; /** * ### Get an alert by a given alert ID * * GET /alerts/{alert_id} -> IAlert * * @param alert_id ID of an alert * @param options one-time API call overrides * */ get_alert( alert_id: string, options?: Partial ): Promise>; /** * ### Update an alert * # Required fields: `owner_id`, `field`, `destinations`, `comparison_type`, `threshold`, `cron` * # * * PUT /alerts/{alert_id} -> IAlert * * @param alert_id ID of an alert * @param body Partial * @param options one-time API call overrides * */ update_alert( alert_id: string, body: Partial, options?: Partial ): Promise>; /** * ### Update select alert fields * # Available fields: `owner_id`, `is_disabled`, `disabled_reason`, `is_public`, `threshold` * # * * PATCH /alerts/{alert_id} -> IAlert * * @param alert_id ID of an alert * @param body Partial * @param options one-time API call overrides * */ update_alert_field( alert_id: string, body: Partial, options?: Partial ): Promise>; /** * ### Delete an alert by a given alert ID * * DELETE /alerts/{alert_id} -> void * * @param alert_id ID of an alert * @param options one-time API call overrides * */ delete_alert( alert_id: string, options?: Partial ): Promise>; /** * ### Create a new alert and return details of the newly created object * * Required fields: `field`, `destinations`, `comparison_type`, `threshold`, `cron` * * Example Request: * Run alert on dashboard element '103' at 5am every day. Send an email to 'test@test.com' if inventory for Los Angeles (using dashboard filter `Warehouse Name`) is lower than 1,000 * ``` * { * "cron": "0 5 * * *", * "custom_title": "Alert when LA inventory is low", * "dashboard_element_id": 103, * "applied_dashboard_filters": [ * { * "filter_title": "Warehouse Name", * "field_name": "distribution_centers.name", * "filter_value": "Los Angeles CA", * "filter_description": "is Los Angeles CA" * } * ], * "comparison_type": "LESS_THAN", * "destinations": [ * { * "destination_type": "EMAIL", * "email_address": "test@test.com" * } * ], * "field": { * "title": "Number on Hand", * "name": "inventory_items.number_on_hand" * }, * "is_disabled": false, * "is_public": true, * "threshold": 1000 * } * ``` * * POST /alerts -> IAlert * * @param body Partial * @param options one-time API call overrides * */ create_alert( body: Partial, options?: Partial ): Promise>; /** * ### Enqueue an Alert by ID * * POST /alerts/{alert_id}/enqueue -> void * * @param alert_id ID of an alert * @param force Whether to enqueue an alert again if its already running. * @param options one-time API call overrides * */ enqueue_alert( alert_id: string, force?: boolean, options?: Partial ): Promise>; /** * # Alert Notifications. * The endpoint returns all the alert notifications received by the user on email in the past 7 days. It also returns whether the notifications have been read by the user. * * GET /alert_notifications -> IAlertNotifications[] * * @param request composed interface "IRequestAlertNotifications" for complex method parameters * @param options one-time API call overrides * */ alert_notifications( request: IRequestAlertNotifications, options?: Partial ): Promise>; /** * # Reads a Notification * The endpoint marks a given alert notification as read by the user, in case it wasn't already read. The AlertNotification model is updated for this purpose. It returns the notification as a response. * * PATCH /alert_notifications/{alert_notification_id} -> IAlertNotifications * * @param alert_notification_id ID of a notification * @param options one-time API call overrides * */ read_alert_notification( alert_notification_id: string, options?: Partial ): Promise>; //#endregion Alert: Alert //#region ApiAuth: API Authentication /** * ### Present client credentials to obtain an authorization token * * Looker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern. * The client credentials required for this login must be obtained by creating an API key on a user account * in the Looker Admin console. The API key consists of a public `client_id` and a private `client_secret`. * * The access token returned by `login` must be used in the HTTP Authorization header of subsequent * API requests, like this: * ``` * Authorization: token 4QDkCyCtZzYgj4C2p2cj3csJH7zqS5RzKs2kTnG4 * ``` * Replace "4QDkCy..." with the `access_token` value returned by `login`. * The word `token` is a string literal and must be included exactly as shown. * * This function can accept `client_id` and `client_secret` parameters as URL query params or as www-form-urlencoded params in the body of the HTTP request. Since there is a small risk that URL parameters may be visible to intermediate nodes on the network route (proxies, routers, etc), passing credentials in the body of the request is considered more secure than URL params. * * Example of passing credentials in the HTTP request body: * ```` * POST HTTP /login * Content-Type: application/x-www-form-urlencoded * * client_id=CGc9B7v7J48dQSJvxxx&client_secret=nNVS9cSS3xNpSC9JdsBvvvvv * ```` * * ### Best Practice: * Always pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations. * * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). * * POST /login -> IAccessToken * * @param request composed interface "IRequestLogin" for complex method parameters * @param options one-time API call overrides * */ login( request: IRequestLogin, options?: Partial ): Promise>; /** * ### Create an access token that runs as a given user. * * This can only be called by an authenticated admin user. It allows that admin to generate a new * authentication token for the user with the given user id. That token can then be used for subsequent * API calls - which are then performed *as* that target user. * * The target user does *not* need to have a pre-existing API client_id/client_secret pair. And, no such * credentials are created by this call. * * This allows for building systems where api user authentication for an arbitrary number of users is done * outside of Looker and funneled through a single 'service account' with admin permissions. Note that a * new access token is generated on each call. If target users are going to be making numerous API * calls in a short period then it is wise to cache this authentication token rather than call this before * each of those API calls. * * See 'login' for more detail on the access token and how to use it. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * POST /login/{user_id} -> IAccessToken * * @param user_id Id of user. * @param associative When true (default), API calls using the returned access_token are attributed to the admin user who created the access_token. When false, API activity is attributed to the user the access_token runs as. False requires a looker license. * @param options one-time API call overrides * */ login_user( user_id: string, associative?: boolean, options?: Partial ): Promise>; /** * ### Logout of the API and invalidate the current access token. * * DELETE /logout -> string * * @param options one-time API call overrides * */ logout( options?: Partial ): Promise>; //#endregion ApiAuth: API Authentication //#region Artifact: Artifact Storage /** * Get the maximum configured size of the entire artifact store, and the currently used storage in bytes. * * **Note**: The artifact storage API can only be used by Looker-built extensions. * * GET /artifact/usage -> IArtifactUsage * * @param fields Comma-delimited names of fields to return in responses. Omit for all fields * @param options one-time API call overrides * */ artifact_usage( fields?: string, options?: Partial ): Promise>; /** * Get all artifact namespaces and the count of artifacts in each namespace * * **Note**: The artifact storage API can only be used by Looker-built extensions. * * GET /artifact/namespaces -> IArtifactNamespace[] * * @param request composed interface "IRequestArtifactNamespaces" for complex method parameters * @param options one-time API call overrides * */ artifact_namespaces( request: IRequestArtifactNamespaces, options?: Partial ): Promise>; /** * ### Return the value of an artifact * * The MIME type for the API response is set to the `content_type` of the value * * **Note**: The artifact storage API can only be used by Looker-built extensions. * * GET /artifact/{namespace}/value -> string * * @param namespace Artifact storage namespace * @param key Artifact storage key. Namespace + Key must be unique * @param options one-time API call overrides * */ artifact_value( namespace: string, key?: string, options?: Partial ): Promise>; /** * Remove *all* artifacts from a namespace. Purged artifacts are permanently deleted * * **Note**: The artifact storage API can only be used by Looker-built extensions. * * DELETE /artifact/{namespace}/purge -> void * * @param namespace Artifact storage namespace * @param options one-time API call overrides * */ purge_artifacts( namespace: string, options?: Partial ): Promise>; /** * ### Search all key/value pairs in a namespace for matching criteria. * * Returns an array of artifacts matching the specified search criteria. * * Key search patterns use case-insensitive matching and can contain `%` and `_` as SQL LIKE pattern match wildcard expressions. * * The parameters `min_size` and `max_size` can be used individually or together. * * - `min_size` finds artifacts with sizes greater than or equal to its value * - `max_size` finds artifacts with sizes less than or equal to its value * - using both parameters restricts the minimum and maximum size range for artifacts * * **NOTE**: Artifacts are always returned in alphanumeric order by key. * * Get a **single artifact** by namespace and key with [`artifact`](#!/Artifact/artifact) * * **Note**: The artifact storage API can only be used by Looker-built extensions. * * GET /artifact/{namespace}/search -> IArtifact[] * * @param request composed interface "IRequestSearchArtifacts" for complex method parameters * @param options one-time API call overrides * */ search_artifacts( request: IRequestSearchArtifacts, options?: Partial ): Promise>; /** * ### Get one or more artifacts * * Returns an array of artifacts matching the specified key value(s). * * **Note**: The artifact storage API can only be used by Looker-built extensions. * * GET /artifact/{namespace} -> IArtifact[] * * @param request composed interface "IRequestArtifact" for complex method parameters * @param options one-time API call overrides * */ artifact( request: IRequestArtifact, options?: Partial ): Promise>; /** * ### Delete one or more artifacts * * To avoid rate limiting on deletion requests, multiple artifacts can be deleted at the same time by using a comma-delimited list of artifact keys. * * **Note**: The artifact storage API can only be used by Looker-built extensions. * * DELETE /artifact/{namespace} -> void * * @param namespace Artifact storage namespace * @param key Comma-delimited list of keys. Wildcards not allowed. * @param options one-time API call overrides * */ delete_artifact( namespace: string, key: string, options?: Partial ): Promise>; /** * ### Create or update one or more artifacts * * Only `key` and `value` are required to _create_ an artifact. * To _update_ an artifact, its current `version` value must be provided. * * In the following example `body` payload, `one` and `two` are existing artifacts, and `three` is new: * * ```json * [ * { "key": "one", "value": "[ \"updating\", \"existing\", \"one\" ]", "version": 10, "content_type": "application/json" }, * { "key": "two", "value": "updating existing two", "version": 20 }, * { "key": "three", "value": "creating new three" }, * ] * ``` * * Notes for this body: * * - The `value` for `key` **one** is a JSON payload, so a `content_type` override is needed. This override must be done **every** time a JSON value is set. * - The `version` values for **one** and **two** mean they have been saved 10 and 20 times, respectively. * - If `version` is **not** provided for an existing artifact, the entire request will be refused and a `Bad Request` response will be sent. * - If `version` is provided for an artifact, it is only used for helping to prevent inadvertent data overwrites. It cannot be used to **set** the version of an artifact. The Looker server controls `version`. * - We suggest encoding binary values as base64. Because the MIME content type for base64 is detected as plain text, also provide `content_type` to correctly indicate the value's type for retrieval and client-side processing. * * Because artifacts are stored encrypted, the same value can be written multiple times (provided the correct `version` number is used). Looker does not examine any values stored in the artifact store, and only decrypts when sending artifacts back in an API response. * * **Note**: The artifact storage API can only be used by Looker-built extensions. * * PUT /artifacts/{namespace} -> IArtifact[] * * @param namespace Artifact storage namespace * @param body Partial * @param fields Comma-delimited names of fields to return in responses. Omit for all fields * @param options one-time API call overrides * */ update_artifacts( namespace: string, body: Partial, fields?: string, options?: Partial ): Promise>; //#endregion Artifact: Artifact Storage //#region Auth: Manage User Authentication Configuration /** * ### Create an embed secret using the specified information. * * The value of the `secret` field will be set by Looker and returned. * * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed_config/secrets -> IEmbedSecret * * @param body Partial * @param options one-time API call overrides * */ create_embed_secret( body?: Partial, options?: Partial ): Promise>; /** * ### Delete an embed secret. * * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * DELETE /embed_config/secrets/{embed_secret_id} -> string * * @param embed_secret_id Id of Embed Secret * @param options one-time API call overrides * */ delete_embed_secret( embed_secret_id: string, options?: Partial ): Promise>; /** * ### Create Signed Embed URL * * Creates a signed embed URL and cryptographically signs it with an embed secret. * This signed URL can then be used to instantiate a Looker embed session in a PBL web application. * Do not make any modifications to the returned URL - any change may invalidate the signature and * cause the URL to fail to load a Looker embed session. * * A signed embed URL can only be **used once**. After the URL has been used to request a page from the * Looker server, it is invalid. Future requests using the same URL will fail. This is to prevent * 'replay attacks'. * * The `target_url` property must be a complete URL of a Looker UI page - scheme, hostname, path and query params. * To load a dashboard with id 56 and with a filter of `Date=1 years`, the looker URL would look like `https:/myname.looker.com/dashboards/56?Date=1%20years`. * The best way to obtain this `target_url` is to navigate to the desired Looker page in your web browser and use the "Get embed URL" menu option * to copy it to your clipboard and paste it into the `target_url` property as a quoted string value in this API request. * * Permissions for the embed user are defined by the groups in which the embed user is a member (`group_ids` property) * and the lists of models and permissions assigned to the embed user. * At a minimum, you must provide values for either the `group_ids` property, or **both** the models and permissions properties. * These properties are additive; an embed user can be a member of certain groups AND be granted access to models and permissions. * * The embed user's access is the union of permissions granted by the `group_ids`, `models`, and `permissions` properties. * * This function does not strictly require all group_ids, user attribute names, or model names to exist at the moment the * embed url is created. Unknown group_id, user attribute names or model names will be passed through to the output URL. * Because of this, **these parameters are not validated** when the API call is made. * * The [Get Embed Url](https://cloud.google.com/looker/docs/r/get-signed-url) dialog can be used to determine and validate the correct permissions for signing an embed url. * This dialog also provides the SDK syntax for the API call to make. Alternatively, you can copy the signed URL into the Embed URI Validator text box * in `/admin/embed` to diagnose potential problems. * * The `secret_id` parameter is optional. If specified, its value must be the id of an active secret defined in the Looker instance. * if not specified, the URL will be signed using the most recent active signing secret. If there is no active secret for signing embed urls, * a default secret will be created. This default secret is encrypted using HMAC/SHA-256. * * The `embed_domain` parameter is optional. If specified and valid, the domain will be added to the embed domain allowlist if it is missing. * * #### Security Note * Protect this signed URL as you would an access token or password credentials - do not write * it to disk, do not pass it to a third party, and only pass it through a secure HTTPS * encrypted transport. * * * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed/sso_url -> IEmbedUrlResponse * * @param body Partial * @param options one-time API call overrides * */ create_sso_embed_url( body: Partial, options?: Partial ): Promise>; /** * ### Create an Embed URL * * Creates an embed URL that runs as the Looker user making this API call. ("Embed as me") * This embed URL can then be used to instantiate a Looker embed session in a * "Powered by Looker" (PBL) web application. * * This is similar to Private Embedding (https://cloud.google.com/looker/docs/r/admin/embed/private-embed). Instead of * logging into the Web UI to authenticate, the user has already authenticated against the API to be able to * make this call. However, unlike Private Embed where the user has access to any other part of the Looker UI, * the embed web session created by requesting the EmbedUrlResponse.url in a browser only has access to * content visible under the `/embed` context. * * An embed URL can only be used once, and must be used within 5 minutes of being created. After it * has been used to request a page from the Looker server, the URL is invalid. Future requests using * the same URL will fail. This is to prevent 'replay attacks'. * * The `target_url` property must be a complete URL of a Looker Embedded UI page - scheme, hostname, path starting with "/embed" and query params. * To load a dashboard with id 56 and with a filter of `Date=1 years`, the looker Embed URL would look like `https://myname.looker.com/embed/dashboards/56?Date=1%20years`. * The best way to obtain this target_url is to navigate to the desired Looker page in your web browser, * copy the URL shown in the browser address bar, insert "/embed" after the host/port, and paste it into the `target_url` property as a quoted string value in this API request. * * #### Security Note * Protect this signed URL as you would an access token or password credentials - do not write * it to disk, do not pass it to a third party, and only pass it through a secure HTTPS * encrypted transport. * * * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed/token_url/me -> IEmbedUrlResponse * * @param body Partial * @param options one-time API call overrides * */ create_embed_url_as_me( body: Partial, options?: Partial ): Promise>; /** * ### Validate a Signed Embed URL * * GET /embed/sso/validate -> IEmbedUrlResponse * * @param url URL to validate * @param options one-time API call overrides * */ validate_embed_url( url?: string, options?: Partial ): Promise>; /** * ### Acquire a cookieless embed session. * * The acquire session endpoint negates the need for signing the embed url and passing it as a parameter * to the embed login. This endpoint accepts an embed user definition and creates or updates it. This is * similar behavior to the embed SSO login as they both can create and update embed user data. * * The endpoint also accepts an optional `session_reference_token`. If present and the session has not expired * and the credentials match the credentials for the embed session, a new authentication token will be * generated. This allows the embed session to attach a new embedded IFRAME to the embed session. Note that * the session is NOT extended in this scenario. In other words the session_length parameter is ignored. * * **IMPORTANT:** If the `session_reference_token` is provided and the session has NOT expired, the embed user * is NOT updated. This is done for performance reasons and to support the embed SSO usecase where the * first IFRAME created on a page uses a signed url and subsequently created IFRAMEs do not. * * If the `session_reference_token` is provided but the session has expired, the token will be ignored and a * new embed session will be created. Note that the embed user definition will be updated in this scenario. * * If the credentials do not match the credentials associated with an existing session_reference_token, a * 404 will be returned. * * The endpoint returns the following: * - Authentication token - a token that is passed to `/embed/login` endpoint that creates or attaches to the * embed session. This token can be used once and has a lifetime of 30 seconds. * - Session reference token - a token that lives for the length of the session. This token is used to * generate new api and navigation tokens OR create new embed IFRAMEs. * - Api token - lives for 10 minutes. The Looker client will ask for this token once it is loaded into the * iframe. * - Navigation token - lives for 10 minutes. The Looker client will ask for this token once it is loaded into * the iframe. * * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed/cookieless_session/acquire -> IEmbedCookielessSessionAcquireResponse * * @param body Partial * @param options one-time API call overrides * */ acquire_embed_cookieless_session( body: Partial, options?: Partial ): Promise< SDKResponse< IEmbedCookielessSessionAcquireResponse, IError | IValidationError > >; /** * ### Delete cookieless embed session * * This will delete the session associated with the given session reference token. Calling this endpoint will result * in the session and session reference data being cleared from the system. This endpoint can be used to log an embed * user out of the Looker instance. * * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * DELETE /embed/cookieless_session/{session_reference_token} -> string * * @param session_reference_token Embed session reference token * @param options one-time API call overrides * */ delete_embed_cookieless_session( session_reference_token: string, options?: Partial ): Promise>; /** * ### Generate api and navigation tokens for a cookieless embed session * * The generate tokens endpoint is used to create new tokens of type: * - Api token. * - Navigation token. * The generate tokens endpoint should be called every time the Looker client asks for a token (except for the * first time when the tokens returned by the acquire_session endpoint should be used). * * #### Embed session expiration handling * * This endpoint does NOT return an error when the embed session expires. This is to simplify processing * in the caller as errors can happen for non session expiration reasons. Instead the endpoint returns * the session time to live in the `session_reference_token_ttl` response property. If this property * contains a zero, the embed session has expired. * * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * PUT /embed/cookieless_session/generate_tokens -> IEmbedCookielessSessionGenerateTokensResponse * * @param body Partial * @param options one-time API call overrides * */ generate_tokens_for_cookieless_session( body: Partial, options?: Partial ): Promise< SDKResponse< IEmbedCookielessSessionGenerateTokensResponse, IError | IValidationError > >; /** * ### Get the LDAP configuration. * * Looker can be optionally configured to authenticate users against an Active Directory or other LDAP directory server. * LDAP setup requires coordination with an administrator of that directory server. * * Only Looker administrators can read and update the LDAP configuration. * * Configuring LDAP impacts authentication for all users. This configuration should be done carefully. * * Looker maintains a single LDAP configuration. It can be read and updated. Updates only succeed if the new state will be valid (in the sense that all required fields are populated); it is up to you to ensure that the configuration is appropriate and correct). * * LDAP is enabled or disabled for Looker using the **enabled** field. * * Looker will never return an **auth_password** field. That value can be set, but never retrieved. * * See the [Looker LDAP docs](https://cloud.google.com/looker/docs/r/api/ldap_setup) for additional information. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * GET /ldap_config -> ILDAPConfig * * @param options one-time API call overrides * */ ldap_config( options?: Partial ): Promise>; /** * ### Update the LDAP configuration. * * Configuring LDAP impacts authentication for all users. This configuration should be done carefully. * * Only Looker administrators can read and update the LDAP configuration. * * LDAP is enabled or disabled for Looker using the **enabled** field. * * It is **highly** recommended that any LDAP setting changes be tested using the APIs below before being set globally. * * See the [Looker LDAP docs](https://cloud.google.com/looker/docs/r/api/ldap_setup) for additional information. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * PATCH /ldap_config -> ILDAPConfig * * @param body Partial * @param options one-time API call overrides * */ update_ldap_config( body: Partial, options?: Partial ): Promise>; /** * ### Test the connection settings for an LDAP configuration. * * This tests that the connection is possible given a connection_host and connection_port. * * **connection_host** and **connection_port** are required. **connection_tls** is optional. * * Example: * ```json * { * "connection_host": "ldap.example.com", * "connection_port": "636", * "connection_tls": true * } * ``` * * No authentication to the LDAP server is attempted. * * The active LDAP settings are not modified. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * PUT /ldap_config/test_connection -> ILDAPConfigTestResult * * @param body Partial * @param options one-time API call overrides * */ test_ldap_config_connection( body: Partial, options?: Partial ): Promise>; /** * ### Test the connection authentication settings for an LDAP configuration. * * This tests that the connection is possible and that a 'server' account to be used by Looker can authenticate to the LDAP server given connection and authentication information. * * **connection_host**, **connection_port**, and **auth_username**, are required. **connection_tls** and **auth_password** are optional. * * Example: * ```json * { * "connection_host": "ldap.example.com", * "connection_port": "636", * "connection_tls": true, * "auth_username": "cn=looker,dc=example,dc=com", * "auth_password": "secret" * } * ``` * * Looker will never return an **auth_password**. If this request omits the **auth_password** field, then the **auth_password** value from the active config (if present) will be used for the test. * * The active LDAP settings are not modified. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * PUT /ldap_config/test_auth -> ILDAPConfigTestResult * * @param body Partial * @param options one-time API call overrides * */ test_ldap_config_auth( body: Partial, options?: Partial ): Promise>; /** * ### Test the user authentication settings for an LDAP configuration without authenticating the user. * * This test will let you easily test the mapping for user properties and roles for any user withoutneeding to authenticate as that user. * * This test accepts a full LDAP configuration along with a username and attempts to find the full infofor the user from the LDAP server without actually authenticating the user. So, user password is notrequired.The configuration is validated before attempting to contact the server. * * **test_ldap_user** is required. * * The active LDAP settings are not modified. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * PUT /ldap_config/test_user_info -> ILDAPConfigTestResult * * @param body Partial * @param options one-time API call overrides * */ test_ldap_config_user_info( body: Partial, options?: Partial ): Promise>; /** * ### Test the user authentication settings for an LDAP configuration. * * This test accepts a full LDAP configuration along with a username/password pair and attempts to authenticate the user with the LDAP server. The configuration is validated before attempting the authentication. * * Looker will never return an **auth_password**. If this request omits the **auth_password** field, then the **auth_password** value from the active config (if present) will be used for the test. * * **test_ldap_user** and **test_ldap_password** are required. * * The active LDAP settings are not modified. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * PUT /ldap_config/test_user_auth -> ILDAPConfigTestResult * * @param body Partial * @param options one-time API call overrides * */ test_ldap_config_user_auth( body: Partial, options?: Partial ): Promise>; /** * ### Registers a mobile device. * # Required fields: [:device_token, :device_type] * * POST /mobile/device -> IMobileToken * * @param body Partial * @param options one-time API call overrides * */ register_mobile_device( body: Partial, options?: Partial ): Promise>; /** * ### Updates the mobile device registration * * PATCH /mobile/device/{device_id} -> IMobileToken * * @param device_id Unique id of the device. * @param options one-time API call overrides * */ update_mobile_device_registration( device_id: string, options?: Partial ): Promise>; /** * ### Deregister a mobile device. * * DELETE /mobile/device/{device_id} -> void * * @param device_id Unique id of the device. * @param options one-time API call overrides * */ deregister_mobile_device( device_id: string, options?: Partial ): Promise>; /** * ### List All OAuth Client Apps * * Lists all applications registered to use OAuth2 login with this Looker instance, including * enabled and disabled apps. * * Results are filtered to include only the apps that the caller (current user) * has permission to see. * * GET /oauth_client_apps -> IOauthClientApp[] * * @param fields Requested fields. * @param options one-time API call overrides * */ all_oauth_client_apps( fields?: string, options?: Partial ): Promise>; /** * ### Get Oauth Client App * * Returns the registered app client with matching client_guid. * * GET /oauth_client_apps/{client_guid} -> IOauthClientApp * * @param client_guid The unique id of this application * @param fields Requested fields. * @param options one-time API call overrides * */ oauth_client_app( client_guid: string, fields?: string, options?: Partial ): Promise>; /** * ### Register an OAuth2 Client App * * Registers details identifying an external web app or native app as an OAuth2 login client of the Looker instance. * The app registration must provide a unique client_guid and redirect_uri that the app will present * in OAuth login requests. If the client_guid and redirect_uri parameters in the login request do not match * the app details registered with the Looker instance, the request is assumed to be a forgery and is rejected. * * POST /oauth_client_apps/{client_guid} -> IOauthClientApp * * @param client_guid The unique id of this application * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ register_oauth_client_app( client_guid: string, body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Update OAuth2 Client App Details * * Modifies the details a previously registered OAuth2 login client app. * * PATCH /oauth_client_apps/{client_guid} -> IOauthClientApp * * @param client_guid The unique id of this application * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ update_oauth_client_app( client_guid: string, body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Delete OAuth Client App * * Deletes the registration info of the app with the matching client_guid. * All active sessions and tokens issued for this app will immediately become invalid. * * As with most REST DELETE operations, this endpoint does not return an error if the * indicated resource does not exist. * * ### Note: this deletion cannot be undone. * * DELETE /oauth_client_apps/{client_guid} -> string * * @param client_guid The unique id of this application * @param options one-time API call overrides * */ delete_oauth_client_app( client_guid: string, options?: Partial ): Promise>; /** * ### Invalidate All Issued Tokens * * Immediately invalidates all auth codes, sessions, access tokens and refresh tokens issued for * this app for ALL USERS of this app. * * DELETE /oauth_client_apps/{client_guid}/tokens -> string * * @param client_guid The unique id of the application * @param options one-time API call overrides * */ invalidate_tokens( client_guid: string, options?: Partial ): Promise>; /** * ### Activate an app for a user * * Activates a user for a given oauth client app. This indicates the user has been informed that * the app will have access to the user's looker data, and that the user has accepted and allowed * the app to use their Looker account. * * Activating a user for an app that the user is already activated with returns a success response. * * POST /oauth_client_apps/{client_guid}/users/{user_id} -> string * * @param client_guid The unique id of this application * @param user_id The id of the user to enable use of this app * @param fields Requested fields. * @param options one-time API call overrides * */ activate_app_user( client_guid: string, user_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Deactivate an app for a user * * Deactivate a user for a given oauth client app. All tokens issued to the app for * this user will be invalid immediately. Before the user can use the app with their * Looker account, the user will have to read and accept an account use disclosure statement for the app. * * Admin users can deactivate other users, but non-admin users can only deactivate themselves. * * As with most REST DELETE operations, this endpoint does not return an error if the indicated * resource (app or user) does not exist or has already been deactivated. * * DELETE /oauth_client_apps/{client_guid}/users/{user_id} -> string * * @param client_guid The unique id of this application * @param user_id The id of the user to enable use of this app * @param fields Requested fields. * @param options one-time API call overrides * */ deactivate_app_user( client_guid: string, user_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Get the OIDC configuration. * * Looker can be optionally configured to authenticate users against an OpenID Connect (OIDC) * authentication server. OIDC setup requires coordination with an administrator of that server. * * Only Looker administrators can read and update the OIDC configuration. * * Configuring OIDC impacts authentication for all users. This configuration should be done carefully. * * Looker maintains a single OIDC configuration. It can be read and updated. Updates only succeed if the new state will be valid (in the sense that all required fields are populated); it is up to you to ensure that the configuration is appropriate and correct). * * OIDC is enabled or disabled for Looker using the **enabled** field. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * GET /oidc_config -> IOIDCConfig * * @param options one-time API call overrides * */ oidc_config( options?: Partial ): Promise>; /** * ### Update the OIDC configuration. * * Configuring OIDC impacts authentication for all users. This configuration should be done carefully. * * Only Looker administrators can read and update the OIDC configuration. * * OIDC is enabled or disabled for Looker using the **enabled** field. * * It is **highly** recommended that any OIDC setting changes be tested using the APIs below before being set globally. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * PATCH /oidc_config -> IOIDCConfig * * @param body Partial * @param options one-time API call overrides * */ update_oidc_config( body: Partial, options?: Partial ): Promise>; /** * ### Get a OIDC test configuration by test_slug. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * GET /oidc_test_configs/{test_slug} -> IOIDCConfig * * @param test_slug Slug of test config * @param options one-time API call overrides * */ oidc_test_config( test_slug: string, options?: Partial ): Promise>; /** * ### Delete a OIDC test configuration. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * DELETE /oidc_test_configs/{test_slug} -> string * * @param test_slug Slug of test config * @param options one-time API call overrides * */ delete_oidc_test_config( test_slug: string, options?: Partial ): Promise>; /** * ### Create a OIDC test configuration. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * POST /oidc_test_configs -> IOIDCConfig * * @param body Partial * @param options one-time API call overrides * */ create_oidc_test_config( body: Partial, options?: Partial ): Promise>; /** * ### Get password config. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * GET /password_config -> IPasswordConfig * * @param options one-time API call overrides * */ password_config( options?: Partial ): Promise>; /** * ### Update password config. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * PATCH /password_config -> IPasswordConfig * * @param body Partial * @param options one-time API call overrides * */ update_password_config( body: Partial, options?: Partial ): Promise>; /** * ### Force all credentials_email users to reset their login passwords upon their next login. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * PUT /password_config/force_password_reset_at_next_login_for_all_users -> string * * @param options one-time API call overrides * */ force_password_reset_at_next_login_for_all_users( options?: Partial ): Promise>; /** * ### Get the SAML configuration. * * Looker can be optionally configured to authenticate users against a SAML authentication server. * SAML setup requires coordination with an administrator of that server. * * Only Looker administrators can read and update the SAML configuration. * * Configuring SAML impacts authentication for all users. This configuration should be done carefully. * * Looker maintains a single SAML configuration. It can be read and updated. Updates only succeed if the new state will be valid (in the sense that all required fields are populated); it is up to you to ensure that the configuration is appropriate and correct). * * SAML is enabled or disabled for Looker using the **enabled** field. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * GET /saml_config -> ISamlConfig * * @param options one-time API call overrides * */ saml_config( options?: Partial ): Promise>; /** * ### Update the SAML configuration. * * Configuring SAML impacts authentication for all users. This configuration should be done carefully. * * Only Looker administrators can read and update the SAML configuration. * * SAML is enabled or disabled for Looker using the **enabled** field. * * It is **highly** recommended that any SAML setting changes be tested using the APIs below before being set globally. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * PATCH /saml_config -> ISamlConfig * * @param body Partial * @param options one-time API call overrides * */ update_saml_config( body: Partial, options?: Partial ): Promise>; /** * ### Get a SAML test configuration by test_slug. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * GET /saml_test_configs/{test_slug} -> ISamlConfig * * @param test_slug Slug of test config * @param options one-time API call overrides * */ saml_test_config( test_slug: string, options?: Partial ): Promise>; /** * ### Delete a SAML test configuration. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * DELETE /saml_test_configs/{test_slug} -> string * * @param test_slug Slug of test config * @param options one-time API call overrides * */ delete_saml_test_config( test_slug: string, options?: Partial ): Promise>; /** * ### Create a SAML test configuration. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * POST /saml_test_configs -> ISamlConfig * * @param body Partial * @param options one-time API call overrides * */ create_saml_test_config( body: Partial, options?: Partial ): Promise>; /** * ### Parse the given xml as a SAML IdP metadata document and return the result. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * POST /parse_saml_idp_metadata -> ISamlMetadataParseResult * * @param body string * @param options one-time API call overrides * */ parse_saml_idp_metadata( body: string, options?: Partial ): Promise>; /** * ### Fetch the given url and parse it as a SAML IdP metadata document and return the result. * Note that this requires that the url be public or at least at a location where the Looker instance * can fetch it without requiring any special authentication. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * POST /fetch_and_parse_saml_idp_metadata -> ISamlMetadataParseResult * * @param body string * @param options one-time API call overrides * */ fetch_and_parse_saml_idp_metadata( body: string, options?: Partial ): Promise>; /** * ### Get session config. * * GET /session_config -> ISessionConfig * * @param options one-time API call overrides * */ session_config( options?: Partial ): Promise>; /** * ### Update session config. * * PATCH /session_config -> ISessionConfig * * @param body Partial * @param options one-time API call overrides * */ update_session_config( body: Partial, options?: Partial ): Promise>; /** * ### Get Support Access Allowlist Users * * Returns the users that have been added to the Support Access Allowlist * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * GET /support_access/allowlist -> ISupportAccessAllowlistEntry[] * * @param fields Requested fields. * @param options one-time API call overrides * */ get_support_access_allowlist_entries( fields?: string, options?: Partial ): Promise>; /** * ### Add Support Access Allowlist Users * * Adds a list of emails to the Allowlist, using the provided reason * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * POST /support_access/allowlist -> ISupportAccessAllowlistEntry[] * * @param body Partial * @param options one-time API call overrides * */ add_support_access_allowlist_entries( body: Partial, options?: Partial ): Promise< SDKResponse >; /** * ### Delete Support Access Allowlist User * * Deletes the specified Allowlist Entry Id * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * DELETE /support_access/allowlist/{entry_id} -> string * * @param entry_id Id of Allowlist Entry * @param options one-time API call overrides * */ delete_support_access_allowlist_entry( entry_id: string, options?: Partial ): Promise>; /** * ### Enable Support Access * * Enables Support Access for the provided duration * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * PUT /support_access/enable -> ISupportAccessStatus * * @param body Partial * @param options one-time API call overrides * */ enable_support_access( body: Partial, options?: Partial ): Promise>; /** * ### Disable Support Access * * Disables Support Access immediately * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * PUT /support_access/disable -> ISupportAccessStatus * * @param options one-time API call overrides * */ disable_support_access( options?: Partial ): Promise>; /** * ### Support Access Status * * Returns the current Support Access Status * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * GET /support_access/status -> ISupportAccessStatus * * @param options one-time API call overrides * */ support_access_status( options?: Partial ): Promise>; /** * ### Get currently locked-out users. * * GET /user_login_lockouts -> IUserLoginLockout[] * * @param fields Include only these fields in the response * @param options one-time API call overrides * */ all_user_login_lockouts( fields?: string, options?: Partial ): Promise>; /** * ### Search currently locked-out users. * * GET /user_login_lockouts/search -> IUserLoginLockout[] * * @param request composed interface "IRequestSearchUserLoginLockouts" for complex method parameters * @param options one-time API call overrides * */ search_user_login_lockouts( request: IRequestSearchUserLoginLockouts, options?: Partial ): Promise>; /** * ### Removes login lockout for the associated user. * * DELETE /user_login_lockout/{key} -> string * * @param key The key associated with the locked user * @param options one-time API call overrides * */ delete_user_login_lockout( key: string, options?: Partial ): Promise>; //#endregion Auth: Manage User Authentication Configuration //#region Board: Manage Boards /** * ### Get information about all boards. * * GET /boards -> IBoard[] * * @param fields Requested fields. * @param options one-time API call overrides * */ all_boards( fields?: string, options?: Partial ): Promise>; /** * ### Create a new board. * * POST /boards -> IBoard * * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ create_board( body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Search Boards * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. * Only rows that match *all* search param criteria will be returned. * * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation. * Results will include rows that match **any** of the search criteria. * * String search params use case-insensitive matching. * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions. * example="dan%" will match "danger" and "Danzig" but not "David" * example="D_m%" will match "Damage" and "dump" * * Integer search params can accept a single value or a comma separated list of values. The multiple * values will be combined under a logical OR operation - results will match at least one of * the given values. * * Most search params can accept "IS NULL" and "NOT NULL" as special expressions to match * or exclude (respectively) rows where the column is null. * * Boolean search params accept only "true" and "false" as values. * * GET /boards/search -> IBoard[] * * @param request composed interface "IRequestSearchBoards" for complex method parameters * @param options one-time API call overrides * */ search_boards( request: IRequestSearchBoards, options?: Partial ): Promise>; /** * ### Get information about a board. * * GET /boards/{board_id} -> IBoard * * @param board_id Id of board * @param fields Requested fields. * @param options one-time API call overrides * */ board( board_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Update a board definition. * * PATCH /boards/{board_id} -> IBoard * * @param board_id Id of board * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ update_board( board_id: string, body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Delete a board. * * DELETE /boards/{board_id} -> string * * @param board_id Id of board * @param options one-time API call overrides * */ delete_board( board_id: string, options?: Partial ): Promise>; /** * ### Get information about all board items. * * GET /board_items -> IBoardItem[] * * @param request composed interface "IRequestAllBoardItems" for complex method parameters * @param options one-time API call overrides * */ all_board_items( request: IRequestAllBoardItems, options?: Partial ): Promise>; /** * ### Create a new board item. * * POST /board_items -> IBoardItem * * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ create_board_item( body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Get information about a board item. * * GET /board_items/{board_item_id} -> IBoardItem * * @param board_item_id Id of board item * @param fields Requested fields. * @param options one-time API call overrides * */ board_item( board_item_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Update a board item definition. * * PATCH /board_items/{board_item_id} -> IBoardItem * * @param board_item_id Id of board item * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ update_board_item( board_item_id: string, body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Delete a board item. * * DELETE /board_items/{board_item_id} -> string * * @param board_item_id Id of board item * @param options one-time API call overrides * */ delete_board_item( board_item_id: string, options?: Partial ): Promise>; /** * ### Get information about all board sections. * * GET /board_sections -> IBoardSection[] * * @param request composed interface "IRequestAllBoardSections" for complex method parameters * @param options one-time API call overrides * */ all_board_sections( request: IRequestAllBoardSections, options?: Partial ): Promise>; /** * ### Create a new board section. * * POST /board_sections -> IBoardSection * * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ create_board_section( body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Get information about a board section. * * GET /board_sections/{board_section_id} -> IBoardSection * * @param board_section_id Id of board section * @param fields Requested fields. * @param options one-time API call overrides * */ board_section( board_section_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Update a board section definition. * * PATCH /board_sections/{board_section_id} -> IBoardSection * * @param board_section_id Id of board section * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ update_board_section( board_section_id: string, body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Delete a board section. * * DELETE /board_sections/{board_section_id} -> string * * @param board_section_id Id of board section * @param options one-time API call overrides * */ delete_board_section( board_section_id: string, options?: Partial ): Promise>; //#endregion Board: Manage Boards //#region ColorCollection: Manage Color Collections /** * ### Get an array of all existing Color Collections * Get a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection) * * Get all **standard** color collections with [ColorCollection](#!/ColorCollection/color_collections_standard) * * Get all **custom** color collections with [ColorCollection](#!/ColorCollection/color_collections_custom) * * **Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors. * * GET /color_collections -> IColorCollection[] * * @param fields Requested fields. * @param options one-time API call overrides * */ all_color_collections( fields?: string, options?: Partial ): Promise>; /** * ### Create a custom color collection with the specified information * * Creates a new custom color collection object, returning the details, including the created id. * * **Update** an existing color collection with [Update Color Collection](#!/ColorCollection/update_color_collection) * * **Permanently delete** an existing custom color collection with [Delete Color Collection](#!/ColorCollection/delete_color_collection) * * **Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors. * * POST /color_collections -> IColorCollection * * @param body Partial * @param options one-time API call overrides * */ create_color_collection( body: Partial, options?: Partial ): Promise>; /** * ### Get an array of all existing **Custom** Color Collections * Get a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection) * * Get all **standard** color collections with [ColorCollection](#!/ColorCollection/color_collections_standard) * * **Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors. * * GET /color_collections/custom -> IColorCollection[] * * @param fields Requested fields. * @param options one-time API call overrides * */ color_collections_custom( fields?: string, options?: Partial ): Promise>; /** * ### Get an array of all existing **Standard** Color Collections * Get a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection) * * Get all **custom** color collections with [ColorCollection](#!/ColorCollection/color_collections_custom) * * **Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors. * * GET /color_collections/standard -> IColorCollection[] * * @param fields Requested fields. * @param options one-time API call overrides * */ color_collections_standard( fields?: string, options?: Partial ): Promise>; /** * ### Get the default color collection * * Use this to retrieve the default Color Collection. * * Set the default color collection with [ColorCollection](#!/ColorCollection/set_default_color_collection) * * GET /color_collections/default -> IColorCollection * * @param options one-time API call overrides * */ default_color_collection( options?: Partial ): Promise>; /** * ### Set the global default Color Collection by ID * * Returns the new specified default Color Collection object. * **Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors. * * PUT /color_collections/default -> IColorCollection * * @param collection_id ID of color collection to set as default * @param options one-time API call overrides * */ set_default_color_collection( collection_id: string, options?: Partial ): Promise>; /** * ### Get a Color Collection by ID * * Use this to retrieve a specific Color Collection. * Get a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection) * * Get all **standard** color collections with [ColorCollection](#!/ColorCollection/color_collections_standard) * * Get all **custom** color collections with [ColorCollection](#!/ColorCollection/color_collections_custom) * * **Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors. * * GET /color_collections/{collection_id} -> IColorCollection * * @param collection_id Id of Color Collection * @param fields Requested fields. * @param options one-time API call overrides * */ color_collection( collection_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Update a custom color collection by id. * **Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors. * * PATCH /color_collections/{collection_id} -> IColorCollection * * @param collection_id Id of Custom Color Collection * @param body Partial * @param options one-time API call overrides * */ update_color_collection( collection_id: string, body: Partial, options?: Partial ): Promise>; /** * ### Delete a custom color collection by id * * This operation permanently deletes the identified **Custom** color collection. * * **Standard** color collections cannot be deleted * * Because multiple color collections can have the same label, they must be deleted by ID, not name. * **Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors. * * DELETE /color_collections/{collection_id} -> string * * @param collection_id Id of Color Collection * @param options one-time API call overrides * */ delete_color_collection( collection_id: string, options?: Partial ): Promise>; //#endregion ColorCollection: Manage Color Collections //#region Config: Manage General Configuration /** * Get the current Cloud Storage Configuration. * * GET /cloud_storage -> IBackupConfiguration * * @param options one-time API call overrides * */ cloud_storage_configuration( options?: Partial ): Promise>; /** * Update the current Cloud Storage Configuration. * * PATCH /cloud_storage -> IBackupConfiguration * * @param body Partial * @param options one-time API call overrides * */ update_cloud_storage_configuration( body: Partial, options?: Partial ): Promise>; /** * ### Get the current status and content of custom welcome emails * * GET /custom_welcome_email -> ICustomWelcomeEmail * * @deprecated * * @param options one-time API call overrides * */ custom_welcome_email( options?: Partial ): Promise>; /** * Update custom welcome email setting and values. Optionally send a test email with the new content to the currently logged in user. * * PATCH /custom_welcome_email -> ICustomWelcomeEmail * * @deprecated * * @param body Partial * @param send_test_welcome_email If true a test email with the content from the request will be sent to the current user after saving * @param options one-time API call overrides * */ update_custom_welcome_email( body: Partial, send_test_welcome_email?: boolean, options?: Partial ): Promise>; /** * Requests to this endpoint will send a welcome email with the custom content provided in the body to the currently logged in user. * * PUT /custom_welcome_email_test -> IWelcomeEmailTest * * @param body Partial * @param options one-time API call overrides * */ update_custom_welcome_email_test( body: Partial, options?: Partial ): Promise>; /** * ### Retrieve the value for whether or not digest emails is enabled * * GET /digest_emails_enabled -> IDigestEmails * * @param options one-time API call overrides * */ digest_emails_enabled( options?: Partial ): Promise>; /** * ### Update the setting for enabling/disabling digest emails * * PATCH /digest_emails_enabled -> IDigestEmails * * @param body Partial * @param options one-time API call overrides * */ update_digest_emails_enabled( body: Partial, options?: Partial ): Promise>; /** * ### Trigger the generation of digest email records and send them to Looker's internal system. This does not send * any actual emails, it generates records containing content which may be of interest for users who have become inactive. * Emails will be sent at a later time from Looker's internal system if the Digest Emails feature is enabled in settings. * * POST /digest_email_send -> IDigestEmailSend * * @param options one-time API call overrides * */ create_digest_email_send( options?: Partial ): Promise>; /** * ### Get Egress IP Addresses * * Returns the list of public egress IP Addresses for a hosted customer's instance * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * GET /public_egress_ip_addresses -> IEgressIpAddresses * * @param options one-time API call overrides * */ public_egress_ip_addresses( options?: Partial ): Promise>; /** * ### Set the menu item name and content for internal help resources * * GET /internal_help_resources_content -> IInternalHelpResourcesContent * * @param options one-time API call overrides * */ internal_help_resources_content( options?: Partial ): Promise>; /** * Update internal help resources content * * PATCH /internal_help_resources_content -> IInternalHelpResourcesContent * * @param body Partial * @param options one-time API call overrides * */ update_internal_help_resources_content( body: Partial, options?: Partial ): Promise< SDKResponse >; /** * ### Get and set the options for internal help resources * * GET /internal_help_resources_enabled -> IInternalHelpResources * * @param options one-time API call overrides * */ internal_help_resources( options?: Partial ): Promise>; /** * Update internal help resources settings * * PATCH /internal_help_resources -> IInternalHelpResources * * @param body Partial * @param options one-time API call overrides * */ update_internal_help_resources( body: Partial, options?: Partial ): Promise>; /** * ### Get all legacy features. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * GET /legacy_features -> ILegacyFeature[] * * @param options one-time API call overrides * */ all_legacy_features( options?: Partial ): Promise>; /** * ### Get information about the legacy feature with a specific id. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * GET /legacy_features/{legacy_feature_id} -> ILegacyFeature * * @param legacy_feature_id id of legacy feature * @param options one-time API call overrides * */ legacy_feature( legacy_feature_id: string, options?: Partial ): Promise>; /** * ### Update information about the legacy feature with a specific id. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * PATCH /legacy_features/{legacy_feature_id} -> ILegacyFeature * * @param legacy_feature_id id of legacy feature * @param body Partial * @param options one-time API call overrides * */ update_legacy_feature( legacy_feature_id: string, body: Partial, options?: Partial ): Promise>; /** * ### Get a list of locales that Looker supports. * * GET /locales -> ILocale[] * * @param options one-time API call overrides * */ all_locales( options?: Partial ): Promise>; /** * ### Get all mobile settings. * * GET /mobile/settings -> IMobileSettings * * @param options one-time API call overrides * */ mobile_settings( options?: Partial ): Promise>; /** * ### Get Looker Settings * * Available settings are: * - allow_user_timezones * - custom_welcome_email * - data_connector_default_enabled * - dashboard_auto_refresh_restriction * - dashboard_auto_refresh_minimum_interval * - extension_framework_enabled * - extension_load_url_enabled * - instance_config * - managed_certificate_uri * - marketplace_auto_install_enabled * - marketplace_automation * - marketplace_terms_accepted * - marketplace_enabled * - marketplace_site * - onboarding_enabled * - privatelabel_configuration * - timezone * - host_url * - email_domain_allowlist * - embed_cookieless_v2 * - embed_enabled * - embed_config * * GET /setting -> ISetting * * @param fields Requested fields * @param options one-time API call overrides * */ get_setting( fields?: string, options?: Partial ): Promise>; /** * ### Configure Looker Settings * * Available settings are: * - allow_user_timezones * - custom_welcome_email * - data_connector_default_enabled * - dashboard_auto_refresh_restriction * - dashboard_auto_refresh_minimum_interval * - extension_framework_enabled * - extension_load_url_enabled * - instance_config * - managed_certificate_uri * - marketplace_auto_install_enabled * - marketplace_automation * - marketplace_terms_accepted * - marketplace_enabled * - marketplace_site * - onboarding_enabled * - privatelabel_configuration * - timezone * - host_url * - email_domain_allowlist * - embed_cookieless_v2 * - embed_enabled * - embed_config * * See the `Setting` type for more information on the specific values that can be configured. * * If a setting update is rejected, the API error payload should provide information on the cause of the rejection. * * PATCH /setting -> ISetting * * @param body Partial * @param fields Requested fields * @param options one-time API call overrides * */ set_setting( body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Configure SMTP Settings * This API allows users to configure the SMTP settings on the Looker instance. * Only admin users are authorised to call this API. * * POST /smtp_settings -> void * * @param body Partial * @param options one-time API call overrides * */ set_smtp_settings( body: Partial, options?: Partial ): Promise>; /** * ### Get current SMTP status. * * GET /smtp_status -> ISmtpStatus * * @param fields Include only these fields in the response * @param options one-time API call overrides * */ smtp_status( fields?: string, options?: Partial ): Promise>; /** * ### Get a list of timezones that Looker supports (e.g. useful for scheduling tasks). * * GET /timezones -> ITimezone[] * * @param options one-time API call overrides * */ all_timezones( options?: Partial ): Promise>; /** * ### Get information about all API versions supported by this Looker instance. * * GET /versions -> IApiVersion * * @param fields Requested fields. * @param options one-time API call overrides * */ versions( fields?: string, options?: Partial ): Promise>; /** * ### Get an API specification for this Looker instance. * * The specification is returned as a JSON document in Swagger 2.x format * * GET /api_spec/{api_version}/{specification} -> any * * @param api_version API version * @param specification Specification name. Typically, this is "swagger.json" * @param options one-time API call overrides * */ api_spec( api_version: string, specification: string, options?: Partial ): Promise>; /** * ### This feature is enabled only by special license. * * This endpoint provides the private label configuration, which includes hiding documentation links, custom favicon uploading, etc. * * This endpoint is deprecated. [Get Setting](#!/Config/get_setting) should be used to retrieve private label settings instead * * GET /whitelabel_configuration -> IWhitelabelConfiguration * * @deprecated * * @param fields Requested fields. * @param options one-time API call overrides * */ whitelabel_configuration( fields?: string, options?: Partial ): Promise>; /** * ### Update the private label configuration * * This endpoint is deprecated. [Set Setting](#!/Config/set_setting) should be used to update private label settings instead * * PUT /whitelabel_configuration -> IWhitelabelConfiguration * * @deprecated * * @param body Partial * @param options one-time API call overrides * */ update_whitelabel_configuration( body: Partial, options?: Partial ): Promise>; //#endregion Config: Manage General Configuration //#region Connection: Manage Database Connections /** * ### Get information about all connections. * * GET /connections -> IDBConnection[] * * @param fields Requested fields. * @param options one-time API call overrides * */ all_connections( fields?: string, options?: Partial ): Promise>; /** * ### Create a connection using the specified configuration. * * POST /connections -> IDBConnection * * @param body Partial * @param options one-time API call overrides * */ create_connection( body: Partial, options?: Partial ): Promise>; /** * ### Get information about a connection. * * GET /connections/{connection_name} -> IDBConnection * * @param connection_name Name of connection * @param fields Requested fields. * @param options one-time API call overrides * */ connection( connection_name: string, fields?: string, options?: Partial ): Promise>; /** * ### Update a connection using the specified configuration. * * PATCH /connections/{connection_name} -> IDBConnection * * @param connection_name Name of connection * @param body Partial * @param options one-time API call overrides * */ update_connection( connection_name: string, body: Partial, options?: Partial ): Promise>; /** * ### Delete a connection. * * DELETE /connections/{connection_name} -> string * * @param connection_name Name of connection * @param options one-time API call overrides * */ delete_connection( connection_name: string, options?: Partial ): Promise>; /** * ### Delete a connection override. * * DELETE /connections/{connection_name}/connection_override/{override_context} -> string * * @param connection_name Name of connection * @param override_context Context of connection override * @param options one-time API call overrides * */ delete_connection_override( connection_name: string, override_context: string, options?: Partial ): Promise>; /** * ### Test an existing connection. * * Note that a connection's 'dialect' property has a 'connection_tests' property that lists the * specific types of tests that the connection supports. * * This API is rate limited. * * Unsupported tests in the request will be ignored. * * PUT /connections/{connection_name}/test -> IDBConnectionTestResult[] * * @param connection_name Name of connection * @param tests Array of names of tests to run * @param options one-time API call overrides * */ test_connection( connection_name: string, tests?: DelimArray, options?: Partial ): Promise>; /** * ### Test a connection configuration. * * Note that a connection's 'dialect' property has a 'connection_tests' property that lists the * specific types of tests that the connection supports. * * This API is rate limited. * * Unsupported tests in the request will be ignored. * * PUT /connections/test -> IDBConnectionTestResult[] * * @param body Partial * @param tests Array of names of tests to run * @param options one-time API call overrides * */ test_connection_config( body: Partial, tests?: DelimArray, options?: Partial ): Promise>; /** * ### Get information about all dialects. * * GET /dialect_info -> IDialectInfo[] * * @param fields Requested fields. * @param options one-time API call overrides * */ all_dialect_infos( fields?: string, options?: Partial ): Promise>; /** * ### Get all External OAuth Applications. * * This is an OAuth Application which Looker uses to access external systems. * * GET /external_oauth_applications -> IExternalOauthApplication[] * * @param request composed interface "IRequestAllExternalOauthApplications" for complex method parameters * @param options one-time API call overrides * */ all_external_oauth_applications( request: IRequestAllExternalOauthApplications, options?: Partial ): Promise>; /** * ### Create an OAuth Application using the specified configuration. * * This is an OAuth Application which Looker uses to access external systems. * * POST /external_oauth_applications -> IExternalOauthApplication * * @param body Partial * @param options one-time API call overrides * */ create_external_oauth_application( body: Partial, options?: Partial ): Promise>; /** * ### Update an OAuth Application's client secret. * * This is an OAuth Application which Looker uses to access external systems. * * PATCH /external_oauth_applications/{client_id} -> IExternalOauthApplication * * @param client_id The client ID of the OAuth App to update * @param body Partial * @param options one-time API call overrides * */ update_external_oauth_application( client_id: string, body: Partial, options?: Partial ): Promise>; /** * ### Create OAuth User state. * * POST /external_oauth_applications/user_state -> ICreateOAuthApplicationUserStateResponse * * @param body Partial * @param options one-time API call overrides * */ create_oauth_application_user_state( body: Partial, options?: Partial ): Promise< SDKResponse< ICreateOAuthApplicationUserStateResponse, IError | IValidationError > >; /** * ### Get information about all SSH Servers. * * GET /ssh_servers -> ISshServer[] * * @param fields Requested fields. * @param options one-time API call overrides * */ all_ssh_servers( fields?: string, options?: Partial ): Promise>; /** * ### Create an SSH Server. * * POST /ssh_servers -> ISshServer * * @param body Partial * @param options one-time API call overrides * */ create_ssh_server( body: Partial, options?: Partial ): Promise>; /** * ### Get information about an SSH Server. * * GET /ssh_server/{ssh_server_id} -> ISshServer * * @param ssh_server_id Id of SSH Server * @param options one-time API call overrides * */ ssh_server( ssh_server_id: string, options?: Partial ): Promise>; /** * ### Update an SSH Server. * * PATCH /ssh_server/{ssh_server_id} -> ISshServer * * @param ssh_server_id Id of SSH Server * @param body Partial * @param options one-time API call overrides * */ update_ssh_server( ssh_server_id: string, body: Partial, options?: Partial ): Promise>; /** * ### Delete an SSH Server. * * DELETE /ssh_server/{ssh_server_id} -> string * * @param ssh_server_id Id of SSH Server * @param options one-time API call overrides * */ delete_ssh_server( ssh_server_id: string, options?: Partial ): Promise>; /** * ### Test the SSH Server * * GET /ssh_server/{ssh_server_id}/test -> ISshServer * * @param ssh_server_id Id of SSH Server * @param options one-time API call overrides * */ test_ssh_server( ssh_server_id: string, options?: Partial ): Promise>; /** * ### Get information about all SSH Tunnels. * * GET /ssh_tunnels -> ISshTunnel[] * * @param fields Requested fields. * @param options one-time API call overrides * */ all_ssh_tunnels( fields?: string, options?: Partial ): Promise>; /** * ### Create an SSH Tunnel * * POST /ssh_tunnels -> ISshTunnel * * @param body Partial * @param options one-time API call overrides * */ create_ssh_tunnel( body: Partial, options?: Partial ): Promise>; /** * ### Get information about an SSH Tunnel. * * GET /ssh_tunnel/{ssh_tunnel_id} -> ISshTunnel * * @param ssh_tunnel_id Id of SSH Tunnel * @param options one-time API call overrides * */ ssh_tunnel( ssh_tunnel_id: string, options?: Partial ): Promise>; /** * ### Update an SSH Tunnel * * PATCH /ssh_tunnel/{ssh_tunnel_id} -> ISshTunnel * * @param ssh_tunnel_id Id of SSH Tunnel * @param body Partial * @param options one-time API call overrides * */ update_ssh_tunnel( ssh_tunnel_id: string, body: Partial, options?: Partial ): Promise>; /** * ### Delete an SSH Tunnel * * DELETE /ssh_tunnel/{ssh_tunnel_id} -> string * * @param ssh_tunnel_id Id of SSH Tunnel * @param options one-time API call overrides * */ delete_ssh_tunnel( ssh_tunnel_id: string, options?: Partial ): Promise>; /** * ### Test the SSH Tunnel * * GET /ssh_tunnel/{ssh_tunnel_id}/test -> ISshTunnel * * @param ssh_tunnel_id Id of SSH Tunnel * @param options one-time API call overrides * */ test_ssh_tunnel( ssh_tunnel_id: string, options?: Partial ): Promise>; /** * ### Get the SSH public key * * Get the public key created for this instance to identify itself to a remote SSH server. * * GET /ssh_public_key -> ISshPublicKey * * @param options one-time API call overrides * */ ssh_public_key( options?: Partial ): Promise>; //#endregion Connection: Manage Database Connections //#region Content: Manage Content /** * ### Search Favorite Content * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. * Only rows that match *all* search param criteria will be returned. * * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation. * Results will include rows that match **any** of the search criteria. * * String search params use case-insensitive matching. * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions. * example="dan%" will match "danger" and "Danzig" but not "David" * example="D_m%" will match "Damage" and "dump" * * Integer search params can accept a single value or a comma separated list of values. The multiple * values will be combined under a logical OR operation - results will match at least one of * the given values. * * Most search params can accept "IS NULL" and "NOT NULL" as special expressions to match * or exclude (respectively) rows where the column is null. * * Boolean search params accept only "true" and "false" as values. * * GET /content_favorite/search -> IContentFavorite[] * * @param request composed interface "IRequestSearchContentFavorites" for complex method parameters * @param options one-time API call overrides * */ search_content_favorites( request: IRequestSearchContentFavorites, options?: Partial ): Promise>; /** * ### Get favorite content by its id * * GET /content_favorite/{content_favorite_id} -> IContentFavorite * * @param content_favorite_id Id of favorite content * @param fields Requested fields. * @param options one-time API call overrides * */ content_favorite( content_favorite_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Delete favorite content * * DELETE /content_favorite/{content_favorite_id} -> string * * @param content_favorite_id Id of favorite content * @param options one-time API call overrides * */ delete_content_favorite( content_favorite_id: string, options?: Partial ): Promise>; /** * ### Create favorite content * * POST /content_favorite -> IContentFavorite * * @param body Partial * @param options one-time API call overrides * */ create_content_favorite( body: Partial, options?: Partial ): Promise>; /** * ### Get information about all content metadata in a space. * * GET /content_metadata -> IContentMeta[] * * @param parent_id Parent space of content. * @param fields Requested fields. * @param options one-time API call overrides * */ all_content_metadatas( parent_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Get information about an individual content metadata record. * * GET /content_metadata/{content_metadata_id} -> IContentMeta * * @param content_metadata_id Id of content metadata * @param fields Requested fields. * @param options one-time API call overrides * */ content_metadata( content_metadata_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Move a piece of content. * * PATCH /content_metadata/{content_metadata_id} -> IContentMeta * * @param content_metadata_id Id of content metadata * @param body Partial * @param options one-time API call overrides * */ update_content_metadata( content_metadata_id: string, body: Partial, options?: Partial ): Promise>; /** * ### All content metadata access records for a content metadata item. * * GET /content_metadata_access -> IContentMetaGroupUser[] * * @param content_metadata_id Id of content metadata * @param fields Requested fields. * @param options one-time API call overrides * */ all_content_metadata_accesses( content_metadata_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Create content metadata access. * * POST /content_metadata_access -> IContentMetaGroupUser * * @param body WARNING: no writeable properties found for POST, PUT, or PATCH * @param send_boards_notification_email Optionally sends notification email when granting access to a board. * @param options one-time API call overrides * */ create_content_metadata_access( body: Partial, send_boards_notification_email?: boolean, options?: Partial ): Promise>; /** * ### Update type of access for content metadata. * * PUT /content_metadata_access/{content_metadata_access_id} -> IContentMetaGroupUser * * @param content_metadata_access_id Id of content metadata access * @param body WARNING: no writeable properties found for POST, PUT, or PATCH * @param options one-time API call overrides * */ update_content_metadata_access( content_metadata_access_id: string, body: Partial, options?: Partial ): Promise>; /** * ### Remove content metadata access. * * DELETE /content_metadata_access/{content_metadata_access_id} -> string * * @param content_metadata_access_id Id of content metadata access * @param options one-time API call overrides * */ delete_content_metadata_access( content_metadata_access_id: string, options?: Partial ): Promise>; /** * ### Search across looks, dashboards, and lookml dashboards. The terms field will be matched against the * title and description of the content and the closest results are returned. Content that has been frequently * viewed and those pieces of content stored in public folders will be ranked more highly in the results. * * This endpoint does not return a full description of these content types. For more specific information * about each type please refer to the individual content specific API endpoints. * * Get the **full details** of a specific dashboard (or lookml dashboard) by id with [dashboard()](#!/Dashboard/dashboard) * Get the **full details** of a specific look by id with [look()](#!/Look/look) * * GET /content/{terms} -> IContentSearch[] * * @param request composed interface "IRequestSearchContent" for complex method parameters * @param options one-time API call overrides * */ search_content( request: IRequestSearchContent, options?: Partial ): Promise>; /** * ### Get Content Summary * * Retrieves a collection of content items related to user activity and engagement, such as recently viewed content, * favorites and scheduled items. * * GET /content_summary -> IContentSummary[] * * @param request composed interface "IRequestContentSummary" for complex method parameters * @param options one-time API call overrides * */ content_summary( request: IRequestContentSummary, options?: Partial ): Promise>; /** * ### Get an image representing the contents of a dashboard or look. * * The returned thumbnail is an abstract representation of the contents of a dashboard or look and does not * reflect the actual data displayed in the respective visualizations. * * GET /content_thumbnail/{type}/{resource_id} -> string * * @remarks * **NOTE**: Binary content may be returned by this function. * * @param request composed interface "IRequestContentThumbnail" for complex method parameters * @param options one-time API call overrides * */ content_thumbnail( request: IRequestContentThumbnail, options?: Partial ): Promise>; /** * ### Validate All Content * * Performs validation of all looks and dashboards * Returns a list of errors found as well as metadata about the content validation run. * * GET /content_validation -> IContentValidation * * @param request composed interface "IRequestContentValidation" for complex method parameters * @param options one-time API call overrides * */ content_validation( request: IRequestContentValidation, options?: Partial ): Promise>; /** * ### Search Content Views * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. * Only rows that match *all* search param criteria will be returned. * * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation. * Results will include rows that match **any** of the search criteria. * * String search params use case-insensitive matching. * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions. * example="dan%" will match "danger" and "Danzig" but not "David" * example="D_m%" will match "Damage" and "dump" * * Integer search params can accept a single value or a comma separated list of values. The multiple * values will be combined under a logical OR operation - results will match at least one of * the given values. * * Most search params can accept "IS NULL" and "NOT NULL" as special expressions to match * or exclude (respectively) rows where the column is null. * * Boolean search params accept only "true" and "false" as values. * * GET /content_view/search -> IContentView[] * * @param request composed interface "IRequestSearchContentViews" for complex method parameters * @param options one-time API call overrides * */ search_content_views( request: IRequestSearchContentViews, options?: Partial ): Promise>; /** * ### Get a vector image representing the contents of a dashboard or look. * * # DEPRECATED: Use [content_thumbnail()](#!/Content/content_thumbnail) * * The returned thumbnail is an abstract representation of the contents of a dashboard or look and does not * reflect the actual data displayed in the respective visualizations. * * GET /vector_thumbnail/{type}/{resource_id} -> string * * @deprecated * * @param type Either dashboard or look * @param resource_id ID of the dashboard or look to render * @param reload Whether or not to refresh the rendered image with the latest content * @param options one-time API call overrides * */ vector_thumbnail( type: string, resource_id: string, reload?: string, options?: Partial ): Promise>; //#endregion Content: Manage Content //#region Dashboard: Manage Dashboards /** * ### Get information about all active dashboards. * * Returns an array of **abbreviated dashboard objects**. Dashboards marked as deleted are excluded from this list. * * Get the **full details** of a specific dashboard by id with [dashboard()](#!/Dashboard/dashboard) * * Find **deleted dashboards** with [search_dashboards()](#!/Dashboard/search_dashboards) * * GET /dashboards -> IDashboardBase[] * * @param fields Requested fields. * @param options one-time API call overrides * */ all_dashboards( fields?: string, options?: Partial ): Promise>; /** * ### Create a new dashboard * * Creates a new dashboard object and returns the details of the newly created dashboard. * * `Title` and `space_id` are required fields. * `Space_id` must contain the id of an existing space. * A dashboard's `title` must be unique within the space in which it resides. * * If you receive a 422 error response when creating a dashboard, be sure to look at the * response body for information about exactly which fields are missing or contain invalid data. * * You can **update** an existing dashboard with [update_dashboard()](#!/Dashboard/update_dashboard) * * You can **permanently delete** an existing dashboard with [delete_dashboard()](#!/Dashboard/delete_dashboard) * * POST /dashboards -> IDashboard * * @param body Partial * @param options one-time API call overrides * */ create_dashboard( body: Partial, options?: Partial ): Promise>; /** * ### Search Dashboards * * Returns an array of **user-defined dashboard** objects that match the specified search criteria. * Note, [search_dashboards()](#!/Dashboard/search_dashboards) does not return LookML dashboard objects. * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. * Only rows that match *all* search param criteria will be returned. * * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation. * Results will include rows that match **any** of the search criteria. * * String search params use case-insensitive matching. * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions. * example="dan%" will match "danger" and "Danzig" but not "David" * example="D_m%" will match "Damage" and "dump" * * Integer search params can accept a single value or a comma separated list of values. The multiple * values will be combined under a logical OR operation - results will match at least one of * the given values. * * Most search params can accept "IS NULL" and "NOT NULL" as special expressions to match * or exclude (respectively) rows where the column is null. * * Boolean search params accept only "true" and "false" as values. * * * The parameters `limit`, and `offset` are recommended for fetching results in page-size chunks. * * Get a **single dashboard** by id with [dashboard()](#!/Dashboard/dashboard) * * GET /dashboards/search -> IDashboard[] * * @param request composed interface "IRequestSearchDashboards" for complex method parameters * @param options one-time API call overrides * */ search_dashboards( request: IRequestSearchDashboards, options?: Partial ): Promise>; /** * ### Import a LookML dashboard to a space as a UDD * Creates a UDD (a dashboard which exists in the Looker database rather than as a LookML file) from the LookML dashboard * and places it in the space specified. The created UDD will have a lookml_link_id which links to the original LookML dashboard. * * To give the imported dashboard specify a (e.g. title: "my title") in the body of your request, otherwise the imported * dashboard will have the same title as the original LookML dashboard. * * For this operation to succeed the user must have permission to see the LookML dashboard in question, and have permission to * create content in the space the dashboard is being imported to. * * **Sync** a linked UDD with [sync_lookml_dashboard()](#!/Dashboard/sync_lookml_dashboard) * **Unlink** a linked UDD by setting lookml_link_id to null with [update_dashboard()](#!/Dashboard/update_dashboard) * * POST /dashboards/{lookml_dashboard_id}/import/{space_id} -> IDashboard * * @param lookml_dashboard_id Id of LookML dashboard * @param space_id Id of space to import the dashboard to * @param body Partial * @param raw_locale If true, and this dashboard is localized, export it with the raw keys, not localized. * @param options one-time API call overrides * */ import_lookml_dashboard( lookml_dashboard_id: string, space_id: string, body?: Partial, raw_locale?: boolean, options?: Partial ): Promise>; /** * ### Update all linked dashboards to match the specified LookML dashboard. * * Any UDD (a dashboard which exists in the Looker database rather than as a LookML file) which has a `lookml_link_id` * property value referring to a LookML dashboard's id (model::dashboardname) will be updated so that it matches the current state of the LookML dashboard. * * For this operation to succeed the user must have permission to view the LookML dashboard, and only linked dashboards * that the user has permission to update will be synced. * * To **link** or **unlink** a UDD set the `lookml_link_id` property with [update_dashboard()](#!/Dashboard/update_dashboard) * * PATCH /dashboards/{lookml_dashboard_id}/sync -> number[] * * @param lookml_dashboard_id Id of LookML dashboard, in the form 'model::dashboardname' * @param body Partial * @param raw_locale If true, and this dashboard is localized, export it with the raw keys, not localized. * @param options one-time API call overrides * */ sync_lookml_dashboard( lookml_dashboard_id: string, body: Partial, raw_locale?: boolean, options?: Partial ): Promise>; /** * ### Get information about a dashboard * * Returns the full details of the identified dashboard object * * Get a **summary list** of all active dashboards with [all_dashboards()](#!/Dashboard/all_dashboards) * * You can **Search** for dashboards with [search_dashboards()](#!/Dashboard/search_dashboards) * * GET /dashboards/{dashboard_id} -> IDashboard * * @param dashboard_id Id of dashboard * @param fields Requested fields. * @param options one-time API call overrides * */ dashboard( dashboard_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Update a dashboard * * You can use this function to change the string and integer properties of * a dashboard. Nested objects such as filters, dashboard elements, or dashboard layout components * cannot be modified by this function - use the update functions for the respective * nested object types (like [update_dashboard_filter()](#!/Dashboard/update_dashboard_filter) to change a filter) * to modify nested objects referenced by a dashboard. * * If you receive a 422 error response when updating a dashboard, be sure to look at the * response body for information about exactly which fields are missing or contain invalid data. * * PATCH /dashboards/{dashboard_id} -> IDashboard * * @param dashboard_id Id of dashboard * @param body Partial * @param options one-time API call overrides * */ update_dashboard( dashboard_id: string, body: Partial, options?: Partial ): Promise>; /** * ### Delete the dashboard with the specified id * * Permanently **deletes** a dashboard. (The dashboard cannot be recovered after this operation.) * * "Soft" delete or hide a dashboard by setting its `deleted` status to `True` with [update_dashboard()](#!/Dashboard/update_dashboard). * * Note: When a dashboard is deleted in the UI, it is soft deleted. Use this API call to permanently remove it, if desired. * * DELETE /dashboards/{dashboard_id} -> string * * @param dashboard_id Id of dashboard * @param options one-time API call overrides * */ delete_dashboard( dashboard_id: string, options?: Partial ): Promise>; /** * ### Get Aggregate Table LookML for Each Query on a Dashboard * * Returns a JSON object that contains the dashboard id and Aggregate Table lookml * * GET /dashboards/aggregate_table_lookml/{dashboard_id} -> IDashboardAggregateTableLookml * * @param dashboard_id Id of dashboard * @param options one-time API call overrides * */ dashboard_aggregate_table_lookml( dashboard_id: string, options?: Partial ): Promise>; /** * ### Get lookml of a UDD * * Returns a JSON object that contains the dashboard id and the full lookml * * GET /dashboards/lookml/{dashboard_id} -> IDashboardLookml * * @param dashboard_id Id of dashboard * @param options one-time API call overrides * */ dashboard_lookml( dashboard_id: string, options?: Partial ): Promise>; /** * ### Move an existing dashboard * * Moves a dashboard to a specified folder, and returns the moved dashboard. * * `dashboard_id` and `folder_id` are required. * `dashboard_id` and `folder_id` must already exist, and `folder_id` must be different from the current `folder_id` of the dashboard. * * PATCH /dashboards/{dashboard_id}/move -> IDashboard * * @param dashboard_id Dashboard id to move. * @param folder_id Folder id to move to. * @param options one-time API call overrides * */ move_dashboard( dashboard_id: string, folder_id: string, options?: Partial ): Promise>; /** * ### Creates a dashboard object based on LookML Dashboard YAML, and returns the details of the newly created dashboard. * * If a dashboard exists with the YAML-defined "preferred_slug", the new dashboard will overwrite it. Otherwise, a new * dashboard will be created. Note that when a dashboard is overwritten, alerts will not be maintained. * * If a folder_id is specified: new dashboards will be placed in that folder, and overwritten dashboards will be moved to it * If the folder_id isn't specified: new dashboards will be placed in the caller's personal folder, and overwritten dashboards * will remain where they were * * LookML must contain valid LookML YAML code. It's recommended to use the LookML format returned * from [dashboard_lookml()](#!/Dashboard/dashboard_lookml) as the input LookML (newlines replaced with * ). * * Note that the created dashboard is not linked to any LookML Dashboard, * i.e. [sync_lookml_dashboard()](#!/Dashboard/sync_lookml_dashboard) will not update dashboards created by this method. * * POST /dashboards/lookml -> IDashboard * * @param body Partial * @param options one-time API call overrides * */ import_dashboard_from_lookml( body: Partial, options?: Partial ): Promise>; /** * # DEPRECATED: Use [import_dashboard_from_lookml()](#!/Dashboard/import_dashboard_from_lookml) * * POST /dashboards/from_lookml -> IDashboard * * @param body Partial * @param options one-time API call overrides * */ create_dashboard_from_lookml( body: Partial, options?: Partial ): Promise>; /** * ### Copy an existing dashboard * * Creates a copy of an existing dashboard, in a specified folder, and returns the copied dashboard. * * `dashboard_id` is required, `dashboard_id` and `folder_id` must already exist if specified. * `folder_id` will default to the existing folder. * * If a dashboard with the same title already exists in the target folder, the copy will have '(copy)' * or '(copy <# of copies>)' appended. * * POST /dashboards/{dashboard_id}/copy -> IDashboard * * @param dashboard_id Dashboard id to copy. * @param folder_id Folder id to copy to. * @param options one-time API call overrides * */ copy_dashboard( dashboard_id: string, folder_id?: string, options?: Partial ): Promise>; /** * ### Search Dashboard Elements * * Returns an **array of DashboardElement objects** that match the specified search criteria. * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. * Only rows that match *all* search param criteria will be returned. * * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation. * Results will include rows that match **any** of the search criteria. * * String search params use case-insensitive matching. * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions. * example="dan%" will match "danger" and "Danzig" but not "David" * example="D_m%" will match "Damage" and "dump" * * Integer search params can accept a single value or a comma separated list of values. The multiple * values will be combined under a logical OR operation - results will match at least one of * the given values. * * Most search params can accept "IS NULL" and "NOT NULL" as special expressions to match * or exclude (respectively) rows where the column is null. * * Boolean search params accept only "true" and "false" as values. * * GET /dashboard_elements/search -> IDashboardElement[] * * @param request composed interface "IRequestSearchDashboardElements" for complex method parameters * @param options one-time API call overrides * */ search_dashboard_elements( request: IRequestSearchDashboardElements, options?: Partial ): Promise>; /** * ### Get information about the dashboard element with a specific id. * * GET /dashboard_elements/{dashboard_element_id} -> IDashboardElement * * @param dashboard_element_id Id of dashboard element * @param fields Requested fields. * @param options one-time API call overrides * */ dashboard_element( dashboard_element_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Update the dashboard element with a specific id. * * PATCH /dashboard_elements/{dashboard_element_id} -> IDashboardElement * * @param dashboard_element_id Id of dashboard element * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ update_dashboard_element( dashboard_element_id: string, body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Delete a dashboard element with a specific id. * * DELETE /dashboard_elements/{dashboard_element_id} -> string * * @param dashboard_element_id Id of dashboard element * @param options one-time API call overrides * */ delete_dashboard_element( dashboard_element_id: string, options?: Partial ): Promise>; /** * ### Get information about all the dashboard elements on a dashboard with a specific id. * * GET /dashboards/{dashboard_id}/dashboard_elements -> IDashboardElement[] * * @param dashboard_id Id of dashboard * @param fields Requested fields. * @param options one-time API call overrides * */ dashboard_dashboard_elements( dashboard_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Create a dashboard element on the dashboard with a specific id. * * POST /dashboard_elements -> IDashboardElement * * @param request composed interface "IRequestCreateDashboardElement" for complex method parameters * @param options one-time API call overrides * */ create_dashboard_element( request: IRequestCreateDashboardElement, options?: Partial ): Promise>; /** * ### Get information about the dashboard filters with a specific id. * * GET /dashboard_filters/{dashboard_filter_id} -> IDashboardFilter * * @param dashboard_filter_id Id of dashboard filters * @param fields Requested fields. * @param options one-time API call overrides * */ dashboard_filter( dashboard_filter_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Update the dashboard filter with a specific id. * * PATCH /dashboard_filters/{dashboard_filter_id} -> IDashboardFilter * * @param dashboard_filter_id Id of dashboard filter * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ update_dashboard_filter( dashboard_filter_id: string, body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Delete a dashboard filter with a specific id. * * DELETE /dashboard_filters/{dashboard_filter_id} -> string * * @param dashboard_filter_id Id of dashboard filter * @param options one-time API call overrides * */ delete_dashboard_filter( dashboard_filter_id: string, options?: Partial ): Promise>; /** * ### Get information about all the dashboard filters on a dashboard with a specific id. * * GET /dashboards/{dashboard_id}/dashboard_filters -> IDashboardFilter[] * * @param dashboard_id Id of dashboard * @param fields Requested fields. * @param options one-time API call overrides * */ dashboard_dashboard_filters( dashboard_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Create a dashboard filter on the dashboard with a specific id. * * POST /dashboard_filters -> IDashboardFilter * * @param body Partial * @param fields Requested fields * @param options one-time API call overrides * */ create_dashboard_filter( body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Get information about the dashboard elements with a specific id. * * GET /dashboard_layout_components/{dashboard_layout_component_id} -> IDashboardLayoutComponent * * @param dashboard_layout_component_id Id of dashboard layout component * @param fields Requested fields. * @param options one-time API call overrides * */ dashboard_layout_component( dashboard_layout_component_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Update the dashboard element with a specific id. * * PATCH /dashboard_layout_components/{dashboard_layout_component_id} -> IDashboardLayoutComponent * * @param dashboard_layout_component_id Id of dashboard layout component * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ update_dashboard_layout_component( dashboard_layout_component_id: string, body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Get information about all the dashboard layout components for a dashboard layout with a specific id. * * GET /dashboard_layouts/{dashboard_layout_id}/dashboard_layout_components -> IDashboardLayoutComponent[] * * @param dashboard_layout_id Id of dashboard layout component * @param fields Requested fields. * @param options one-time API call overrides * */ dashboard_layout_dashboard_layout_components( dashboard_layout_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Get information about the dashboard layouts with a specific id. * * GET /dashboard_layouts/{dashboard_layout_id} -> IDashboardLayout * * @param dashboard_layout_id Id of dashboard layouts * @param fields Requested fields. * @param options one-time API call overrides * */ dashboard_layout( dashboard_layout_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Update the dashboard layout with a specific id. * * PATCH /dashboard_layouts/{dashboard_layout_id} -> IDashboardLayout * * @param dashboard_layout_id Id of dashboard layout * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ update_dashboard_layout( dashboard_layout_id: string, body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Delete a dashboard layout with a specific id. * * DELETE /dashboard_layouts/{dashboard_layout_id} -> string * * @param dashboard_layout_id Id of dashboard layout * @param options one-time API call overrides * */ delete_dashboard_layout( dashboard_layout_id: string, options?: Partial ): Promise>; /** * ### Get information about all the dashboard elements on a dashboard with a specific id. * * GET /dashboards/{dashboard_id}/dashboard_layouts -> IDashboardLayout[] * * @param dashboard_id Id of dashboard * @param fields Requested fields. * @param options one-time API call overrides * */ dashboard_dashboard_layouts( dashboard_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Create a dashboard layout on the dashboard with a specific id. * * POST /dashboard_layouts -> IDashboardLayout * * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ create_dashboard_layout( body: Partial, fields?: string, options?: Partial ): Promise>; //#endregion Dashboard: Manage Dashboards //#region DataAction: Run Data Actions /** * Perform a data action. The data action object can be obtained from query results, and used to perform an arbitrary action. * * POST /data_actions -> IDataActionResponse * * @param body Partial * @param options one-time API call overrides * */ perform_data_action( body: Partial, options?: Partial ): Promise>; /** * For some data actions, the remote server may supply a form requesting further user input. This endpoint takes a data action, asks the remote server to generate a form for it, and returns that form to you for presentation to the user. * * POST /data_actions/form -> IDataActionForm * * @param body Partial> * @param options one-time API call overrides * */ fetch_remote_data_action_form( body: Partial>, options?: Partial ): Promise>; //#endregion DataAction: Run Data Actions //#region Datagroup: Manage Datagroups /** * ### Get information about all datagroups. * * GET /datagroups -> IDatagroup[] * * @param options one-time API call overrides * */ all_datagroups( options?: Partial ): Promise>; /** * ### Get information about a datagroup. * * GET /datagroups/{datagroup_id} -> IDatagroup * * @param datagroup_id ID of datagroup. * @param options one-time API call overrides * */ datagroup( datagroup_id: string, options?: Partial ): Promise>; /** * ### Update a datagroup using the specified params. * * PATCH /datagroups/{datagroup_id} -> IDatagroup * * @param datagroup_id ID of datagroup. * @param body Partial * @param options one-time API call overrides * */ update_datagroup( datagroup_id: string, body: Partial, options?: Partial ): Promise>; //#endregion Datagroup: Manage Datagroups //#region DerivedTable: View Derived Table graphs /** * ### Discover information about derived tables * * GET /derived_table/graph/model/{model} -> IDependencyGraph * * @param request composed interface "IRequestGraphDerivedTablesForModel" for complex method parameters * @param options one-time API call overrides * */ graph_derived_tables_for_model( request: IRequestGraphDerivedTablesForModel, options?: Partial ): Promise>; /** * ### Get the subgraph representing this derived table and its dependencies. * * GET /derived_table/graph/view/{view} -> IDependencyGraph * * @param request composed interface "IRequestGraphDerivedTablesForView" for complex method parameters * @param options one-time API call overrides * */ graph_derived_tables_for_view( request: IRequestGraphDerivedTablesForView, options?: Partial ): Promise>; /** * Enqueue materialization for a PDT with the given model name and view name * * GET /derived_table/{model_name}/{view_name}/start -> IMaterializePDT * * @param request composed interface "IRequestStartPdtBuild" for complex method parameters * @param options one-time API call overrides * */ start_pdt_build( request: IRequestStartPdtBuild, options?: Partial ): Promise>; /** * Check status of PDT materialization * * GET /derived_table/{materialization_id}/status -> IMaterializePDT * * @param materialization_id The materialization id to check status for. * @param options one-time API call overrides * */ check_pdt_build( materialization_id: string, options?: Partial ): Promise>; /** * Stop a PDT materialization * * GET /derived_table/{materialization_id}/stop -> IMaterializePDT * * @param materialization_id The materialization id to stop. * @param source The source of this request. * @param options one-time API call overrides * */ stop_pdt_build( materialization_id: string, source?: string, options?: Partial ): Promise>; //#endregion DerivedTable: View Derived Table graphs //#region Folder: Manage Folders /** * Search for folders by creator id, parent id, name, etc * * GET /folders/search -> IFolder[] * * @param request composed interface "IRequestSearchFolders" for complex method parameters * @param options one-time API call overrides * */ search_folders( request: IRequestSearchFolders, options?: Partial ): Promise>; /** * ### Get information about the folder with a specific id. * * GET /folders/{folder_id} -> IFolder * * @param folder_id Id of folder * @param fields Requested fields. * @param options one-time API call overrides * */ folder( folder_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Update the folder with a specific id. * * PATCH /folders/{folder_id} -> IFolder * * @param folder_id Id of folder * @param body Partial * @param options one-time API call overrides * */ update_folder( folder_id: string, body: Partial, options?: Partial ): Promise>; /** * ### Delete the folder with a specific id including any children folders. * **DANGER** this will delete all looks and dashboards in the folder. * * DELETE /folders/{folder_id} -> string * * @param folder_id Id of folder * @param options one-time API call overrides * */ delete_folder( folder_id: string, options?: Partial ): Promise>; /** * ### Get information about all folders. * * All personal folders will be returned. * * GET /folders -> IFolderBase[] * * @param fields Requested fields. * @param options one-time API call overrides * */ all_folders( fields?: string, options?: Partial ): Promise>; /** * ### Create a folder with specified information. * * Caller must have permission to edit the parent folder and to create folders, otherwise the request * returns 404 Not Found. * * POST /folders -> IFolder * * @param body Partial * @param options one-time API call overrides * */ create_folder( body: Partial, options?: Partial ): Promise>; /** * ### Get the children of a folder. * * GET /folders/{folder_id}/children -> IFolder[] * * @param request composed interface "IRequestFolderChildren" for complex method parameters * @param options one-time API call overrides * */ folder_children( request: IRequestFolderChildren, options?: Partial ): Promise>; /** * ### Search the children of a folder * * GET /folders/{folder_id}/children/search -> IFolder[] * * @param request composed interface "IRequestFolderChildrenSearch" for complex method parameters * @param options one-time API call overrides * */ folder_children_search( request: IRequestFolderChildrenSearch, options?: Partial ): Promise>; /** * ### Get the parent of a folder * * GET /folders/{folder_id}/parent -> IFolder * * @param folder_id Id of folder * @param fields Requested fields. * @param options one-time API call overrides * */ folder_parent( folder_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Get the ancestors of a folder * * GET /folders/{folder_id}/ancestors -> IFolder[] * * @param folder_id Id of folder * @param fields Requested fields. * @param options one-time API call overrides * */ folder_ancestors( folder_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Get all looks in a folder. * In API 4.0+, all looks in a folder will be returned, excluding looks in the trash. * * GET /folders/{folder_id}/looks -> ILookWithQuery[] * * @param folder_id Id of folder * @param fields Requested fields. * @param options one-time API call overrides * */ folder_looks( folder_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Get the dashboards in a folder * * GET /folders/{folder_id}/dashboards -> IDashboard[] * * @param folder_id Id of folder * @param fields Requested fields. * @param options one-time API call overrides * */ folder_dashboards( folder_id: string, fields?: string, options?: Partial ): Promise>; //#endregion Folder: Manage Folders //#region Group: Manage Groups /** * ### Get information about all groups. * * GET /groups -> IGroup[] * * @param request composed interface "IRequestAllGroups" for complex method parameters * @param options one-time API call overrides * */ all_groups( request: IRequestAllGroups, options?: Partial ): Promise>; /** * ### Creates a new group (admin only). * * POST /groups -> IGroup * * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ create_group( body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Search groups * * Returns all group records that match the given search criteria. * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. * Only rows that match *all* search param criteria will be returned. * * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation. * Results will include rows that match **any** of the search criteria. * * String search params use case-insensitive matching. * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions. * example="dan%" will match "danger" and "Danzig" but not "David" * example="D_m%" will match "Damage" and "dump" * * Integer search params can accept a single value or a comma separated list of values. The multiple * values will be combined under a logical OR operation - results will match at least one of * the given values. * * Most search params can accept "IS NULL" and "NOT NULL" as special expressions to match * or exclude (respectively) rows where the column is null. * * Boolean search params accept only "true" and "false" as values. * * GET /groups/search -> IGroup[] * * @param request composed interface "IRequestSearchGroups" for complex method parameters * @param options one-time API call overrides * */ search_groups( request: IRequestSearchGroups, options?: Partial ): Promise>; /** * ### Search groups include roles * * Returns all group records that match the given search criteria, and attaches any associated roles. * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. * Only rows that match *all* search param criteria will be returned. * * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation. * Results will include rows that match **any** of the search criteria. * * String search params use case-insensitive matching. * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions. * example="dan%" will match "danger" and "Danzig" but not "David" * example="D_m%" will match "Damage" and "dump" * * Integer search params can accept a single value or a comma separated list of values. The multiple * values will be combined under a logical OR operation - results will match at least one of * the given values. * * Most search params can accept "IS NULL" and "NOT NULL" as special expressions to match * or exclude (respectively) rows where the column is null. * * Boolean search params accept only "true" and "false" as values. * * GET /groups/search/with_roles -> IGroupSearch[] * * @param request composed interface "IRequestSearchGroupsWithRoles" for complex method parameters * @param options one-time API call overrides * */ search_groups_with_roles( request: IRequestSearchGroupsWithRoles, options?: Partial ): Promise>; /** * ### Search groups include hierarchy * * Returns all group records that match the given search criteria, and attaches * associated role_ids and parent group_ids. * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. * Only rows that match *all* search param criteria will be returned. * * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation. * Results will include rows that match **any** of the search criteria. * * String search params use case-insensitive matching. * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions. * example="dan%" will match "danger" and "Danzig" but not "David" * example="D_m%" will match "Damage" and "dump" * * Integer search params can accept a single value or a comma separated list of values. The multiple * values will be combined under a logical OR operation - results will match at least one of * the given values. * * Most search params can accept "IS NULL" and "NOT NULL" as special expressions to match * or exclude (respectively) rows where the column is null. * * Boolean search params accept only "true" and "false" as values. * * GET /groups/search/with_hierarchy -> IGroupHierarchy[] * * @param request composed interface "IRequestSearchGroupsWithHierarchy" for complex method parameters * @param options one-time API call overrides * */ search_groups_with_hierarchy( request: IRequestSearchGroupsWithHierarchy, options?: Partial ): Promise>; /** * ### Get information about a group. * * GET /groups/{group_id} -> IGroup * * @param group_id Id of group * @param fields Requested fields. * @param options one-time API call overrides * */ group( group_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Updates the a group (admin only). * * PATCH /groups/{group_id} -> IGroup * * @param group_id Id of group * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ update_group( group_id: string, body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Deletes a group (admin only). * * DELETE /groups/{group_id} -> string * * @param group_id Id of group * @param options one-time API call overrides * */ delete_group( group_id: string, options?: Partial ): Promise>; /** * ### Get information about all the groups in a group * * GET /groups/{group_id}/groups -> IGroup[] * * @param group_id Id of group * @param fields Requested fields. * @param options one-time API call overrides * */ all_group_groups( group_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Adds a new group to a group. * * POST /groups/{group_id}/groups -> IGroup * * @param group_id Id of group * @param body WARNING: no writeable properties found for POST, PUT, or PATCH * @param options one-time API call overrides * */ add_group_group( group_id: string, body: Partial, options?: Partial ): Promise>; /** * ### Get information about all the users directly included in a group. * * GET /groups/{group_id}/users -> IUser[] * * @param request composed interface "IRequestAllGroupUsers" for complex method parameters * @param options one-time API call overrides * */ all_group_users( request: IRequestAllGroupUsers, options?: Partial ): Promise>; /** * ### Adds a new user to a group. * * POST /groups/{group_id}/users -> IUser * * @param group_id Id of group * @param body WARNING: no writeable properties found for POST, PUT, or PATCH * @param options one-time API call overrides * */ add_group_user( group_id: string, body: Partial, options?: Partial ): Promise>; /** * ### Removes a user from a group. * * DELETE /groups/{group_id}/users/{user_id} -> void * * @param group_id Id of group * @param user_id Id of user to remove from group * @param options one-time API call overrides * */ delete_group_user( group_id: string, user_id: string, options?: Partial ): Promise>; /** * ### Removes a group from a group. * * DELETE /groups/{group_id}/groups/{deleting_group_id} -> void * * @param group_id Id of group * @param deleting_group_id Id of group to delete * @param options one-time API call overrides * */ delete_group_from_group( group_id: string, deleting_group_id: string, options?: Partial ): Promise>; /** * ### Set the value of a user attribute for a group. * * For information about how user attribute values are calculated, see [Set User Attribute Group Values](#!/UserAttribute/set_user_attribute_group_values). * * PATCH /groups/{group_id}/attribute_values/{user_attribute_id} -> IUserAttributeGroupValue * * @param group_id Id of group * @param user_attribute_id Id of user attribute * @param body WARNING: no writeable properties found for POST, PUT, or PATCH * @param options one-time API call overrides * */ update_user_attribute_group_value( group_id: string, user_attribute_id: string, body: Partial, options?: Partial ): Promise>; /** * ### Remove a user attribute value from a group. * * DELETE /groups/{group_id}/attribute_values/{user_attribute_id} -> void * * @param group_id Id of group * @param user_attribute_id Id of user attribute * @param options one-time API call overrides * */ delete_user_attribute_group_value( group_id: string, user_attribute_id: string, options?: Partial ): Promise>; //#endregion Group: Manage Groups //#region Homepage: Manage Homepage /** * ### Get information about the primary homepage's sections. * * GET /primary_homepage_sections -> IHomepageSection[] * * @param fields Requested fields. * @param options one-time API call overrides * */ all_primary_homepage_sections( fields?: string, options?: Partial ): Promise>; //#endregion Homepage: Manage Homepage //#region Integration: Manage Integrations /** * ### Get information about all Integration Hubs. * * GET /integration_hubs -> IIntegrationHub[] * * @param fields Requested fields. * @param options one-time API call overrides * */ all_integration_hubs( fields?: string, options?: Partial ): Promise>; /** * ### Create a new Integration Hub. * * This API is rate limited to prevent it from being used for SSRF attacks * * POST /integration_hubs -> IIntegrationHub * * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ create_integration_hub( body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Get information about a Integration Hub. * * GET /integration_hubs/{integration_hub_id} -> IIntegrationHub * * @param integration_hub_id Id of integration_hub * @param fields Requested fields. * @param options one-time API call overrides * */ integration_hub( integration_hub_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Update a Integration Hub definition. * * This API is rate limited to prevent it from being used for SSRF attacks * * PATCH /integration_hubs/{integration_hub_id} -> IIntegrationHub * * @param integration_hub_id Id of integration_hub * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ update_integration_hub( integration_hub_id: string, body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Delete a Integration Hub. * * DELETE /integration_hubs/{integration_hub_id} -> string * * @param integration_hub_id Id of integration_hub * @param options one-time API call overrides * */ delete_integration_hub( integration_hub_id: string, options?: Partial ): Promise>; /** * Accepts the legal agreement for a given integration hub. This only works for integration hubs that have legal_agreement_required set to true and legal_agreement_signed set to false. * * POST /integration_hubs/{integration_hub_id}/accept_legal_agreement -> IIntegrationHub * * @param integration_hub_id Id of integration_hub * @param options one-time API call overrides * */ accept_integration_hub_legal_agreement( integration_hub_id: string, options?: Partial ): Promise>; /** * ### Get information about all Integrations. * * GET /integrations -> IIntegration[] * * @param request composed interface "IRequestAllIntegrations" for complex method parameters * @param options one-time API call overrides * */ all_integrations( request: IRequestAllIntegrations, options?: Partial ): Promise>; /** * ### Get information about a Integration. * * GET /integrations/{integration_id} -> IIntegration * * @param integration_id Id of integration * @param fields Requested fields. * @param options one-time API call overrides * */ integration( integration_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Update parameters on a Integration. * * PATCH /integrations/{integration_id} -> IIntegration * * @param integration_id Id of integration * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ update_integration( integration_id: string, body: Partial, fields?: string, options?: Partial ): Promise>; /** * Returns the Integration form for presentation to the user. * * POST /integrations/{integration_id}/form -> IDataActionForm * * @param integration_id Id of integration * @param body Partial> * @param options one-time API call overrides * */ fetch_integration_form( integration_id: string, body?: Partial>, options?: Partial ): Promise>; /** * Tests the integration to make sure all the settings are working. * * POST /integrations/{integration_id}/test -> IIntegrationTestResult * * @param integration_id Id of integration * @param options one-time API call overrides * */ test_integration( integration_id: string, options?: Partial ): Promise>; //#endregion Integration: Manage Integrations //#region Look: Run and Manage Looks /** * ### Get information about all active Looks * * Returns an array of **abbreviated Look objects** describing all the looks that the caller has access to. Soft-deleted Looks are **not** included. * * Get the **full details** of a specific look by id with [look(id)](#!/Look/look) * * Find **soft-deleted looks** with [search_looks()](#!/Look/search_looks) * * GET /looks -> ILook[] * * @param fields Requested fields. * @param options one-time API call overrides * */ all_looks( fields?: string, options?: Partial ): Promise>; /** * ### Create a Look * * To create a look to display query data, first create the query with [create_query()](#!/Query/create_query) * then assign the query's id to the `query_id` property in the call to `create_look()`. * * To place the look into a particular space, assign the space's id to the `space_id` property * in the call to `create_look()`. * * POST /looks -> ILookWithQuery * * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ create_look( body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Search Looks * * Returns an **array of Look objects** that match the specified search criteria. * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. * Only rows that match *all* search param criteria will be returned. * * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation. * Results will include rows that match **any** of the search criteria. * * String search params use case-insensitive matching. * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions. * example="dan%" will match "danger" and "Danzig" but not "David" * example="D_m%" will match "Damage" and "dump" * * Integer search params can accept a single value or a comma separated list of values. The multiple * values will be combined under a logical OR operation - results will match at least one of * the given values. * * Most search params can accept "IS NULL" and "NOT NULL" as special expressions to match * or exclude (respectively) rows where the column is null. * * Boolean search params accept only "true" and "false" as values. * * * Get a **single look** by id with [look(id)](#!/Look/look) * * GET /looks/search -> ILook[] * * @param request composed interface "IRequestSearchLooks" for complex method parameters * @param options one-time API call overrides * */ search_looks( request: IRequestSearchLooks, options?: Partial ): Promise>; /** * ### Get a Look. * * Returns detailed information about a Look and its associated Query. * * GET /looks/{look_id} -> ILookWithQuery * * @param look_id Id of look * @param fields Requested fields. * @param options one-time API call overrides * */ look( look_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Modify a Look * * Use this function to modify parts of a look. Property values given in a call to `update_look` are * applied to the existing look, so there's no need to include properties whose values are not changing. * It's best to specify only the properties you want to change and leave everything else out * of your `update_look` call. **Look properties marked 'read-only' will be ignored.** * * When a user deletes a look in the Looker UI, the look data remains in the database but is * marked with a deleted flag ("soft-deleted"). Soft-deleted looks can be undeleted (by an admin) * if the delete was in error. * * To soft-delete a look via the API, use [update_look()](#!/Look/update_look) to change the look's `deleted` property to `true`. * You can undelete a look by calling `update_look` to change the look's `deleted` property to `false`. * * Soft-deleted looks are excluded from the results of [all_looks()](#!/Look/all_looks) and [search_looks()](#!/Look/search_looks), so they * essentially disappear from view even though they still reside in the db. * You can pass `deleted: true` as a parameter to [search_looks()](#!/Look/search_looks) to list soft-deleted looks. * * NOTE: [delete_look()](#!/Look/delete_look) performs a "hard delete" - the look data is removed from the Looker * database and destroyed. There is no "undo" for `delete_look()`. * * PATCH /looks/{look_id} -> ILookWithQuery * * @param look_id Id of look * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ update_look( look_id: string, body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Permanently Delete a Look * * This operation **permanently** removes a look from the Looker database. * * NOTE: There is no "undo" for this kind of delete. * * For information about soft-delete (which can be undone) see [update_look()](#!/Look/update_look). * * DELETE /looks/{look_id} -> string * * @param look_id Id of look * @param options one-time API call overrides * */ delete_look( look_id: string, options?: Partial ): Promise>; /** * ### Run a Look * * Runs a given look's query and returns the results in the requested format. * * Supported formats: * * | result_format | Description * | :-----------: | :--- | * | json | Plain json * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query. See JsonBi type for schema * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query * | csv | Comma separated values with a header * | txt | Tab separated values with a header * | html | Simple html * | md | Simple markdown * | xlsx | MS Excel spreadsheet * | sql | Returns the generated SQL rather than running the query * | png | A PNG image of the visualization of the query * | jpg | A JPG image of the visualization of the query * * GET /looks/{look_id}/run/{result_format} -> string * * @remarks * **NOTE**: Binary content may be returned by this function. * * @param request composed interface "IRequestRunLook" for complex method parameters * @param options one-time API call overrides * */ run_look( request: IRequestRunLook, options?: Partial ): Promise>; /** * ### Copy an existing look * * Creates a copy of an existing look, in a specified folder, and returns the copied look. * * `look_id` and `folder_id` are required. * * `look_id` and `folder_id` must already exist, and `folder_id` must be different from the current `folder_id` of the dashboard. * * POST /looks/{look_id}/copy -> ILookWithQuery * * @param look_id Look id to copy. * @param folder_id Folder id to copy to. * @param options one-time API call overrides * */ copy_look( look_id: string, folder_id?: string, options?: Partial ): Promise>; /** * ### Move an existing look * * Moves a look to a specified folder, and returns the moved look. * * `look_id` and `folder_id` are required. * `look_id` and `folder_id` must already exist, and `folder_id` must be different from the current `folder_id` of the dashboard. * * PATCH /looks/{look_id}/move -> ILookWithQuery * * @param look_id Look id to move. * @param folder_id Folder id to move to. * @param options one-time API call overrides * */ move_look( look_id: string, folder_id: string, options?: Partial ): Promise>; //#endregion Look: Run and Manage Looks //#region LookmlModel: Manage LookML Models /** * ### Get information about all lookml models. * * GET /lookml_models -> ILookmlModel[] * * @param request composed interface "IRequestAllLookmlModels" for complex method parameters * @param options one-time API call overrides * */ all_lookml_models( request: IRequestAllLookmlModels, options?: Partial ): Promise>; /** * ### Create a lookml model using the specified configuration. * * POST /lookml_models -> ILookmlModel * * @param body Partial * @param options one-time API call overrides * */ create_lookml_model( body: Partial, options?: Partial ): Promise>; /** * ### Get information about a lookml model. * * GET /lookml_models/{lookml_model_name} -> ILookmlModel * * @param lookml_model_name Name of lookml model. * @param fields Requested fields. * @param options one-time API call overrides * */ lookml_model( lookml_model_name: string, fields?: string, options?: Partial ): Promise>; /** * ### Update a lookml model using the specified configuration. * * PATCH /lookml_models/{lookml_model_name} -> ILookmlModel * * @param lookml_model_name Name of lookml model. * @param body Partial * @param options one-time API call overrides * */ update_lookml_model( lookml_model_name: string, body: Partial, options?: Partial ): Promise>; /** * ### Delete a lookml model. * * DELETE /lookml_models/{lookml_model_name} -> string * * @param lookml_model_name Name of lookml model. * @param options one-time API call overrides * */ delete_lookml_model( lookml_model_name: string, options?: Partial ): Promise>; /** * ### Get information about a lookml model explore. * * GET /lookml_models/{lookml_model_name}/explores/{explore_name} -> ILookmlModelExplore * * @param request composed interface "IRequestLookmlModelExplore" for complex method parameters * @param options one-time API call overrides * */ lookml_model_explore( request: IRequestLookmlModelExplore, options?: Partial ): Promise>; //#endregion LookmlModel: Manage LookML Models //#region Metadata: Connection Metadata Features /** * ### Field name suggestions for a model and view * * `filters` is a string hash of values, with the key as the field name and the string value as the filter expression: * * ```ruby * {'users.age': '>=60'} * ``` * * or * * ```ruby * {'users.age': '<30'} * ``` * * or * * ```ruby * {'users.age': '=50'} * ``` * * GET /models/{model_name}/views/{view_name}/fields/{field_name}/suggestions -> IModelFieldSuggestions * * @param request composed interface "IRequestModelFieldnameSuggestions" for complex method parameters * @param options one-time API call overrides * */ model_fieldname_suggestions( request: IRequestModelFieldnameSuggestions, options?: Partial ): Promise>; /** * ### Get a single model * * GET /models/{model_name} -> IModel * * @param model_name Name of model * @param options one-time API call overrides * */ get_model( model_name: string, options?: Partial ): Promise>; /** * ### List databases available to this connection * * Certain dialects can support multiple databases per single connection. * If this connection supports multiple databases, the database names will be returned in an array. * * Connections using dialects that do not support multiple databases will return an empty array. * * **Note**: [Connection Features](#!/Metadata/connection_features) can be used to determine if a connection supports * multiple databases. * * GET /connections/{connection_name}/databases -> string[] * * @param connection_name Name of connection * @param options one-time API call overrides * */ connection_databases( connection_name: string, options?: Partial ): Promise>; /** * ### Retrieve metadata features for this connection * * Returns a list of feature names with `true` (available) or `false` (not available) * * GET /connections/{connection_name}/features -> IConnectionFeatures * * @param connection_name Name of connection * @param fields Requested fields. * @param options one-time API call overrides * */ connection_features( connection_name: string, fields?: string, options?: Partial ): Promise>; /** * ### Get the list of schemas and tables for a connection * * GET /connections/{connection_name}/schemas -> ISchema[] * * @param request composed interface "IRequestConnectionSchemas" for complex method parameters * @param options one-time API call overrides * */ connection_schemas( request: IRequestConnectionSchemas, options?: Partial ): Promise>; /** * ### Get the list of tables for a schema * * For dialects that support multiple databases, optionally identify which to use. If not provided, the default * database for the connection will be used. * * For dialects that do **not** support multiple databases, **do not use** the database parameter * * GET /connections/{connection_name}/tables -> ISchemaTables[] * * @param request composed interface "IRequestConnectionTables" for complex method parameters * @param options one-time API call overrides * */ connection_tables( request: IRequestConnectionTables, options?: Partial ): Promise>; /** * ### Get the columns (and therefore also the tables) in a specific schema * * GET /connections/{connection_name}/columns -> ISchemaColumns[] * * @param request composed interface "IRequestConnectionColumns" for complex method parameters * @param options one-time API call overrides * */ connection_columns( request: IRequestConnectionColumns, options?: Partial ): Promise>; /** * ### Search a connection for columns matching the specified name * * **Note**: `column_name` must be a valid column name. It is not a search pattern. * * GET /connections/{connection_name}/search_columns -> IColumnSearch[] * * @param request composed interface "IRequestConnectionSearchColumns" for complex method parameters * @param options one-time API call overrides * */ connection_search_columns( request: IRequestConnectionSearchColumns, options?: Partial ): Promise>; /** * ### Connection cost estimating * * Assign a `sql` statement to the body of the request. e.g., for Ruby, `{sql: 'select * from users'}` * * **Note**: If the connection's dialect has no support for cost estimates, an error will be returned * * POST /connections/{connection_name}/cost_estimate -> ICostEstimate * * @param connection_name Name of connection * @param body WARNING: no writeable properties found for POST, PUT, or PATCH * @param fields Requested fields. * @param options one-time API call overrides * */ connection_cost_estimate( connection_name: string, body: Partial, fields?: string, options?: Partial ): Promise>; //#endregion Metadata: Connection Metadata Features //#region Project: Manage Projects /** * ### Generate Lockfile for All LookML Dependencies * * Git must have been configured, must be in dev mode and deploy permission required * * Install_all is a two step process * 1. For each remote_dependency in a project the dependency manager will resolve any ambiguous ref. * 2. The project will then write out a lockfile including each remote_dependency with its resolved ref. * * POST /projects/{project_id}/manifest/lock_all -> string * * @param project_id Id of project * @param fields Requested fields * @param options one-time API call overrides * */ lock_all( project_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Get All Git Branches * * Returns a list of git branches in the project repository * * GET /projects/{project_id}/git_branches -> IGitBranch[] * * @param project_id Project Id * @param options one-time API call overrides * */ all_git_branches( project_id: string, options?: Partial ): Promise>; /** * ### Get the Current Git Branch * * Returns the git branch currently checked out in the given project repository * * GET /projects/{project_id}/git_branch -> IGitBranch * * @param project_id Project Id * @param options one-time API call overrides * */ git_branch( project_id: string, options?: Partial ): Promise>; /** * ### Checkout and/or reset --hard an existing Git Branch * * Only allowed in development mode * - Call `update_session` to select the 'dev' workspace. * * Checkout an existing branch if name field is different from the name of the currently checked out branch. * * Optionally specify a branch name, tag name or commit SHA to which the branch should be reset. * **DANGER** hard reset will be force pushed to the remote. Unsaved changes and commits may be permanently lost. * * PUT /projects/{project_id}/git_branch -> IGitBranch * * @param project_id Project Id * @param body Partial * @param options one-time API call overrides * */ update_git_branch( project_id: string, body: Partial, options?: Partial ): Promise>; /** * ### Create and Checkout a Git Branch * * Creates and checks out a new branch in the given project repository * Only allowed in development mode * - Call `update_session` to select the 'dev' workspace. * * Optionally specify a branch name, tag name or commit SHA as the start point in the ref field. * If no ref is specified, HEAD of the current branch will be used as the start point for the new branch. * * POST /projects/{project_id}/git_branch -> IGitBranch * * @param project_id Project Id * @param body Partial * @param options one-time API call overrides * */ create_git_branch( project_id: string, body: Partial, options?: Partial ): Promise>; /** * ### Get the specified Git Branch * * Returns the git branch specified in branch_name path param if it exists in the given project repository * * GET /projects/{project_id}/git_branch/{branch_name} -> IGitBranch * * @param project_id Project Id * @param branch_name Branch Name * @param options one-time API call overrides * */ find_git_branch( project_id: string, branch_name: string, options?: Partial ): Promise>; /** * ### Delete the specified Git Branch * * Delete git branch specified in branch_name path param from local and remote of specified project repository * * DELETE /projects/{project_id}/git_branch/{branch_name} -> string * * @param project_id Project Id * @param branch_name Branch Name * @param options one-time API call overrides * */ delete_git_branch( project_id: string, branch_name: string, options?: Partial ): Promise>; /** * ### Deploy a Remote Branch or Ref to Production * * Git must have been configured and deploy permission required. * * Deploy is a one/two step process * 1. If this is the first deploy of this project, create the production project with git repository. * 2. Pull the branch or ref into the production project. * * Can only specify either a branch or a ref. * * POST /projects/{project_id}/deploy_ref_to_production -> string * * @param request composed interface "IRequestDeployRefToProduction" for complex method parameters * @param options one-time API call overrides * */ deploy_ref_to_production( request: IRequestDeployRefToProduction, options?: Partial ): Promise>; /** * ### Deploy LookML from this Development Mode Project to Production * * Git must have been configured, must be in dev mode and deploy permission required * * Deploy is a two / three step process: * * 1. Push commits in current branch of dev mode project to the production branch (origin/master). * Note a. This step is skipped in read-only projects. * Note b. If this step is unsuccessful for any reason (e.g. rejected non-fastforward because production branch has * commits not in current branch), subsequent steps will be skipped. * 2. If this is the first deploy of this project, create the production project with git repository. * 3. Pull the production branch into the production project. * * POST /projects/{project_id}/deploy_to_production -> string * * @param project_id Id of project * @param options one-time API call overrides * */ deploy_to_production( project_id: string, options?: Partial ): Promise>; /** * ### Reset a project to the revision of the project that is in production. * * **DANGER** this will delete any changes that have not been pushed to a remote repository. * * POST /projects/{project_id}/reset_to_production -> string * * @param project_id Id of project * @param options one-time API call overrides * */ reset_project_to_production( project_id: string, options?: Partial ): Promise>; /** * ### Reset a project development branch to the revision of the project that is on the remote. * * **DANGER** this will delete any changes that have not been pushed to a remote repository. * * POST /projects/{project_id}/reset_to_remote -> string * * @param project_id Id of project * @param options one-time API call overrides * */ reset_project_to_remote( project_id: string, options?: Partial ): Promise>; /** * ### Get All Projects * * Returns all projects visible to the current user * * GET /projects -> IProject[] * * @param fields Requested fields * @param options one-time API call overrides * */ all_projects( fields?: string, options?: Partial ): Promise>; /** * ### Create A Project * * dev mode required. * - Call `update_session` to select the 'dev' workspace. * * `name` is required. * `git_remote_url` is not allowed. To configure Git for the newly created project, follow the instructions in `update_project`. * * POST /projects -> IProject * * @param body Partial * @param options one-time API call overrides * */ create_project( body: Partial, options?: Partial ): Promise>; /** * ### Get A Project * * Returns the project with the given project id * * GET /projects/{project_id} -> IProject * * @param project_id Project Id * @param fields Requested fields * @param options one-time API call overrides * */ project( project_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Update Project Configuration * * Apply changes to a project's configuration. * * * #### Configuring Git for a Project * * To set up a Looker project with a remote git repository, follow these steps: * * 1. Call `update_session` to select the 'dev' workspace. * 1. Call `create_git_deploy_key` to create a new deploy key for the project * 1. Copy the deploy key text into the remote git repository's ssh key configuration * 1. Call `update_project` to set project's `git_remote_url` ()and `git_service_name`, if necessary). * * When you modify a project's `git_remote_url`, Looker connects to the remote repository to fetch * metadata. The remote git repository MUST be configured with the Looker-generated deploy * key for this project prior to setting the project's `git_remote_url`. * * To set up a Looker project with a git repository residing on the Looker server (a 'bare' git repo): * * 1. Call `update_session` to select the 'dev' workspace. * 1. Call `update_project` setting `git_remote_url` to null and `git_service_name` to "bare". * * PATCH /projects/{project_id} -> IProject * * @param project_id Project Id * @param body Partial * @param fields Requested fields * @param options one-time API call overrides * */ update_project( project_id: string, body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Get A Projects Manifest object * * Returns the project with the given project id * * GET /projects/{project_id}/manifest -> IManifest * * @param project_id Project Id * @param options one-time API call overrides * */ manifest( project_id: string, options?: Partial ): Promise>; /** * ### Git Deploy Key * * Returns the ssh public key previously created for a project's git repository. * * GET /projects/{project_id}/git/deploy_key -> string * * @param project_id Project Id * @param options one-time API call overrides * */ git_deploy_key( project_id: string, options?: Partial ): Promise>; /** * ### Create Git Deploy Key * * Create a public/private key pair for authenticating ssh git requests from Looker to a remote git repository * for a particular Looker project. * * Returns the public key of the generated ssh key pair. * * Copy this public key to your remote git repository's ssh keys configuration so that the remote git service can * validate and accept git requests from the Looker server. * * POST /projects/{project_id}/git/deploy_key -> string * * @param project_id Project Id * @param options one-time API call overrides * */ create_git_deploy_key( project_id: string, options?: Partial ): Promise>; /** * ### Get Cached Project Validation Results * * Returns the cached results of a previous project validation calculation, if any. * Returns http status 204 No Content if no validation results exist. * * Validating the content of all the files in a project can be computationally intensive * for large projects. Use this API to simply fetch the results of the most recent * project validation rather than revalidating the entire project from scratch. * * A value of `"stale": true` in the response indicates that the project has changed since * the cached validation results were computed. The cached validation results may no longer * reflect the current state of the project. * * GET /projects/{project_id}/validate -> IProjectValidationCache * * @param project_id Project Id * @param fields Requested fields * @param options one-time API call overrides * */ project_validation_results( project_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Validate Project * * Performs lint validation of all lookml files in the project. * Returns a list of errors found, if any. * * Validating the content of all the files in a project can be computationally intensive * for large projects. For best performance, call `validate_project(project_id)` only * when you really want to recompute project validation. To quickly display the results of * the most recent project validation (without recomputing), use `project_validation_results(project_id)` * * POST /projects/{project_id}/validate -> IProjectValidation * * @param project_id Project Id * @param fields Requested fields * @param options one-time API call overrides * */ validate_project( project_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Get Project Workspace * * Returns information about the state of the project files in the currently selected workspace * * GET /projects/{project_id}/current_workspace -> IProjectWorkspace * * @param project_id Project Id * @param fields Requested fields * @param options one-time API call overrides * */ project_workspace( project_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Get All Project Files * * Returns a list of the files in the project * * GET /projects/{project_id}/files -> IProjectFile[] * * @param project_id Project Id * @param fields Requested fields * @param options one-time API call overrides * */ all_project_files( project_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Get Project File Info * * Returns information about a file in the project * * GET /projects/{project_id}/files/file -> IProjectFile * * @param project_id Project Id * @param file_id File Id * @param fields Requested fields * @param options one-time API call overrides * */ project_file( project_id: string, file_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Get All Git Connection Tests * * dev mode required. * - Call `update_session` to select the 'dev' workspace. * * Returns a list of tests which can be run against a project's (or the dependency project for the provided remote_url) git connection. Call [Run Git Connection Test](#!/Project/run_git_connection_test) to execute each test in sequence. * * Tests are ordered by increasing specificity. Tests should be run in the order returned because later tests require functionality tested by tests earlier in the test list. * * For example, a late-stage test for write access is meaningless if connecting to the git server (an early test) is failing. * * GET /projects/{project_id}/git_connection_tests -> IGitConnectionTest[] * * @param project_id Project Id * @param remote_url (Optional: leave blank for root project) The remote url for remote dependency to test. * @param options one-time API call overrides * */ all_git_connection_tests( project_id: string, remote_url?: string, options?: Partial ): Promise>; /** * ### Run a git connection test * * Run the named test on the git service used by this project (or the dependency project for the provided remote_url) and return the result. This * is intended to help debug git connections when things do not work properly, to give * more helpful information about why a git url is not working with Looker. * * Tests should be run in the order they are returned by [Get All Git Connection Tests](#!/Project/all_git_connection_tests). * * GET /projects/{project_id}/git_connection_tests/{test_id} -> IGitConnectionTestResult * * @param request composed interface "IRequestRunGitConnectionTest" for complex method parameters * @param options one-time API call overrides * */ run_git_connection_test( request: IRequestRunGitConnectionTest, options?: Partial ): Promise>; /** * ### Get All LookML Tests * * Returns a list of tests which can be run to validate a project's LookML code and/or the underlying data, * optionally filtered by the file id. * Call [Run LookML Test](#!/Project/run_lookml_test) to execute tests. * * GET /projects/{project_id}/lookml_tests -> ILookmlTest[] * * @param project_id Project Id * @param file_id File Id * @param options one-time API call overrides * */ all_lookml_tests( project_id: string, file_id?: string, options?: Partial ): Promise>; /** * ### Run LookML Tests * * Runs all tests in the project, optionally filtered by file, test, and/or model. * * GET /projects/{project_id}/lookml_tests/run -> ILookmlTestResult[] * * @param request composed interface "IRequestRunLookmlTest" for complex method parameters * @param options one-time API call overrides * */ run_lookml_test( request: IRequestRunLookmlTest, options?: Partial ): Promise>; /** * ### Creates a tag for the most recent commit, or a specific ref is a SHA is provided * * POST /projects/{project_id}/tag -> IProject * * @param request composed interface "IRequestTagRef" for complex method parameters * @param options one-time API call overrides * */ tag_ref( request: IRequestTagRef, options?: Partial ): Promise>; /** * ### Configure Repository Credential for a remote dependency * * Admin required. * * `root_project_id` is required. * `credential_id` is required. * * PUT /projects/{root_project_id}/credential/{credential_id} -> IRepositoryCredential * * @param root_project_id Root Project Id * @param credential_id Credential Id * @param body Partial * @param options one-time API call overrides * */ update_repository_credential( root_project_id: string, credential_id: string, body: Partial, options?: Partial ): Promise>; /** * ### Repository Credential for a remote dependency * * Admin required. * * `root_project_id` is required. * `credential_id` is required. * * DELETE /projects/{root_project_id}/credential/{credential_id} -> string * * @param root_project_id Root Project Id * @param credential_id Credential Id * @param options one-time API call overrides * */ delete_repository_credential( root_project_id: string, credential_id: string, options?: Partial ): Promise>; /** * ### Get all Repository Credentials for a project * * `root_project_id` is required. * * GET /projects/{root_project_id}/credentials -> IRepositoryCredential[] * * @param root_project_id Root Project Id * @param options one-time API call overrides * */ get_all_repository_credentials( root_project_id: string, options?: Partial ): Promise>; //#endregion Project: Manage Projects //#region Query: Run and Manage Queries /** * ### Create an async query task * * Creates a query task (job) to run a previously created query asynchronously. Returns a Query Task ID. * * Use [query_task(query_task_id)](#!/Query/query_task) to check the execution status of the query task. * After the query task status reaches "Complete", use [query_task_results(query_task_id)](#!/Query/query_task_results) to fetch the results of the query. * * POST /query_tasks -> IQueryTask * * @param request composed interface "IRequestCreateQueryTask" for complex method parameters * @param options one-time API call overrides * */ create_query_task( request: IRequestCreateQueryTask, options?: Partial ): Promise>; /** * ### Fetch results of multiple async queries * * Returns the results of multiple async queries in one request. * * For Query Tasks that are not completed, the response will include the execution status of the Query Task but will not include query results. * Query Tasks whose results have expired will have a status of 'expired'. * If the user making the API request does not have sufficient privileges to view a Query Task result, the result will have a status of 'missing' * * GET /query_tasks/multi_results -> IDictionary * * @param query_task_ids List of Query Task IDs * @param options one-time API call overrides * */ query_task_multi_results( query_task_ids: DelimArray, options?: Partial ): Promise, IError>>; /** * ### Get Query Task details * * Use this function to check the status of an async query task. After the status * reaches "Complete", you can call [query_task_results(query_task_id)](#!/Query/query_task_results) to * retrieve the results of the query. * * Use [create_query_task()](#!/Query/create_query_task) to create an async query task. * * GET /query_tasks/{query_task_id} -> IQueryTask * * @param query_task_id ID of the Query Task * @param fields Requested fields. * @param options one-time API call overrides * */ query_task( query_task_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Get Async Query Results * * Returns the results of an async query task if the query has completed. * * If the query task is still running or waiting to run, this function returns 202 Accepted. * * If the query task ID is invalid or the cached results of the query task have expired, this function returns 404 Not Found. * * Use [query_task(query_task_id)](#!/Query/query_task) to check the execution status of the query task * Call query_task_results only after the query task status reaches "Complete". * * You can also use [query_task_multi_results()](#!/Query/query_task_multi_results) retrieve the * results of multiple async query tasks at the same time. * * #### SQL Error Handling: * If the query fails due to a SQL db error, how this is communicated depends on the result_format you requested in `create_query_task()`. * * For `json_detail` result_format: `query_task_results()` will respond with HTTP status '200 OK' and db SQL error info * will be in the `errors` property of the response object. The 'data' property will be empty. * * For all other result formats: `query_task_results()` will respond with HTTP status `400 Bad Request` and some db SQL error info * will be in the message of the 400 error response, but not as detailed as expressed in `json_detail.errors`. * These data formats can only carry row data, and error info is not row data. * * GET /query_tasks/{query_task_id}/results -> string * * @param query_task_id ID of the Query Task * @param options one-time API call overrides * */ query_task_results( query_task_id: string, options?: Partial ): Promise>; /** * ### Get a previously created query by id. * * A Looker query object includes the various parameters that define a database query that has been run or * could be run in the future. These parameters include: model, view, fields, filters, pivots, etc. * Query *results* are not part of the query object. * * Query objects are unique and immutable. Query objects are created automatically in Looker as users explore data. * Looker does not delete them; they become part of the query history. When asked to create a query for * any given set of parameters, Looker will first try to find an existing query object with matching * parameters and will only create a new object when an appropriate object can not be found. * * This 'get' method is used to get the details about a query for a given id. See the other methods here * to 'create' and 'run' queries. * * Note that some fields like 'filter_config' and 'vis_config' etc are specific to how the Looker UI * builds queries and visualizations and are not generally useful for API use. They are not required when * creating new queries and can usually just be ignored. * * GET /queries/{query_id} -> IQuery * * @param query_id Id of query * @param fields Requested fields. * @param options one-time API call overrides * */ query( query_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Get the query for a given query slug. * * This returns the query for the 'slug' in a query share URL. * * The 'slug' is a randomly chosen short string that is used as an alternative to the query's id value * for use in URLs etc. This method exists as a convenience to help you use the API to 'find' queries that * have been created using the Looker UI. * * You can use the Looker explore page to build a query and then choose the 'Share' option to * show the share url for the query. Share urls generally look something like 'https://looker.yourcompany/x/vwGSbfc'. * The trailing 'vwGSbfc' is the share slug. You can pass that string to this api method to get details about the query. * Those details include the 'id' that you can use to run the query. Or, you can copy the query body * (perhaps with your own modification) and use that as the basis to make/run new queries. * * This will also work with slugs from Looker explore urls like * 'https://looker.yourcompany/explore/ecommerce/orders?qid=aogBgL6o3cKK1jN3RoZl5s'. In this case * 'aogBgL6o3cKK1jN3RoZl5s' is the slug. * * GET /queries/slug/{slug} -> IQuery * * @param slug Slug of query * @param fields Requested fields. * @param options one-time API call overrides * */ query_for_slug( slug: string, fields?: string, options?: Partial ): Promise>; /** * ### Create a query. * * This allows you to create a new query that you can later run. Looker queries are immutable once created * and are not deleted. If you create a query that is exactly like an existing query then the existing query * will be returned and no new query will be created. Whether a new query is created or not, you can use * the 'id' in the returned query with the 'run' method. * * The query parameters are passed as json in the body of the request. * * POST /queries -> IQuery * * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ create_query( body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Run a saved query. * * This runs a previously saved query. You can use this on a query that was generated in the Looker UI * or one that you have explicitly created using the API. You can also use a query 'id' from a saved 'Look'. * * The 'result_format' parameter specifies the desired structure and format of the response. * * Supported formats: * * | result_format | Description * | :-----------: | :--- | * | json | Plain json * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query. See JsonBi type for schema * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query * | csv | Comma separated values with a header * | txt | Tab separated values with a header * | html | Simple html * | md | Simple markdown * | xlsx | MS Excel spreadsheet * | sql | Returns the generated SQL rather than running the query * | png | A PNG image of the visualization of the query * | jpg | A JPG image of the visualization of the query * * GET /queries/{query_id}/run/{result_format} -> string * * @remarks * **NOTE**: Binary content may be returned by this function. * * @param request composed interface "IRequestRunQuery" for complex method parameters * @param options one-time API call overrides * */ run_query( request: IRequestRunQuery, options?: Partial ): Promise>; /** * ### Run the query that is specified inline in the posted body. * * This allows running a query as defined in json in the posted body. This combines * the two actions of posting & running a query into one step. * * Here is an example body in json: * ``` * { * "model":"thelook", * "view":"inventory_items", * "fields":["category.name","inventory_items.days_in_inventory_tier","products.count"], * "filters":{"category.name":"socks"}, * "sorts":["products.count desc 0"], * "limit":"500", * "query_timezone":"America/Los_Angeles" * } * ``` * * When using the Ruby SDK this would be passed as a Ruby hash like: * ``` * { * :model=>"thelook", * :view=>"inventory_items", * :fields=> * ["category.name", * "inventory_items.days_in_inventory_tier", * "products.count"], * :filters=>{:"category.name"=>"socks"}, * :sorts=>["products.count desc 0"], * :limit=>"500", * :query_timezone=>"America/Los_Angeles", * } * ``` * * This will return the result of running the query in the format specified by the 'result_format' parameter. * * Supported formats: * * | result_format | Description * | :-----------: | :--- | * | json | Plain json * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query. See JsonBi type for schema * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query * | csv | Comma separated values with a header * | txt | Tab separated values with a header * | html | Simple html * | md | Simple markdown * | xlsx | MS Excel spreadsheet * | sql | Returns the generated SQL rather than running the query * | png | A PNG image of the visualization of the query * | jpg | A JPG image of the visualization of the query * * POST /queries/run/{result_format} -> string * * @remarks * **NOTE**: Binary content may be returned by this function. * * @param request composed interface "IRequestRunInlineQuery" for complex method parameters * @param options one-time API call overrides * */ run_inline_query( request: IRequestRunInlineQuery, options?: Partial ): Promise>; /** * ### Run an URL encoded query. * * This requires the caller to encode the specifiers for the query into the URL query part using * Looker-specific syntax as explained below. * * Generally, you would want to use one of the methods that takes the parameters as json in the POST body * for creating and/or running queries. This method exists for cases where one really needs to encode the * parameters into the URL of a single 'GET' request. This matches the way that the Looker UI formats * 'explore' URLs etc. * * The parameters here are very similar to the json body formatting except that the filter syntax is * tricky. Unfortunately, this format makes this method not currently callable via the 'Try it out!' button * in this documentation page. But, this is callable when creating URLs manually or when using the Looker SDK. * * Here is an example inline query URL: * * ``` * https://looker.mycompany.com:19999/api/4.0/queries/models/thelook/views/inventory_items/run/json?fields=category.name,inventory_items.days_in_inventory_tier,products.count&f[category.name]=socks&sorts=products.count+desc+0&limit=500&query_timezone=America/Los_Angeles * ``` * * When invoking this endpoint with the Ruby SDK, pass the query parameter parts as a hash. The hash to match the above would look like: * * ```ruby * query_params = * { * fields: "category.name,inventory_items.days_in_inventory_tier,products.count", * :"f[category.name]" => "socks", * sorts: "products.count desc 0", * limit: "500", * query_timezone: "America/Los_Angeles" * } * response = ruby_sdk.run_url_encoded_query('thelook','inventory_items','json', query_params) * * ``` * * Again, it is generally easier to use the variant of this method that passes the full query in the POST body. * This method is available for cases where other alternatives won't fit the need. * * Supported formats: * * | result_format | Description * | :-----------: | :--- | * | json | Plain json * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query. See JsonBi type for schema * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query * | csv | Comma separated values with a header * | txt | Tab separated values with a header * | html | Simple html * | md | Simple markdown * | xlsx | MS Excel spreadsheet * | sql | Returns the generated SQL rather than running the query * | png | A PNG image of the visualization of the query * | jpg | A JPG image of the visualization of the query * * GET /queries/models/{model_name}/views/{view_name}/run/{result_format} -> string * * @remarks * **NOTE**: Binary content may be returned by this function. * * @param model_name Model name * @param view_name View name * @param result_format Format of result * @param options one-time API call overrides * */ run_url_encoded_query( model_name: string, view_name: string, result_format: string, options?: Partial ): Promise>; /** * ### Get Merge Query * * Returns a merge query object given its id. * * GET /merge_queries/{merge_query_id} -> IMergeQuery * * @param merge_query_id Merge Query Id * @param fields Requested fields * @param options one-time API call overrides * */ merge_query( merge_query_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Create Merge Query * * Creates a new merge query object. * * A merge query takes the results of one or more queries and combines (merges) the results * according to field mapping definitions. The result is similar to a SQL left outer join. * * A merge query can merge results of queries from different SQL databases. * * The order that queries are defined in the source_queries array property is significant. The * first query in the array defines the primary key into which the results of subsequent * queries will be merged. * * Like model/view query objects, merge queries are immutable and have structural identity - if * you make a request to create a new merge query that is identical to an existing merge query, * the existing merge query will be returned instead of creating a duplicate. Conversely, any * change to the contents of a merge query will produce a new object with a new id. * * POST /merge_queries -> IMergeQuery * * @param body Partial * @param fields Requested fields * @param options one-time API call overrides * */ create_merge_query( body?: Partial, fields?: string, options?: Partial ): Promise>; /** * Get information about all running queries. * * GET /running_queries -> IRunningQueries[] * * @param options one-time API call overrides * */ all_running_queries( options?: Partial ): Promise>; /** * Kill a query with a specific query_task_id. * * DELETE /running_queries/{query_task_id} -> string * * @param query_task_id Query task id. * @param options one-time API call overrides * */ kill_query( query_task_id: string, options?: Partial ): Promise>; /** * ### Create a SQL Runner Query * * Either the `connection_name` or `model_name` parameter MUST be provided. * * POST /sql_queries -> ISqlQuery * * @param body Partial * @param options one-time API call overrides * */ create_sql_query( body: Partial, options?: Partial ): Promise>; /** * Get a SQL Runner query. * * GET /sql_queries/{slug} -> ISqlQuery * * @param slug slug of query * @param options one-time API call overrides * */ sql_query( slug: string, options?: Partial ): Promise>; /** * Execute a SQL Runner query in a given result_format. * * POST /sql_queries/{slug}/run/{result_format} -> string * * @param slug slug of query * @param result_format Format of result, options are: ["inline_json", "json", "json_detail", "json_fe", "json_bi", "csv", "html", "md", "txt", "xlsx", "gsxml", "sql", "odc", "json_label"] * @param download Defaults to false. If set to true, the HTTP response will have content-disposition and other headers set to make the HTTP response behave as a downloadable attachment instead of as inline content. * @param options one-time API call overrides * */ run_sql_query( slug: string, result_format: string, download?: string, options?: Partial ): Promise>; //#endregion Query: Run and Manage Queries //#region RenderTask: Manage Render Tasks /** * ### Create a new task to render a look to an image. * * Returns a render task object. * To check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task). * Once the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results). * * POST /render_tasks/looks/{look_id}/{result_format} -> IRenderTask * * @param look_id Id of look to render * @param result_format Output type: png, or jpg * @param width Output width in pixels * @param height Output height in pixels * @param fields Requested fields. * @param options one-time API call overrides * */ create_look_render_task( look_id: string, result_format: string, width: number, height: number, fields?: string, options?: Partial ): Promise>; /** * ### Create a new task to render an existing query to an image. * * Returns a render task object. * To check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task). * Once the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results). * * POST /render_tasks/queries/{query_id}/{result_format} -> IRenderTask * * @param query_id Id of the query to render * @param result_format Output type: png or jpg * @param width Output width in pixels * @param height Output height in pixels * @param fields Requested fields. * @param options one-time API call overrides * */ create_query_render_task( query_id: string, result_format: string, width: number, height: number, fields?: string, options?: Partial ): Promise>; /** * ### Create a new task to render a dashboard to a document or image. * * Returns a render task object. * To check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task). * Once the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results). * * POST /render_tasks/dashboards/{dashboard_id}/{result_format} -> IRenderTask * * @param request composed interface "IRequestCreateDashboardRenderTask" for complex method parameters * @param options one-time API call overrides * */ create_dashboard_render_task( request: IRequestCreateDashboardRenderTask, options?: Partial ): Promise>; /** * ### Get information about a render task. * * Returns a render task object. * To check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task). * Once the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results). * * GET /render_tasks/{render_task_id} -> IRenderTask * * @param render_task_id Id of render task * @param fields Requested fields. * @param options one-time API call overrides * */ render_task( render_task_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Get the document or image produced by a completed render task. * * Note that the PDF or image result will be a binary blob in the HTTP response, as indicated by the * Content-Type in the response headers. This may require specialized (or at least different) handling than text * responses such as JSON. You may need to tell your HTTP client that the response is binary so that it does not * attempt to parse the binary data as text. * * If the render task exists but has not finished rendering the results, the response HTTP status will be * **202 Accepted**, the response body will be empty, and the response will have a Retry-After header indicating * that the caller should repeat the request at a later time. * * Returns 404 if the render task cannot be found, if the cached result has expired, or if the caller * does not have permission to view the results. * * For detailed information about the status of the render task, use [Render Task](#!/RenderTask/render_task). * Polling loops waiting for completion of a render task would be better served by polling **render_task(id)** until * the task status reaches completion (or error) instead of polling **render_task_results(id)** alone. * * GET /render_tasks/{render_task_id}/results -> string * * @remarks * **NOTE**: Binary content is returned by this function. * * @param render_task_id Id of render task * @param options one-time API call overrides * */ render_task_results( render_task_id: string, options?: Partial ): Promise>; /** * ### Create a new task to render a dashboard element to an image. * * Returns a render task object. * To check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task). * Once the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results). * * POST /render_tasks/dashboard_elements/{dashboard_element_id}/{result_format} -> IRenderTask * * @param dashboard_element_id Id of dashboard element to render: UDD dashboard element would be numeric and LookML dashboard element would be model_name::dashboard_title::lookml_link_id * @param result_format Output type: png or jpg * @param width Output width in pixels * @param height Output height in pixels * @param fields Requested fields. * @param options one-time API call overrides * */ create_dashboard_element_render_task( dashboard_element_id: string, result_format: string, width: number, height: number, fields?: string, options?: Partial ): Promise>; //#endregion RenderTask: Manage Render Tasks //#region Report: Report /** * ### Search Reports * * Returns an **array of Report objects** that match the specified search criteria. * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. * Only rows that match *all* search param criteria will be returned. * * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation. * Results will include rows that match **any** of the search criteria. * * String search params use case-insensitive matching. * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions. * example="dan%" will match "danger" and "Danzig" but not "David" * example="D_m%" will match "Damage" and "dump" * * Integer search params can accept a single value or a comma separated list of values. The multiple * values will be combined under a logical OR operation - results will match at least one of * the given values. * * Most search params can accept "IS NULL" and "NOT NULL" as special expressions to match * or exclude (respectively) rows where the column is null. * * Boolean search params accept only "true" and "false" as values. * * GET /reports/search -> IReport[] * * @param request composed interface "IRequestSearchReports" for complex method parameters * @param options one-time API call overrides * */ search_reports( request: IRequestSearchReports, options?: Partial ): Promise>; //#endregion Report: Report //#region Role: Manage Roles /** * ### Search model sets * Returns all model set records that match the given search criteria. * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. * Only rows that match *all* search param criteria will be returned. * * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation. * Results will include rows that match **any** of the search criteria. * * String search params use case-insensitive matching. * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions. * example="dan%" will match "danger" and "Danzig" but not "David" * example="D_m%" will match "Damage" and "dump" * * Integer search params can accept a single value or a comma separated list of values. The multiple * values will be combined under a logical OR operation - results will match at least one of * the given values. * * Most search params can accept "IS NULL" and "NOT NULL" as special expressions to match * or exclude (respectively) rows where the column is null. * * Boolean search params accept only "true" and "false" as values. * * GET /model_sets/search -> IModelSet[] * * @param request composed interface "IRequestSearchModelSets" for complex method parameters * @param options one-time API call overrides * */ search_model_sets( request: IRequestSearchModelSets, options?: Partial ): Promise>; /** * ### Get information about the model set with a specific id. * * GET /model_sets/{model_set_id} -> IModelSet * * @param model_set_id Id of model set * @param fields Requested fields. * @param options one-time API call overrides * */ model_set( model_set_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Update information about the model set with a specific id. * * PATCH /model_sets/{model_set_id} -> IModelSet * * @param model_set_id id of model set * @param body Partial * @param options one-time API call overrides * */ update_model_set( model_set_id: string, body: Partial, options?: Partial ): Promise>; /** * ### Delete the model set with a specific id. * * DELETE /model_sets/{model_set_id} -> string * * @param model_set_id id of model set * @param options one-time API call overrides * */ delete_model_set( model_set_id: string, options?: Partial ): Promise>; /** * ### Get information about all model sets. * * GET /model_sets -> IModelSet[] * * @param fields Requested fields. * @param options one-time API call overrides * */ all_model_sets( fields?: string, options?: Partial ): Promise>; /** * ### Create a model set with the specified information. Model sets are used by Roles. * * POST /model_sets -> IModelSet * * @param body Partial * @param options one-time API call overrides * */ create_model_set( body: Partial, options?: Partial ): Promise>; /** * ### Get all supported permissions. * * GET /permissions -> IPermission[] * * @param options one-time API call overrides * */ all_permissions( options?: Partial ): Promise>; /** * ### Search permission sets * Returns all permission set records that match the given search criteria. * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. * Only rows that match *all* search param criteria will be returned. * * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation. * Results will include rows that match **any** of the search criteria. * * String search params use case-insensitive matching. * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions. * example="dan%" will match "danger" and "Danzig" but not "David" * example="D_m%" will match "Damage" and "dump" * * Integer search params can accept a single value or a comma separated list of values. The multiple * values will be combined under a logical OR operation - results will match at least one of * the given values. * * Most search params can accept "IS NULL" and "NOT NULL" as special expressions to match * or exclude (respectively) rows where the column is null. * * Boolean search params accept only "true" and "false" as values. * * GET /permission_sets/search -> IPermissionSet[] * * @param request composed interface "IRequestSearchPermissionSets" for complex method parameters * @param options one-time API call overrides * */ search_permission_sets( request: IRequestSearchPermissionSets, options?: Partial ): Promise>; /** * ### Get information about the permission set with a specific id. * * GET /permission_sets/{permission_set_id} -> IPermissionSet * * @param permission_set_id Id of permission set * @param fields Requested fields. * @param options one-time API call overrides * */ permission_set( permission_set_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Update information about the permission set with a specific id. * Providing save_content permission alone will also provide you the abilities of save_looks and save_dashboards. * * PATCH /permission_sets/{permission_set_id} -> IPermissionSet * * @param permission_set_id Id of permission set * @param body Partial * @param options one-time API call overrides * */ update_permission_set( permission_set_id: string, body: Partial, options?: Partial ): Promise>; /** * ### Delete the permission set with a specific id. * * DELETE /permission_sets/{permission_set_id} -> string * * @param permission_set_id Id of permission set * @param options one-time API call overrides * */ delete_permission_set( permission_set_id: string, options?: Partial ): Promise>; /** * ### Get information about all permission sets. * * GET /permission_sets -> IPermissionSet[] * * @param fields Requested fields. * @param options one-time API call overrides * */ all_permission_sets( fields?: string, options?: Partial ): Promise>; /** * ### Create a permission set with the specified information. Permission sets are used by Roles. * Providing save_content permission alone will also provide you the abilities of save_looks and save_dashboards. * * POST /permission_sets -> IPermissionSet * * @param body Partial * @param options one-time API call overrides * */ create_permission_set( body: Partial, options?: Partial ): Promise>; /** * ### Get information about all roles. * * GET /roles -> IRole[] * * @param request composed interface "IRequestAllRoles" for complex method parameters * @param options one-time API call overrides * */ all_roles( request: IRequestAllRoles, options?: Partial ): Promise>; /** * ### Create a role with the specified information. * * POST /roles -> IRole * * @param body Partial * @param options one-time API call overrides * */ create_role( body: Partial, options?: Partial ): Promise>; /** * ### Search roles * * Returns all role records that match the given search criteria. * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. * Only rows that match *all* search param criteria will be returned. * * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation. * Results will include rows that match **any** of the search criteria. * * String search params use case-insensitive matching. * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions. * example="dan%" will match "danger" and "Danzig" but not "David" * example="D_m%" will match "Damage" and "dump" * * Integer search params can accept a single value or a comma separated list of values. The multiple * values will be combined under a logical OR operation - results will match at least one of * the given values. * * Most search params can accept "IS NULL" and "NOT NULL" as special expressions to match * or exclude (respectively) rows where the column is null. * * Boolean search params accept only "true" and "false" as values. * * GET /roles/search -> IRole[] * * @param request composed interface "IRequestSearchRoles" for complex method parameters * @param options one-time API call overrides * */ search_roles( request: IRequestSearchRoles, options?: Partial ): Promise>; /** * ### Search roles include user count * * Returns all role records that match the given search criteria, and attaches * associated user counts. * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. * Only rows that match *all* search param criteria will be returned. * * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation. * Results will include rows that match **any** of the search criteria. * * String search params use case-insensitive matching. * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions. * example="dan%" will match "danger" and "Danzig" but not "David" * example="D_m%" will match "Damage" and "dump" * * Integer search params can accept a single value or a comma separated list of values. The multiple * values will be combined under a logical OR operation - results will match at least one of * the given values. * * Most search params can accept "IS NULL" and "NOT NULL" as special expressions to match * or exclude (respectively) rows where the column is null. * * Boolean search params accept only "true" and "false" as values. * * GET /roles/search/with_user_count -> IRoleSearch[] * * @param request composed interface "IRequestSearchRolesWithUserCount" for complex method parameters * @param options one-time API call overrides * */ search_roles_with_user_count( request: IRequestSearchRolesWithUserCount, options?: Partial ): Promise>; /** * ### Get information about the role with a specific id. * * GET /roles/{role_id} -> IRole * * @param role_id id of role * @param options one-time API call overrides * */ role( role_id: string, options?: Partial ): Promise>; /** * ### Update information about the role with a specific id. * * PATCH /roles/{role_id} -> IRole * * @param role_id id of role * @param body Partial * @param options one-time API call overrides * */ update_role( role_id: string, body: Partial, options?: Partial ): Promise>; /** * ### Delete the role with a specific id. * * DELETE /roles/{role_id} -> string * * @param role_id id of role * @param options one-time API call overrides * */ delete_role( role_id: string, options?: Partial ): Promise>; /** * ### Get information about all the groups with the role that has a specific id. * * GET /roles/{role_id}/groups -> IGroup[] * * @param role_id id of role * @param fields Requested fields. * @param options one-time API call overrides * */ role_groups( role_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Set all groups for a role, removing all existing group associations from that role. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * PUT /roles/{role_id}/groups -> IGroup[] * * @param role_id id of role * @param body Partial * @param options one-time API call overrides * */ set_role_groups( role_id: string, body: Partial, options?: Partial ): Promise>; /** * ### Get information about all the users with the role that has a specific id. * * GET /roles/{role_id}/users -> IUser[] * * @param request composed interface "IRequestRoleUsers" for complex method parameters * @param options one-time API call overrides * */ role_users( request: IRequestRoleUsers, options?: Partial ): Promise>; /** * ### Set all the users of the role with a specific id. * * PUT /roles/{role_id}/users -> IUser[] * * @param role_id id of role * @param body Partial * @param options one-time API call overrides * */ set_role_users( role_id: string, body: Partial, options?: Partial ): Promise>; //#endregion Role: Manage Roles //#region ScheduledPlan: Manage Scheduled Plans /** * ### Get Scheduled Plans for a Space * * Returns scheduled plans owned by the caller for a given space id. * * GET /scheduled_plans/space/{space_id} -> IScheduledPlan[] * * @param space_id Space Id * @param fields Requested fields. * @param options one-time API call overrides * */ scheduled_plans_for_space( space_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Get Information About a Scheduled Plan * * Admins can fetch information about other users' Scheduled Plans. * * GET /scheduled_plans/{scheduled_plan_id} -> IScheduledPlan * * @param scheduled_plan_id Scheduled Plan Id * @param fields Requested fields. * @param options one-time API call overrides * */ scheduled_plan( scheduled_plan_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Update a Scheduled Plan * * Admins can update other users' Scheduled Plans. * * Note: Any scheduled plan destinations specified in an update will **replace** all scheduled plan destinations * currently defined for the scheduled plan. * * For Example: If a scheduled plan has destinations A, B, and C, and you call update on this scheduled plan * specifying only B in the destinations, then destinations A and C will be deleted by the update. * * Updating a scheduled plan to assign null or an empty array to the scheduled_plan_destinations property is an error, as a scheduled plan must always have at least one destination. * * If you omit the scheduled_plan_destinations property from the object passed to update, then the destinations * defined on the original scheduled plan will remain unchanged. * * #### Email Permissions: * * For details about permissions required to schedule delivery to email and the safeguards * Looker offers to protect against sending to unauthorized email destinations, see [Email Domain Allow List for Scheduled Looks](https://cloud.google.com/looker/docs/r/api/embed-permissions). * * * #### Scheduled Plan Destination Formats * * Scheduled plan destinations must specify the data format to produce and send to the destination. * * Formats: * * | format | Description * | :-----------: | :--- | * | json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata. * | json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query * | inline_json | Same as the JSON format, except that the `data` property is a string containing JSON-escaped row data. Additional properties describe the data operation. This format is primarily used to send data to web hooks so that the web hook doesn't have to re-encode the JSON row data in order to pass it on to its ultimate destination. * | csv | Comma separated values with a header * | txt | Tab separated values with a header * | html | Simple html * | xlsx | MS Excel spreadsheet * | wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document * | assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document * | wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image * || * * Valid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example. * * PATCH /scheduled_plans/{scheduled_plan_id} -> IScheduledPlan * * @param scheduled_plan_id Scheduled Plan Id * @param body Partial * @param options one-time API call overrides * */ update_scheduled_plan( scheduled_plan_id: string, body: Partial, options?: Partial ): Promise>; /** * ### Delete a Scheduled Plan * * Normal users can only delete their own scheduled plans. * Admins can delete other users' scheduled plans. * This delete cannot be undone. * * DELETE /scheduled_plans/{scheduled_plan_id} -> string * * @param scheduled_plan_id Scheduled Plan Id * @param options one-time API call overrides * */ delete_scheduled_plan( scheduled_plan_id: string, options?: Partial ): Promise>; /** * ### List All Scheduled Plans * * Returns all scheduled plans which belong to the caller or given user. * * If no user_id is provided, this function returns the scheduled plans owned by the caller. * * * To list all schedules for all users, pass `all_users=true`. * * * The caller must have `see_schedules` permission to see other users' scheduled plans. * * GET /scheduled_plans -> IScheduledPlan[] * * @param request composed interface "IRequestAllScheduledPlans" for complex method parameters * @param options one-time API call overrides * */ all_scheduled_plans( request: IRequestAllScheduledPlans, options?: Partial ): Promise>; /** * ### Create a Scheduled Plan * * Create a scheduled plan to render a Look or Dashboard on a recurring schedule. * * To create a scheduled plan, you MUST provide values for the following fields: * `name` * and * `look_id`, `dashboard_id`, `lookml_dashboard_id`, or `query_id` * and * `cron_tab` or `datagroup` * and * at least one scheduled_plan_destination * * A scheduled plan MUST have at least one scheduled_plan_destination defined. * * When `look_id` is set, `require_no_results`, `require_results`, and `require_change` are all required. * * If `create_scheduled_plan` fails with a 422 error, be sure to look at the error messages in the response which will explain exactly what fields are missing or values that are incompatible. * * The queries that provide the data for the look or dashboard are run in the context of user account that owns the scheduled plan. * * When `run_as_recipient` is `false` or not specified, the queries that provide the data for the * look or dashboard are run in the context of user account that owns the scheduled plan. * * When `run_as_recipient` is `true` and all the email recipients are Looker user accounts, the * queries are run in the context of each recipient, so different recipients may see different * data from the same scheduled render of a look or dashboard. For more details, see [Run As Recipient](https://cloud.google.com/looker/docs/r/admin/run-as-recipient). * * Admins can create and modify scheduled plans on behalf of other users by specifying a user id. * Non-admin users may not create or modify scheduled plans by or for other users. * * #### Email Permissions: * * For details about permissions required to schedule delivery to email and the safeguards * Looker offers to protect against sending to unauthorized email destinations, see [Email Domain Allow List for Scheduled Looks](https://cloud.google.com/looker/docs/r/api/embed-permissions). * * * #### Scheduled Plan Destination Formats * * Scheduled plan destinations must specify the data format to produce and send to the destination. * * Formats: * * | format | Description * | :-----------: | :--- | * | json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata. * | json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query * | inline_json | Same as the JSON format, except that the `data` property is a string containing JSON-escaped row data. Additional properties describe the data operation. This format is primarily used to send data to web hooks so that the web hook doesn't have to re-encode the JSON row data in order to pass it on to its ultimate destination. * | csv | Comma separated values with a header * | txt | Tab separated values with a header * | html | Simple html * | xlsx | MS Excel spreadsheet * | wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document * | assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document * | wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image * || * * Valid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example. * * POST /scheduled_plans -> IScheduledPlan * * @param body Partial * @param options one-time API call overrides * */ create_scheduled_plan( body: Partial, options?: Partial ): Promise>; /** * ### Run a Scheduled Plan Immediately * * Create a scheduled plan that runs only once, and immediately. * * This can be useful for testing a Scheduled Plan before committing to a production schedule. * * Admins can create scheduled plans on behalf of other users by specifying a user id. * * This API is rate limited to prevent it from being used for relay spam or DoS attacks * * #### Email Permissions: * * For details about permissions required to schedule delivery to email and the safeguards * Looker offers to protect against sending to unauthorized email destinations, see [Email Domain Allow List for Scheduled Looks](https://cloud.google.com/looker/docs/r/api/embed-permissions). * * * #### Scheduled Plan Destination Formats * * Scheduled plan destinations must specify the data format to produce and send to the destination. * * Formats: * * | format | Description * | :-----------: | :--- | * | json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata. * | json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query * | inline_json | Same as the JSON format, except that the `data` property is a string containing JSON-escaped row data. Additional properties describe the data operation. This format is primarily used to send data to web hooks so that the web hook doesn't have to re-encode the JSON row data in order to pass it on to its ultimate destination. * | csv | Comma separated values with a header * | txt | Tab separated values with a header * | html | Simple html * | xlsx | MS Excel spreadsheet * | wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document * | assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document * | wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image * || * * Valid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example. * * POST /scheduled_plans/run_once -> IScheduledPlan * * @param body Partial * @param options one-time API call overrides * */ scheduled_plan_run_once( body: Partial, options?: Partial ): Promise>; /** * ### Search Scheduled Plans * * Returns all scheduled plans which matches the given search criteria. * * If no user_id is provided, this function returns the scheduled plans owned by the caller. * * * To list all schedules for all users, pass `all_users=true`. * * * The caller must have `see_schedules` permission to see other users' scheduled plans. * * GET /scheduled_plans/search -> IScheduledPlan[] * * @param request composed interface "IRequestSearchScheduledPlans" for complex method parameters * @param options one-time API call overrides * */ search_scheduled_plans( request: IRequestSearchScheduledPlans, options?: Partial ): Promise>; /** * ### Get Scheduled Plans for a Look * * Returns all scheduled plans for a look which belong to the caller or given user. * * If no user_id is provided, this function returns the scheduled plans owned by the caller. * * * To list all schedules for all users, pass `all_users=true`. * * * The caller must have `see_schedules` permission to see other users' scheduled plans. * * GET /scheduled_plans/look/{look_id} -> IScheduledPlan[] * * @param request composed interface "IRequestScheduledPlansForLook" for complex method parameters * @param options one-time API call overrides * */ scheduled_plans_for_look( request: IRequestScheduledPlansForLook, options?: Partial ): Promise>; /** * ### Get Scheduled Plans for a Dashboard * * Returns all scheduled plans for a dashboard which belong to the caller or given user. * * If no user_id is provided, this function returns the scheduled plans owned by the caller. * * * To list all schedules for all users, pass `all_users=true`. * * * The caller must have `see_schedules` permission to see other users' scheduled plans. * * GET /scheduled_plans/dashboard/{dashboard_id} -> IScheduledPlan[] * * @param request composed interface "IRequestScheduledPlansForDashboard" for complex method parameters * @param options one-time API call overrides * */ scheduled_plans_for_dashboard( request: IRequestScheduledPlansForDashboard, options?: Partial ): Promise>; /** * ### Get Scheduled Plans for a LookML Dashboard * * Returns all scheduled plans for a LookML Dashboard which belong to the caller or given user. * * If no user_id is provided, this function returns the scheduled plans owned by the caller. * * * To list all schedules for all users, pass `all_users=true`. * * * The caller must have `see_schedules` permission to see other users' scheduled plans. * * GET /scheduled_plans/lookml_dashboard/{lookml_dashboard_id} -> IScheduledPlan[] * * @param request composed interface "IRequestScheduledPlansForLookmlDashboard" for complex method parameters * @param options one-time API call overrides * */ scheduled_plans_for_lookml_dashboard( request: IRequestScheduledPlansForLookmlDashboard, options?: Partial ): Promise>; /** * ### Run a Scheduled Plan By Id Immediately * This function creates a run-once schedule plan based on an existing scheduled plan, * applies modifications (if any) to the new scheduled plan, and runs the new schedule plan immediately. * This can be useful for testing modifications to an existing scheduled plan before committing to a production schedule. * * This function internally performs the following operations: * * 1. Copies the properties of the existing scheduled plan into a new scheduled plan * 2. Copies any properties passed in the JSON body of this request into the new scheduled plan (replacing the original values) * 3. Creates the new scheduled plan * 4. Runs the new scheduled plan * * The original scheduled plan is not modified by this operation. * Admins can create, modify, and run scheduled plans on behalf of other users by specifying a user id. * Non-admins can only create, modify, and run their own scheduled plans. * * #### Email Permissions: * * For details about permissions required to schedule delivery to email and the safeguards * Looker offers to protect against sending to unauthorized email destinations, see [Email Domain Allow List for Scheduled Looks](https://cloud.google.com/looker/docs/r/api/embed-permissions). * * * #### Scheduled Plan Destination Formats * * Scheduled plan destinations must specify the data format to produce and send to the destination. * * Formats: * * | format | Description * | :-----------: | :--- | * | json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata. * | json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query * | inline_json | Same as the JSON format, except that the `data` property is a string containing JSON-escaped row data. Additional properties describe the data operation. This format is primarily used to send data to web hooks so that the web hook doesn't have to re-encode the JSON row data in order to pass it on to its ultimate destination. * | csv | Comma separated values with a header * | txt | Tab separated values with a header * | html | Simple html * | xlsx | MS Excel spreadsheet * | wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document * | assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document * | wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image * || * * Valid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example. * * * * This API is rate limited to prevent it from being used for relay spam or DoS attacks * * POST /scheduled_plans/{scheduled_plan_id}/run_once -> IScheduledPlan * * @param scheduled_plan_id Id of schedule plan to copy and run * @param body Partial * @param options one-time API call overrides * */ scheduled_plan_run_once_by_id( scheduled_plan_id: string, body?: Partial, options?: Partial ): Promise>; //#endregion ScheduledPlan: Manage Scheduled Plans //#region Session: Session Information /** * ### Get API Session * * Returns information about the current API session, such as which workspace is selected for the session. * * GET /session -> IApiSession * * @param options one-time API call overrides * */ session( options?: Partial ): Promise>; /** * ### Update API Session * * #### API Session Workspace * * You can use this endpoint to change the active workspace for the current API session. * * Only one workspace can be active in a session. The active workspace can be changed * any number of times in a session. * * The default workspace for API sessions is the "production" workspace. * * All Looker APIs that use projects or lookml models (such as running queries) will * use the version of project and model files defined by this workspace for the lifetime of the * current API session or until the session workspace is changed again. * * An API session has the same lifetime as the access_token used to authenticate API requests. Each successful * API login generates a new access_token and a new API session. * * If your Looker API client application needs to work in a dev workspace across multiple * API sessions, be sure to select the dev workspace after each login. * * PATCH /session -> IApiSession * * @param body Partial * @param options one-time API call overrides * */ update_session( body: Partial, options?: Partial ): Promise>; //#endregion Session: Session Information //#region SqlInterfaceQuery: Run and Manage SQL Interface Queries /** * ### Handles Avatica RPC metadata requests for SQL Interface queries * * GET /sql_interface_queries/metadata -> ISqlInterfaceQueryMetadata * * @param avatica_request Avatica RPC request * @param options one-time API call overrides * */ sql_interface_metadata( avatica_request?: string, options?: Partial ): Promise>; /** * ### Run a saved SQL interface query. * * This runs a previously created SQL interface query. * * The 'result_format' parameter specifies the desired structure and format of the response. * * Supported formats: * * | result_format | Description * | :-----------: | :--- | * | json_bi | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query * * GET /sql_interface_queries/{query_id}/run/{result_format} -> IJsonBi * * @param query_id Integer id of query * @param result_format Format of result, options are: ["json_bi"] * @param options one-time API call overrides * */ run_sql_interface_query( query_id: number, result_format: string, options?: Partial ): Promise>; /** * ### Create a SQL interface query. * * This allows you to create a new SQL interface query that you can later run. Looker queries are immutable once created * and are not deleted. If you create a query that is exactly like an existing query then the existing query * will be returned and no new query will be created. Whether a new query is created or not, you can use * the 'id' in the returned query with the 'run' method. * * The query parameters are passed as json in the body of the request. * * POST /sql_interface_queries -> ISqlInterfaceQuery * * @param body Partial * @param options one-time API call overrides * */ create_sql_interface_query( body: Partial, options?: Partial ): Promise>; //#endregion SqlInterfaceQuery: Run and Manage SQL Interface Queries //#region Theme: Manage Themes /** * ### Get an array of all existing themes * * Get a **single theme** by id with [Theme](#!/Theme/theme) * * This method returns an array of all existing themes. The active time for the theme is not considered. * * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes -> ITheme[] * * @param fields Requested fields. * @param options one-time API call overrides * */ all_themes( fields?: string, options?: Partial ): Promise>; /** * ### Create a theme * * Creates a new theme object, returning the theme details, including the created id. * * If `settings` are not specified, the default theme settings will be copied into the new theme. * * The theme `name` can only contain alphanumeric characters or underscores. Theme names should not contain any confidential information, such as customer names. * * **Update** an existing theme with [Update Theme](#!/Theme/update_theme) * * **Permanently delete** an existing theme with [Delete Theme](#!/Theme/delete_theme) * * For more information, see [Creating and Applying Themes](https://cloud.google.com/looker/docs/r/admin/themes). * * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * POST /themes -> ITheme * * @param body Partial * @param options one-time API call overrides * */ create_theme( body: Partial, options?: Partial ): Promise>; /** * ### Search all themes for matching criteria. * * Returns an **array of theme objects** that match the specified search criteria. * * | Search Parameters | Description * | :-------------------: | :------ | * | `begin_at` only | Find themes active at or after `begin_at` * | `end_at` only | Find themes active at or before `end_at` * | both set | Find themes with an active inclusive period between `begin_at` and `end_at` * * Note: Range matching requires boolean AND logic. * When using `begin_at` and `end_at` together, do not use `filter_or`=TRUE * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. * Only rows that match *all* search param criteria will be returned. * * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation. * Results will include rows that match **any** of the search criteria. * * String search params use case-insensitive matching. * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions. * example="dan%" will match "danger" and "Danzig" but not "David" * example="D_m%" will match "Damage" and "dump" * * Integer search params can accept a single value or a comma separated list of values. The multiple * values will be combined under a logical OR operation - results will match at least one of * the given values. * * Most search params can accept "IS NULL" and "NOT NULL" as special expressions to match * or exclude (respectively) rows where the column is null. * * Boolean search params accept only "true" and "false" as values. * * * Get a **single theme** by id with [Theme](#!/Theme/theme) * * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/search -> ITheme[] * * @param request composed interface "IRequestSearchThemes" for complex method parameters * @param options one-time API call overrides * */ search_themes( request: IRequestSearchThemes, options?: Partial ): Promise>; /** * ### Get the default theme * * Returns the active theme object set as the default. * * The **default** theme name can be set in the UI on the Admin|Theme UI page * * The optional `ts` parameter can specify a different timestamp than "now." If specified, it returns the default theme at the time indicated. * * GET /themes/default -> ITheme * * @param ts Timestamp representing the target datetime for the active period. Defaults to 'now' * @param options one-time API call overrides * */ default_theme( ts?: Date, options?: Partial ): Promise>; /** * ### Set the global default theme by theme name * * Only Admin users can call this function. * * Only an active theme with no expiration (`end_at` not set) can be assigned as the default theme. As long as a theme has an active record with no expiration, it can be set as the default. * * [Create Theme](#!/Theme/create) has detailed information on rules for default and active themes * * Returns the new specified default theme object. * * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * PUT /themes/default -> ITheme * * @param name Name of theme to set as default * @param options one-time API call overrides * */ set_default_theme( name: string, options?: Partial ): Promise>; /** * ### Get active themes * * Returns an array of active themes. * * If the `name` parameter is specified, it will return an array with one theme if it's active and found. * * The optional `ts` parameter can specify a different timestamp than "now." * * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/active -> ITheme[] * * @param request composed interface "IRequestActiveThemes" for complex method parameters * @param options one-time API call overrides * */ active_themes( request: IRequestActiveThemes, options?: Partial ): Promise>; /** * ### Get the named theme if it's active. Otherwise, return the default theme * * The optional `ts` parameter can specify a different timestamp than "now." * Note: API users with `show` ability can call this function * * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/theme_or_default -> ITheme * * @param name Name of theme * @param ts Timestamp representing the target datetime for the active period. Defaults to 'now' * @param options one-time API call overrides * */ theme_or_default( name: string, ts?: Date, options?: Partial ): Promise>; /** * ### Validate a theme with the specified information * * Validates all values set for the theme, returning any errors encountered, or 200 OK if valid * * See [Create Theme](#!/Theme/create_theme) for constraints * * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * POST /themes/validate -> IValidationError * * @param body Partial * @param options one-time API call overrides * */ validate_theme( body: Partial, options?: Partial ): Promise>; /** * ### Get a theme by ID * * Use this to retrieve a specific theme, whether or not it's currently active. * * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/{theme_id} -> ITheme * * @param theme_id Id of theme * @param fields Requested fields. * @param options one-time API call overrides * */ theme( theme_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Update the theme by id. * * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * PATCH /themes/{theme_id} -> ITheme * * @param theme_id Id of theme * @param body Partial * @param options one-time API call overrides * */ update_theme( theme_id: string, body: Partial, options?: Partial ): Promise>; /** * ### Delete a specific theme by id * * This operation permanently deletes the identified theme from the database. * * Because multiple themes can have the same name (with different activation time spans) themes can only be deleted by ID. * * All IDs associated with a theme name can be retrieved by searching for the theme name with [Theme Search](#!/Theme/search). * * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * DELETE /themes/{theme_id} -> string * * @param theme_id Id of theme * @param options one-time API call overrides * */ delete_theme( theme_id: string, options?: Partial ): Promise>; //#endregion Theme: Manage Themes //#region User: Manage Users /** * ### Search email credentials * * Returns all credentials_email records that match the given search criteria. * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. * Only rows that match *all* search param criteria will be returned. * * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation. * Results will include rows that match **any** of the search criteria. * * String search params use case-insensitive matching. * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions. * example="dan%" will match "danger" and "Danzig" but not "David" * example="D_m%" will match "Damage" and "dump" * * Integer search params can accept a single value or a comma separated list of values. The multiple * values will be combined under a logical OR operation - results will match at least one of * the given values. * * Most search params can accept "IS NULL" and "NOT NULL" as special expressions to match * or exclude (respectively) rows where the column is null. * * Boolean search params accept only "true" and "false" as values. * * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * GET /credentials_email/search -> ICredentialsEmailSearch[] * * @param request composed interface "IRequestSearchCredentialsEmail" for complex method parameters * @param options one-time API call overrides * */ search_credentials_email( request: IRequestSearchCredentialsEmail, options?: Partial ): Promise>; /** * ### Get information about the current user; i.e. the user account currently calling the API. * * GET /user -> IUser * * @param fields Requested fields. * @param options one-time API call overrides * */ me( fields?: string, options?: Partial ): Promise>; /** * ### Get information about all users. * * GET /users -> IUser[] * * @param request composed interface "IRequestAllUsers" for complex method parameters * @param options one-time API call overrides * */ all_users( request: IRequestAllUsers, options?: Partial ): Promise>; /** * ### Create a user with the specified information. * * POST /users -> IUser * * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ create_user( body?: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Search users * * Returns all* user records that match the given search criteria. * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. * Only rows that match *all* search param criteria will be returned. * * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation. * Results will include rows that match **any** of the search criteria. * * String search params use case-insensitive matching. * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions. * example="dan%" will match "danger" and "Danzig" but not "David" * example="D_m%" will match "Damage" and "dump" * * Integer search params can accept a single value or a comma separated list of values. The multiple * values will be combined under a logical OR operation - results will match at least one of * the given values. * * Most search params can accept "IS NULL" and "NOT NULL" as special expressions to match * or exclude (respectively) rows where the column is null. * * Boolean search params accept only "true" and "false" as values. * * * (*) Results are always filtered to the level of information the caller is permitted to view. * Looker admins can see all user details; normal users in an open system can see * names of other users but no details; normal users in a closed system can only see * names of other users who are members of the same group as the user. * * GET /users/search -> IUser[] * * @param request composed interface "IRequestSearchUsers" for complex method parameters * @param options one-time API call overrides * */ search_users( request: IRequestSearchUsers, options?: Partial ): Promise>; /** * ### Search for user accounts by name * * Returns all user accounts where `first_name` OR `last_name` OR `email` field values match a pattern. * The pattern can contain `%` and `_` wildcards as in SQL LIKE expressions. * * Any additional search params will be combined into a logical AND expression. * * GET /users/search/names/{pattern} -> IUser[] * * @param request composed interface "IRequestSearchUsersNames" for complex method parameters * @param options one-time API call overrides * */ search_users_names( request: IRequestSearchUsersNames, options?: Partial ): Promise>; /** * ### Get information about the user with a specific id. * * If the caller is an admin or the caller is the user being specified, then full user information will * be returned. Otherwise, a minimal 'public' variant of the user information will be returned. This contains * The user name and avatar url, but no sensitive information. * * GET /users/{user_id} -> IUser * * @param user_id Id of user * @param fields Requested fields. * @param options one-time API call overrides * */ user( user_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Update information about the user with a specific id. * * PATCH /users/{user_id} -> IUser * * @param user_id Id of user * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ update_user( user_id: string, body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Delete the user with a specific id. * * **DANGER** this will delete the user and all looks and other information owned by the user. * * DELETE /users/{user_id} -> string * * @param user_id Id of user * @param options one-time API call overrides * */ delete_user( user_id: string, options?: Partial ): Promise>; /** * ### Get information about the user with a credential of given type with specific id. * * This is used to do things like find users by their embed external_user_id. Or, find the user with * a given api3 client_id, etc. The 'credential_type' matches the 'type' name of the various credential * types. It must be one of the values listed in the table below. The 'credential_id' is your unique Id * for the user and is specific to each type of credential. * * An example using the Ruby sdk might look like: * * `sdk.user_for_credential('embed', 'customer-4959425')` * * This table shows the supported 'Credential Type' strings. The right column is for reference; it shows * which field in the given credential type is actually searched when finding a user with the supplied * 'credential_id'. * * | Credential Types | Id Field Matched | * | ---------------- | ---------------- | * | email | email | * | google | google_user_id | * | saml | saml_user_id | * | oidc | oidc_user_id | * | ldap | ldap_id | * | api | token | * | api3 | client_id | * | embed | external_user_id | * | looker_openid | email | * * **NOTE**: The 'api' credential type was only used with the legacy Looker query API and is no longer supported. The credential type for API you are currently looking at is 'api3'. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * GET /users/credential/{credential_type}/{credential_id} -> IUser * * @param credential_type Type name of credential * @param credential_id Id of credential * @param fields Requested fields. * @param options one-time API call overrides * */ user_for_credential( credential_type: string, credential_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Email/password login information for the specified user. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * GET /users/{user_id}/credentials_email -> ICredentialsEmail * * @param user_id Id of user * @param fields Requested fields. * @param options one-time API call overrides * */ user_credentials_email( user_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Email/password login information for the specified user. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * POST /users/{user_id}/credentials_email -> ICredentialsEmail * * @param user_id Id of user * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ create_user_credentials_email( user_id: string, body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Email/password login information for the specified user. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * PATCH /users/{user_id}/credentials_email -> ICredentialsEmail * * @param user_id Id of user * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ update_user_credentials_email( user_id: string, body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Email/password login information for the specified user. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * DELETE /users/{user_id}/credentials_email -> string * * @param user_id Id of user * @param options one-time API call overrides * */ delete_user_credentials_email( user_id: string, options?: Partial ): Promise>; /** * ### Two-factor login information for the specified user. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * GET /users/{user_id}/credentials_totp -> ICredentialsTotp * * @param user_id Id of user * @param fields Requested fields. * @param options one-time API call overrides * */ user_credentials_totp( user_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Two-factor login information for the specified user. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * POST /users/{user_id}/credentials_totp -> ICredentialsTotp * * @param user_id Id of user * @param body WARNING: no writeable properties found for POST, PUT, or PATCH * @param fields Requested fields. * @param options one-time API call overrides * */ create_user_credentials_totp( user_id: string, body?: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Two-factor login information for the specified user. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * DELETE /users/{user_id}/credentials_totp -> string * * @param user_id Id of user * @param options one-time API call overrides * */ delete_user_credentials_totp( user_id: string, options?: Partial ): Promise>; /** * ### LDAP login information for the specified user. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * GET /users/{user_id}/credentials_ldap -> ICredentialsLDAP * * @param user_id Id of user * @param fields Requested fields. * @param options one-time API call overrides * */ user_credentials_ldap( user_id: string, fields?: string, options?: Partial ): Promise>; /** * ### LDAP login information for the specified user. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * DELETE /users/{user_id}/credentials_ldap -> string * * @param user_id Id of user * @param options one-time API call overrides * */ delete_user_credentials_ldap( user_id: string, options?: Partial ): Promise>; /** * ### Google authentication login information for the specified user. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * GET /users/{user_id}/credentials_google -> ICredentialsGoogle * * @param user_id Id of user * @param fields Requested fields. * @param options one-time API call overrides * */ user_credentials_google( user_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Google authentication login information for the specified user. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * DELETE /users/{user_id}/credentials_google -> string * * @param user_id Id of user * @param options one-time API call overrides * */ delete_user_credentials_google( user_id: string, options?: Partial ): Promise>; /** * ### Saml authentication login information for the specified user. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * GET /users/{user_id}/credentials_saml -> ICredentialsSaml * * @param user_id Id of user * @param fields Requested fields. * @param options one-time API call overrides * */ user_credentials_saml( user_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Saml authentication login information for the specified user. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * DELETE /users/{user_id}/credentials_saml -> string * * @param user_id Id of user * @param options one-time API call overrides * */ delete_user_credentials_saml( user_id: string, options?: Partial ): Promise>; /** * ### OpenID Connect (OIDC) authentication login information for the specified user. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * GET /users/{user_id}/credentials_oidc -> ICredentialsOIDC * * @param user_id Id of user * @param fields Requested fields. * @param options one-time API call overrides * */ user_credentials_oidc( user_id: string, fields?: string, options?: Partial ): Promise>; /** * ### OpenID Connect (OIDC) authentication login information for the specified user. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * DELETE /users/{user_id}/credentials_oidc -> string * * @param user_id Id of user * @param options one-time API call overrides * */ delete_user_credentials_oidc( user_id: string, options?: Partial ): Promise>; /** * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * GET /users/{user_id}/credentials_api3/{credentials_api3_id} -> ICredentialsApi3 * * @param user_id Id of user * @param credentials_api3_id Id of API Credential * @param fields Requested fields. * @param options one-time API call overrides * */ user_credentials_api3( user_id: string, credentials_api3_id: string, fields?: string, options?: Partial ): Promise>; /** * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * DELETE /users/{user_id}/credentials_api3/{credentials_api3_id} -> string * * @param user_id Id of user * @param credentials_api3_id Id of API Credential * @param options one-time API call overrides * */ delete_user_credentials_api3( user_id: string, credentials_api3_id: string, options?: Partial ): Promise>; /** * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * GET /users/{user_id}/credentials_api3 -> ICredentialsApi3[] * * @param user_id Id of user * @param fields Requested fields. * @param options one-time API call overrides * */ all_user_credentials_api3s( user_id: string, fields?: string, options?: Partial ): Promise>; /** * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * POST /users/{user_id}/credentials_api3 -> ICreateCredentialsApi3 * * @param user_id Id of user * @param fields Requested fields. * @param options one-time API call overrides * */ create_user_credentials_api3( user_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Embed login information for the specified user. * * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * GET /users/{user_id}/credentials_embed/{credentials_embed_id} -> ICredentialsEmbed * * @param user_id Id of user * @param credentials_embed_id Id of Embedding Credential * @param fields Requested fields. * @param options one-time API call overrides * */ user_credentials_embed( user_id: string, credentials_embed_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Embed login information for the specified user. * * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * DELETE /users/{user_id}/credentials_embed/{credentials_embed_id} -> string * * @param user_id Id of user * @param credentials_embed_id Id of Embedding Credential * @param options one-time API call overrides * */ delete_user_credentials_embed( user_id: string, credentials_embed_id: string, options?: Partial ): Promise>; /** * ### Embed login information for the specified user. * * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * GET /users/{user_id}/credentials_embed -> ICredentialsEmbed[] * * @param user_id Id of user * @param fields Requested fields. * @param options one-time API call overrides * */ all_user_credentials_embeds( user_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Looker Openid login information for the specified user. Used by Looker Analysts. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * GET /users/{user_id}/credentials_looker_openid -> ICredentialsLookerOpenid * * @param user_id Id of user * @param fields Requested fields. * @param options one-time API call overrides * */ user_credentials_looker_openid( user_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Looker Openid login information for the specified user. Used by Looker Analysts. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * DELETE /users/{user_id}/credentials_looker_openid -> string * * @param user_id Id of user * @param options one-time API call overrides * */ delete_user_credentials_looker_openid( user_id: string, options?: Partial ): Promise>; /** * ### Web login session for the specified user. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * GET /users/{user_id}/sessions/{session_id} -> ISession * * @param user_id Id of user * @param session_id Id of Web Login Session * @param fields Requested fields. * @param options one-time API call overrides * */ user_session( user_id: string, session_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Web login session for the specified user. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * DELETE /users/{user_id}/sessions/{session_id} -> string * * @param user_id Id of user * @param session_id Id of Web Login Session * @param options one-time API call overrides * */ delete_user_session( user_id: string, session_id: string, options?: Partial ): Promise>; /** * ### Web login session for the specified user. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * GET /users/{user_id}/sessions -> ISession[] * * @param user_id Id of user * @param fields Requested fields. * @param options one-time API call overrides * */ all_user_sessions( user_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Create a password reset token. * This will create a cryptographically secure random password reset token for the user. * If the user already has a password reset token then this invalidates the old token and creates a new one. * The token is expressed as the 'password_reset_url' of the user's email/password credential object. * This takes an optional 'expires' param to indicate if the new token should be an expiring token. * Tokens that expire are typically used for self-service password resets for existing users. * Invitation emails for new users typically are not set to expire. * The expire period is always 60 minutes when expires is enabled. * This method can be called with an empty body. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * POST /users/{user_id}/credentials_email/password_reset -> ICredentialsEmail * * @param request composed interface "IRequestCreateUserCredentialsEmailPasswordReset" for complex method parameters * @param options one-time API call overrides * */ create_user_credentials_email_password_reset( request: IRequestCreateUserCredentialsEmailPasswordReset, options?: Partial ): Promise>; /** * ### Get information about roles of a given user * * GET /users/{user_id}/roles -> IRole[] * * @param request composed interface "IRequestUserRoles" for complex method parameters * @param options one-time API call overrides * */ user_roles( request: IRequestUserRoles, options?: Partial ): Promise>; /** * ### Set roles of the user with a specific id. * * PUT /users/{user_id}/roles -> IRole[] * * @param user_id Id of user * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ set_user_roles( user_id: string, body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Get user attribute values for a given user. * * Returns the values of specified user attributes (or all user attributes) for a certain user. * * A value for each user attribute is searched for in the following locations, in this order: * * 1. in the user's account information * 1. in groups that the user is a member of * 1. the default value of the user attribute * * If more than one group has a value defined for a user attribute, the group with the lowest rank wins. * * The response will only include user attributes for which values were found. Use `include_unset=true` to include * empty records for user attributes with no value. * * The value of all hidden user attributes will be blank. * * GET /users/{user_id}/attribute_values -> IUserAttributeWithValue[] * * @param request composed interface "IRequestUserAttributeUserValues" for complex method parameters * @param options one-time API call overrides * */ user_attribute_user_values( request: IRequestUserAttributeUserValues, options?: Partial ): Promise>; /** * ### Store a custom value for a user attribute in a user's account settings. * * Per-user user attribute values take precedence over group or default values. * * PATCH /users/{user_id}/attribute_values/{user_attribute_id} -> IUserAttributeWithValue * * @param user_id Id of user * @param user_attribute_id Id of user attribute * @param body Partial * @param options one-time API call overrides * */ set_user_attribute_user_value( user_id: string, user_attribute_id: string, body: Partial, options?: Partial ): Promise>; /** * ### Delete a user attribute value from a user's account settings. * * After the user attribute value is deleted from the user's account settings, subsequent requests * for the user attribute value for this user will draw from the user's groups or the default * value of the user attribute. See [Get User Attribute Values](#!/User/user_attribute_user_values) for more * information about how user attribute values are resolved. * * DELETE /users/{user_id}/attribute_values/{user_attribute_id} -> void * * @param user_id Id of user * @param user_attribute_id Id of user attribute * @param options one-time API call overrides * */ delete_user_attribute_user_value( user_id: string, user_attribute_id: string, options?: Partial ): Promise>; /** * ### Send a password reset token. * This will send a password reset email to the user. If a password reset token does not already exist * for this user, it will create one and then send it. * If the user has not yet set up their account, it will send a setup email to the user. * The URL sent in the email is expressed as the 'password_reset_url' of the user's email/password credential object. * Password reset URLs will expire in 60 minutes. * This method can be called with an empty body. * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * POST /users/{user_id}/credentials_email/send_password_reset -> ICredentialsEmail * * @param user_id Id of user * @param fields Requested fields. * @param options one-time API call overrides * */ send_user_credentials_email_password_reset( user_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Change a disabled user's email addresses * * Allows the admin to change the email addresses for all the user's * associated credentials. Will overwrite all associated email addresses with * the value supplied in the 'email' body param. * The user's 'is_disabled' status must be true. * If the user has a credential email, they will receive a verification email and the user will be disabled until they verify the email * * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). * * POST /users/{user_id}/update_emails -> IUser * * @param user_id Id of user * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ wipeout_user_emails( user_id: string, body: Partial, fields?: string, options?: Partial ): Promise>; /** * Create an embed user from an external user ID * * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /users/embed_user -> IUserPublic * * @param body Partial * @param options one-time API call overrides * */ create_embed_user( body: Partial, options?: Partial ): Promise>; //#endregion User: Manage Users //#region UserAttribute: Manage User Attributes /** * ### Get information about all user attributes. * * GET /user_attributes -> IUserAttribute[] * * @param request composed interface "IRequestAllUserAttributes" for complex method parameters * @param options one-time API call overrides * */ all_user_attributes( request: IRequestAllUserAttributes, options?: Partial ): Promise>; /** * ### Create a new user attribute * * Permission information for a user attribute is conveyed through the `can` and `user_can_edit` fields. * The `user_can_edit` field indicates whether an attribute is user-editable _anywhere_ in the application. * The `can` field gives more granular access information, with the `set_value` child field indicating whether * an attribute's value can be set by [Setting the User Attribute User Value](#!/User/set_user_attribute_user_value). * * Note: `name` and `label` fields must be unique across all user attributes in the Looker instance. * Attempting to create a new user attribute with a name or label that duplicates an existing * user attribute will fail with a 422 error. * * POST /user_attributes -> IUserAttribute * * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ create_user_attribute( body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Get information about a user attribute. * * GET /user_attributes/{user_attribute_id} -> IUserAttribute * * @param user_attribute_id Id of user attribute * @param fields Requested fields. * @param options one-time API call overrides * */ user_attribute( user_attribute_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Update a user attribute definition. * * PATCH /user_attributes/{user_attribute_id} -> IUserAttribute * * @param user_attribute_id Id of user attribute * @param body Partial * @param fields Requested fields. * @param options one-time API call overrides * */ update_user_attribute( user_attribute_id: string, body: Partial, fields?: string, options?: Partial ): Promise>; /** * ### Delete a user attribute (admin only). * * DELETE /user_attributes/{user_attribute_id} -> string * * @param user_attribute_id Id of user attribute * @param options one-time API call overrides * */ delete_user_attribute( user_attribute_id: string, options?: Partial ): Promise>; /** * ### Returns all values of a user attribute defined by user groups, in precedence order. * * A user may be a member of multiple groups which define different values for a given user attribute. * The order of group-values in the response determines precedence for selecting which group-value applies * to a given user. For more information, see [Set User Attribute Group Values](#!/UserAttribute/set_user_attribute_group_values). * * Results will only include groups that the caller's user account has permission to see. * * GET /user_attributes/{user_attribute_id}/group_values -> IUserAttributeGroupValue[] * * @param user_attribute_id Id of user attribute * @param fields Requested fields. * @param options one-time API call overrides * */ all_user_attribute_group_values( user_attribute_id: string, fields?: string, options?: Partial ): Promise>; /** * ### Define values for a user attribute across a set of groups, in priority order. * * This function defines all values for a user attribute defined by user groups. This is a global setting, potentially affecting * all users in the system. This function replaces any existing group value definitions for the indicated user attribute. * * The value of a user attribute for a given user is determined by searching the following locations, in this order: * * 1. the user's account settings * 2. the groups that the user is a member of * 3. the default value of the user attribute, if any * * The user may be a member of multiple groups which define different values for that user attribute. The order of items in the group_values parameter * determines which group takes priority for that user. Lowest array index wins. * * An alternate method to indicate the selection precedence of group-values is to assign numbers to the 'rank' property of each * group-value object in the array. Lowest 'rank' value wins. If you use this technique, you must assign a * rank value to every group-value object in the array. * * To set a user attribute value for a single user, see [Set User Attribute User Value](#!/User/set_user_attribute_user_value). * To set a user attribute value for all members of a group, see [Set User Attribute Group Value](#!/Group/update_user_attribute_group_value). * * POST /user_attributes/{user_attribute_id}/group_values -> IUserAttributeGroupValue[] * * @param user_attribute_id Id of user attribute * @param body Partial * @param options one-time API call overrides * */ set_user_attribute_group_values( user_attribute_id: string, body: Partial, options?: Partial ): Promise< SDKResponse >; //#endregion UserAttribute: Manage User Attributes //#region Workspace: Manage Workspaces /** * ### Get All Workspaces * * Returns all workspaces available to the calling user. * * GET /workspaces -> IWorkspace[] * * @param options one-time API call overrides * */ all_workspaces( options?: Partial ): Promise>; /** * ### Get A Workspace * * Returns information about a workspace such as the git status and selected branches * of all projects available to the caller's user account. * * A workspace defines which versions of project files will be used to evaluate expressions * and operations that use model definitions - operations such as running queries or rendering dashboards. * Each project has its own git repository, and each project in a workspace may be configured to reference * particular branch or revision within their respective repositories. * * There are two predefined workspaces available: "production" and "dev". * * The production workspace is shared across all Looker users. Models in the production workspace are read-only. * Changing files in production is accomplished by modifying files in a git branch and using Pull Requests * to merge the changes from the dev branch into the production branch, and then telling * Looker to sync with production. * * The dev workspace is local to each Looker user. Changes made to project/model files in the dev workspace only affect * that user, and only when the dev workspace is selected as the active workspace for the API session. * (See set_session_workspace()). * * The dev workspace is NOT unique to an API session. Two applications accessing the Looker API using * the same user account will see the same files in the dev workspace. To avoid collisions between * API clients it's best to have each client login with API credentials for a different user account. * * Changes made to files in a dev workspace are persistent across API sessions. It's a good * idea to commit any changes you've made to the git repository, but not strictly required. Your modified files * reside in a special user-specific directory on the Looker server and will still be there when you login in again * later and use update_session(workspace_id: "dev") to select the dev workspace for the new API session. * * GET /workspaces/{workspace_id} -> IWorkspace * * @param workspace_id Id of the workspace * @param options one-time API call overrides * */ workspace( workspace_id: string, options?: Partial ): Promise>; //#endregion Workspace: Manage Workspaces }