diff --git a/packages/sdk-codegen-scripts/README.md b/packages/sdk-codegen-scripts/README.md index 4f3c6ea6b..bc4292962 100644 --- a/packages/sdk-codegen-scripts/README.md +++ b/packages/sdk-codegen-scripts/README.md @@ -9,7 +9,7 @@ It has node dependencies, so it cannot be used in the browser. ## Scripts +* [sdkGen.ts](src/sdkGen.ts) is the script for the Looker SDK code generator. Run `yarn gen -h` to see generation options. * [legacy.ts](src/legacy.ts) for the OpenAPI legacy code generator -* [sdkGen.ts](src/sdkGen.ts) is the entry point for the Looker SDK code generator * [specConvert.ts](src/specConvert.ts) converts a swagger (OpenAPI 2.x) file to OpenAPI 3.x * [yamlToJson.ts](src/yamlToJson.ts) converts a `YAML` file to a pretty-printed `JSON` file diff --git a/packages/sdk-codegen-scripts/src/sdkGen.ts b/packages/sdk-codegen-scripts/src/sdkGen.ts index a1dc8c217..cd1aa76ae 100644 --- a/packages/sdk-codegen-scripts/src/sdkGen.ts +++ b/packages/sdk-codegen-scripts/src/sdkGen.ts @@ -86,6 +86,7 @@ export const writeCodeFile = (fileName: string, content: string): string => { continue } log(`generating ${language} from ${props.base_url} ${api} ...`) + log(`generating ${api} methods ...`) // Generate standard method declarations const sdk = new MethodGenerator(apiModel, gen) @@ -94,11 +95,13 @@ export const writeCodeFile = (fileName: string, content: string): string => { if (gen.willItStream) { // Generate streaming method declarations + log(`generating ${api} streaming methods ...`) const s = new StreamGenerator(apiModel, gen) const output = s.render(gen.indentStr) writeCodeFile(gen.sdkFileName(`streams`), output) } + log(`generating ${api} models ...`) const types = new TypeGenerator(apiModel, gen) output = types.render('') writeCodeFile(gen.sdkFileName(`models`), output) diff --git a/packages/sdk-codegen-scripts/src/sdkGenerator.ts b/packages/sdk-codegen-scripts/src/sdkGenerator.ts index a51a0c1c2..eb78116e4 100644 --- a/packages/sdk-codegen-scripts/src/sdkGenerator.ts +++ b/packages/sdk-codegen-scripts/src/sdkGenerator.ts @@ -112,6 +112,7 @@ export class MethodGenerator extends Generator { } render(indent: string) { + this.codeFormatter.reset() const items: string[] = [] // reset refcounts for ALL types so dynamic import statement will work Object.values(this.model.types).forEach((type) => (type.refCount = 0)) @@ -171,6 +172,7 @@ export class StreamGenerator extends MethodGenerator { export class TypeGenerator extends Generator { render(indent: string) { + this.codeFormatter.reset() const items: string[] = [] Object.values(this.model.types).forEach((type) => { if (!(type instanceof Models.IntrinsicType)) { diff --git a/packages/sdk-codegen/src/codeGen.ts b/packages/sdk-codegen/src/codeGen.ts index 8f82bf7db..56dbcd994 100644 --- a/packages/sdk-codegen/src/codeGen.ts +++ b/packages/sdk-codegen/src/codeGen.ts @@ -241,6 +241,11 @@ export interface ICodeGen { /** Do type declarations use a class definition */ useModelClassForTypes: boolean + /** + * Resets the generator for a new emission + */ + reset(): void + /** * Quote a string value for the language * @param value to quote @@ -702,6 +707,11 @@ export abstract class CodeGen implements ICodeGen { } } + /** base level reset does nothing */ + reset() { + // eslint-disable-next-line @typescript-eslint/no-empty-function + } + /** * Returns true if the SDK supports multiple API versions of models * @returns True if multi-API is supported @@ -1190,6 +1200,13 @@ export abstract class CodeGen implements ICodeGen { return items } + /** + * Gets the type mapping to use for generation + * + * Also tracks refCounts for the type for generators that need explicit type imports + * + * @param type to map for generation + */ typeMap(type: IType): IMappedType { type.refCount++ // increment refcount return { default: this.nullStr || '', name: type.name || '' } diff --git a/packages/sdk-codegen/src/typescript.gen.ts b/packages/sdk-codegen/src/typescript.gen.ts index 5ea72d813..dca72f0e6 100644 --- a/packages/sdk-codegen/src/typescript.gen.ts +++ b/packages/sdk-codegen/src/typescript.gen.ts @@ -70,20 +70,41 @@ export class TypescriptGen extends CodeGen { willItStream = true useNamedParameters = false useNamedArguments = false + /** Track special imports of sdk-rtl */ + rtlNeeds = new Set() + + reset() { + this.rtlNeeds = new Set() + } sdkFileName(baseFileName: string) { return this.fileName(`${this.versions?.spec.key}/${baseFileName}`) } + /** lists all special sdk-rtl import types encountered */ + rtlImports() { + let rtl = Array.from(this.rtlNeeds).join(', ') + if (rtl) { + rtl += ', ' + } + return rtl + } + + /** creates a full @looker/sdk-rtl import statement if one is required */ + rtlImportStatement() { + const rtl = this.rtlImports() + return rtl ? `\nimport { ${rtl} } from '@looker/sdk-rtl'\n` : '' + } + methodsPrologue(_indent: string) { return ` -import { APIMethods, DelimArray, IAuthSession, ITransportSettings, encodeParam } from '@looker/sdk-rtl' +import { ${this.rtlImports()}APIMethods, IAuthSession, ITransportSettings, encodeParam } from '@looker/sdk-rtl' /** * ${this.warnEditing()} * */ import { sdkVersion } from '../constants' -import { IDictionary, ${this.typeNames().join(', ')} } from './models' +import { ${this.typeNames().join(', ')} } from './models' export class ${this.packageName} extends APIMethods { static readonly ApiVersion = '${this.apiVersion}' @@ -102,13 +123,13 @@ export class ${this.packageName} extends APIMethods { streamsPrologue(_indent: string): string { return ` import { Readable } from 'readable-stream' -import { APIMethods, IAuthSession, DelimArray, ITransportSettings, encodeParam } from '@looker/sdk-rtl' +import { ${this.rtlImports()}APIMethods, IAuthSession, ITransportSettings, encodeParam } from '@looker/sdk-rtl' /** * ${this.warnEditing()} * */ import { sdkVersion } from '../constants' -import { IDictionary, ${this.typeNames(false).join(', ')} } from './models' +import { ${this.typeNames().join(', ')} } from './models' export class ${this.packageName}Stream extends APIMethods { static readonly ApiVersion = '${this.apiVersion}' @@ -128,17 +149,11 @@ export class ${this.packageName}Stream extends APIMethods { } modelsPrologue(_indent: string) { - return ` -import { DelimArray, Url } from '@looker/sdk-rtl' - + return `${this.rtlImportStatement()} /* * ${this.warnEditing()} */ -export interface IDictionary { - [key: string]: T -} - ` } @@ -318,7 +333,16 @@ export interface IDictionary { return `'${name}'` } + /** + * Get the language's type name for generation + * + * Also refcounts the type + * + * @param type to name + * @private + */ private typeName(type: IType) { + type.refCount++ if (type.customType && !(type instanceof EnumType)) { return this.reserve(`I${type.name}`) } @@ -459,14 +483,9 @@ export interface IDictionary { } // TODO avoid duplicate code - typeNames(countError = true) { + typeNames() { const names: string[] = [] if (!this.api) return names - if (countError) { - this.api.types.Error.refCount++ - } else { - this.api.types.Error.refCount = 0 - } const types = this.api.types Object.values(types) .filter((type) => type.refCount > 0 && !type.intrinsic) @@ -510,11 +529,13 @@ export interface IDictionary { name: `${map.name}[]`, } case 'HashType': + this.rtlNeeds.add('IDictionary') return { default: '{}', name: `IDictionary<${map.name}>`, } case 'DelimArrayType': + this.rtlNeeds.add('DelimArray') return { default: '', name: `DelimArray<${map.name}>`, @@ -531,7 +552,9 @@ export interface IDictionary { } if (type.name) { - return tsTypes[type.name] || { default: '', name: this.typeName(type) } // No null default for complex types + const mapped = tsTypes[type.name] + if (mapped && mapped.name === 'Url') this.rtlNeeds.add(mapped.name) + return mapped || { default: '', name: this.typeName(type) } // No null default for complex types } else { throw new Error('Cannot output a nameless type.') } diff --git a/packages/sdk-rtl/src/constants.ts b/packages/sdk-rtl/src/constants.ts index b504ac055..fa4083a9b 100644 --- a/packages/sdk-rtl/src/constants.ts +++ b/packages/sdk-rtl/src/constants.ts @@ -91,6 +91,11 @@ export const unquote = (value: string | undefined | null): string => { */ export type Url = string +/** Documented type to clarify SDK hash types */ +export interface IDictionary { + [key: string]: T +} + /** * Documented type alias for password spec */ diff --git a/packages/sdk/src/3.1/methods.ts b/packages/sdk/src/3.1/methods.ts index 21a53e995..66a890fb0 100644 --- a/packages/sdk/src/3.1/methods.ts +++ b/packages/sdk/src/3.1/methods.ts @@ -29,8 +29,9 @@ */ import { - APIMethods, DelimArray, + IDictionary, + APIMethods, IAuthSession, ITransportSettings, encodeParam, @@ -41,7 +42,6 @@ import { */ import { sdkVersion } from '../constants' import { - IDictionary, IAccessToken, IApiSession, IApiVersion, diff --git a/packages/sdk/src/3.1/models.ts b/packages/sdk/src/3.1/models.ts index 87a78a48e..2b2b56638 100644 --- a/packages/sdk/src/3.1/models.ts +++ b/packages/sdk/src/3.1/models.ts @@ -28,16 +28,12 @@ * 302 API models: 188 Spec, 46 Request, 51 Write, 17 Enum */ -import { DelimArray, Url } from '@looker/sdk-rtl' +import { IDictionary, Url, DelimArray } from '@looker/sdk-rtl' /* * NOTE: Do not edit this file generated by Looker SDK Codegen for Looker 21.4 API 3.1 */ -export interface IDictionary { - [key: string]: T -} - export interface IAccessToken { /** * Access Token used for API calls (read-only) diff --git a/packages/sdk/src/3.1/streams.ts b/packages/sdk/src/3.1/streams.ts index 3c737bdc7..bbb99e753 100644 --- a/packages/sdk/src/3.1/streams.ts +++ b/packages/sdk/src/3.1/streams.ts @@ -30,9 +30,10 @@ import { Readable } from 'readable-stream' import { + DelimArray, + IDictionary, APIMethods, IAuthSession, - DelimArray, ITransportSettings, encodeParam, } from '@looker/sdk-rtl' @@ -42,7 +43,6 @@ import { */ import { sdkVersion } from '../constants' import { - IDictionary, IAccessToken, IApiSession, IApiVersion, diff --git a/packages/sdk/src/4.0/methods.ts b/packages/sdk/src/4.0/methods.ts index fb0993bd6..f3646f4ca 100644 --- a/packages/sdk/src/4.0/methods.ts +++ b/packages/sdk/src/4.0/methods.ts @@ -29,8 +29,9 @@ */ import { - APIMethods, DelimArray, + IDictionary, + APIMethods, IAuthSession, ITransportSettings, encodeParam, @@ -41,7 +42,6 @@ import { */ import { sdkVersion } from '../constants' import { - IDictionary, IAccessToken, IApiSession, IApiVersion, diff --git a/packages/sdk/src/4.0/models.ts b/packages/sdk/src/4.0/models.ts index 36c526453..d720755f5 100644 --- a/packages/sdk/src/4.0/models.ts +++ b/packages/sdk/src/4.0/models.ts @@ -28,16 +28,12 @@ * 329 API models: 205 Spec, 50 Request, 56 Write, 18 Enum */ -import { DelimArray, Url } from '@looker/sdk-rtl' +import { IDictionary, Url, DelimArray } from '@looker/sdk-rtl' /* * NOTE: Do not edit this file generated by Looker SDK Codegen for Looker 21.4 API 4.0 */ -export interface IDictionary { - [key: string]: T -} - export interface IAccessToken { /** * Access Token used for API calls (read-only) diff --git a/packages/sdk/src/4.0/streams.ts b/packages/sdk/src/4.0/streams.ts index 63cee029d..73902f844 100644 --- a/packages/sdk/src/4.0/streams.ts +++ b/packages/sdk/src/4.0/streams.ts @@ -30,9 +30,10 @@ import { Readable } from 'readable-stream' import { + DelimArray, + IDictionary, APIMethods, IAuthSession, - DelimArray, ITransportSettings, encodeParam, } from '@looker/sdk-rtl' @@ -42,7 +43,6 @@ import { */ import { sdkVersion } from '../constants' import { - IDictionary, IAccessToken, IApiSession, IApiVersion, diff --git a/spec/Looker.3.1.json b/spec/Looker.3.1.json index 964947fe2..8f7d5d71b 100644 --- a/spec/Looker.3.1.json +++ b/spec/Looker.3.1.json @@ -2,52 +2,141 @@ "swagger": "2.0", "info": { "version": "3.1.0", - "x-looker-release-version": "21.3.0", + "x-looker-release-version": "21.4.0", "title": "Looker API 3.1 Reference", "description": "### Authorization\n\nThe Looker API uses Looker **API3** credentials for authorization and access control. Looker admins can\ncreate API3 credentials on Looker's **Admin/Users** page. Pass API3 credentials to the **/login** endpoint to\nobtain a temporary access_token. Include that access_token in the Authorization header of Looker API requests.\nFor details, see [Looker API Authorization](https://looker.com/docs/r/api/authorization)\n\n### Client SDKs\n\nThe Looker API is a RESTful system that should be usable by any programming language capable of making\nHTTPS requests. Client SDKs for a variety of programming languages can be generated from the Looker API's Swagger\nJSON metadata to streamline use of the Looker API in your applications. A client SDK for Ruby is available\nas an example. For more information, see [Looker API Client SDKs](https://looker.com/docs/r/api/client_sdks)\n\n### Try It Out!\n\nThe 'api-docs' page served by the Looker instance includes 'Try It Out!' buttons for each API method. After logging\nin with API3 credentials, you can use the \"Try It Out!\" buttons to call the API directly from the documentation\npage to interactively explore API features and responses.\n\nNote! With great power comes great responsibility: The \"Try It Out!\" button makes API calls to your live Looker\ninstance. Be especially careful with destructive API operations such as `delete_user` or similar.\nThere is no \"undo\" for API operations.\n\n### Versioning\n\nFuture releases of Looker will expand this API release-by-release to securely expose more and more of the core\npower of Looker to API client applications. API endpoints marked as \"beta\" may receive breaking changes without\nwarning (but we will try to avoid doing that). Stable (non-beta) API endpoints should not receive breaking\nchanges in future releases.\nFor more information, see [Looker API Versioning](https://looker.com/docs/r/api/versioning)\n\n### In This Release\n\nThe following are a few examples of noteworthy items that have changed between API 3.0 and API 3.1.\nFor more comprehensive coverage of API changes, please see the release notes for your Looker release.\n\n### Examples of new things added in API 3.1 (compared to API 3.0):\n\n* [Dashboard construction](#!/3.1/Dashboard/) APIs\n* [Themes](#!/3.1/Theme/) and [custom color collections](#!/3.1/ColorCollection) APIs\n* Create and run [SQL Runner](#!/3.1/Query/run_sql_query) queries\n* Create and run [merged results](#!/3.1/Query/create_merge_query) queries\n* Create and modify [dashboard filters](#!/3.1/Dashboard/create_dashboard_filter)\n* Create and modify [password requirements](#!/3.1/Auth/password_config)\n\n### Deprecated in API 3.0\n\nThe following functions and properties have been deprecated in API 3.0. They continue to exist and work in API 3.0\nfor the next several Looker releases but they have not been carried forward to API 3.1:\n\n* Dashboard Prefetch functions\n* User access_filter functions\n* User API 1.0 credentials functions\n* Space.is_root and Space.is_user_root properties. Use Space.is_shared_root and Space.is_users_root instead.\n\n### Semantic changes in API 3.1:\n\n* [all_looks()](#!/3.1/Look/all_looks) no longer includes soft-deleted looks, matching [all_dashboards()](#!/3.1/Dashboard/all_dashboards) behavior.\nYou can find soft-deleted looks using [search_looks()](#!/3.1/Look/search_looks) with the `deleted` param set to True.\n* [all_spaces()](#!/3.1/Space/all_spaces) no longer includes duplicate items\n* [search_users()](#!/3.1/User/search_users) no longer accepts Y,y,1,0,N,n for Boolean params, only \"true\" and \"false\".\n* For greater client and network compatibility, [render_task_results](#!/3.1/RenderTask/render_task_results) now returns\nHTTP status **202 Accepted** instead of HTTP status **102 Processing**\n* [all_running_queries()](#!/3.1/Query/all_running_queries) and [kill_query](#!/3.1/Query/kill_query) functions have moved into the [Query](#!/3.1/Query/) function group.\n\n\nIf you have application code which relies on the old behavior of the APIs above, you may\ncontinue using the API 3.0 functions in this Looker release. We strongly suggest you\nupdate your code to use API 3.1 analogs as soon as possible.\n\n", - "contact": { "name": "Looker Team", "url": "https://help.looker.com" }, - "license": { "name": "EULA", "url": "http://localhost:9999/eula" } + "contact": { + "name": "Looker Team", + "url": "https://help.looker.com" + }, + "license": { + "name": "EULA", + "url": "https://localhost:10000/eula" + } }, "basePath": "/api/3.1", - "consumes": ["application/json"], - "produces": ["application/json"], - "host": "localhost:19999", - "schemes": ["http"], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "host": "localhost:20000", + "schemes": [ + "https" + ], "tags": [ - { "name": "ApiAuth", "description": "API Authentication" }, + { + "name": "ApiAuth", + "description": "API Authentication" + }, { "name": "Auth", "description": "Manage User Authentication Configuration" }, - { "name": "ColorCollection", "description": "Manage Color Collections" }, - { "name": "Config", "description": "Manage General Configuration" }, - { "name": "Connection", "description": "Manage Database Connections" }, - { "name": "Content", "description": "Manage Content" }, - { "name": "Dashboard", "description": "Manage Dashboards" }, - { "name": "DataAction", "description": "Run Data Actions" }, - { "name": "Datagroup", "description": "Manage Datagroups" }, - { "name": "Folder", "description": "Manage Folders" }, - { "name": "Group", "description": "Manage Groups" }, - { "name": "Homepage", "description": "Manage Homepage" }, - { "name": "Integration", "description": "Manage Integrations" }, - { "name": "Look", "description": "Run and Manage Looks" }, - { "name": "LookmlModel", "description": "Manage LookML Models" }, - { "name": "Project", "description": "Manage Projects" }, - { "name": "Query", "description": "Run and Manage Queries" }, - { "name": "RenderTask", "description": "Manage Render Tasks" }, - { "name": "Role", "description": "Manage Roles" }, - { "name": "ScheduledPlan", "description": "Manage Scheduled Plans" }, - { "name": "Session", "description": "Session Information" }, - { "name": "Space", "description": "Manage Spaces" }, - { "name": "Theme", "description": "Manage Themes" }, - { "name": "User", "description": "Manage Users" }, - { "name": "UserAttribute", "description": "Manage User Attributes" }, - { "name": "Workspace", "description": "Manage Workspaces" } + { + "name": "ColorCollection", + "description": "Manage Color Collections" + }, + { + "name": "Config", + "description": "Manage General Configuration" + }, + { + "name": "Connection", + "description": "Manage Database Connections" + }, + { + "name": "Content", + "description": "Manage Content" + }, + { + "name": "Dashboard", + "description": "Manage Dashboards" + }, + { + "name": "DataAction", + "description": "Run Data Actions" + }, + { + "name": "Datagroup", + "description": "Manage Datagroups" + }, + { + "name": "Folder", + "description": "Manage Folders" + }, + { + "name": "Group", + "description": "Manage Groups" + }, + { + "name": "Homepage", + "description": "Manage Homepage" + }, + { + "name": "Integration", + "description": "Manage Integrations" + }, + { + "name": "Look", + "description": "Run and Manage Looks" + }, + { + "name": "LookmlModel", + "description": "Manage LookML Models" + }, + { + "name": "Project", + "description": "Manage Projects" + }, + { + "name": "Query", + "description": "Run and Manage Queries" + }, + { + "name": "RenderTask", + "description": "Manage Render Tasks" + }, + { + "name": "Role", + "description": "Manage Roles" + }, + { + "name": "ScheduledPlan", + "description": "Manage Scheduled Plans" + }, + { + "name": "Session", + "description": "Session Information" + }, + { + "name": "Space", + "description": "Manage Spaces" + }, + { + "name": "Theme", + "description": "Manage Themes" + }, + { + "name": "User", + "description": "Manage Users" + }, + { + "name": "UserAttribute", + "description": "Manage User Attributes" + }, + { + "name": "Workspace", + "description": "Manage Workspaces" + } ], "paths": { "/query_tasks": { "post": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "create_query_task", "summary": "Run Query Async", "description": "### Create an async query task\n\nCreates a query task (job) to run a previously created query asynchronously. Returns a Query Task ID.\n\nUse [query_task(query_task_id)](#!/Query/query_task) to check the execution status of the query task.\nAfter the query task status reaches \"Complete\", use [query_task_results(query_task_id)](#!/Query/query_task_results) to fetch the results of the query.\n", @@ -57,7 +146,9 @@ "in": "body", "description": "Query parameters", "required": true, - "schema": { "$ref": "#/definitions/CreateQueryTask" } + "schema": { + "$ref": "#/definitions/CreateQueryTask" + } }, { "name": "limit", @@ -157,27 +248,39 @@ "responses": { "200": { "description": "query_task", - "schema": { "$ref": "#/definitions/QueryTask" } + "schema": { + "$ref": "#/definitions/QueryTask" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -186,7 +289,9 @@ }, "/query_tasks/multi_results": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "query_task_multi_results", "summary": "Get Multiple Async Query Results", "description": "### Fetch results of multiple async queries\n\nReturns the results of multiple async queries in one request.\n\nFor Query Tasks that are not completed, the response will include the execution status of the Query Task but will not include query results.\nQuery Tasks whose results have expired will have a status of 'expired'.\nIf 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'\n", @@ -197,7 +302,9 @@ "description": "List of Query Task IDs", "required": true, "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "collectionFormat": "csv" } ], @@ -206,16 +313,22 @@ "description": "Multiple query results", "schema": { "type": "object", - "additionalProperties": { "type": "string" } + "additionalProperties": { + "type": "string" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -224,7 +337,9 @@ }, "/query_tasks/{query_task_id}": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "query_task", "summary": "Get Async Query Info", "description": "### Get Query Task details\n\nUse this function to check the status of an async query task. After the status\nreaches \"Complete\", you can call [query_task_results(query_task_id)](#!/Query/query_task_results) to\nretrieve the results of the query.\n\nUse [create_query_task()](#!/Query/create_query_task) to create an async query task.\n", @@ -247,15 +362,21 @@ "responses": { "200": { "description": "query_task", - "schema": { "$ref": "#/definitions/QueryTask" } + "schema": { + "$ref": "#/definitions/QueryTask" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -264,11 +385,16 @@ }, "/query_tasks/{query_task_id}/results": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "query_task_results", "summary": "Get Async Query Results", "description": "### Get Async Query Results\n\nReturns the results of an async query task if the query has completed.\n\nIf the query task is still running or waiting to run, this function returns 204 No Content.\n\nIf the query task ID is invalid or the cached results of the query task have expired, this function returns 404 Not Found.\n\nUse [query_task(query_task_id)](#!/Query/query_task) to check the execution status of the query task\nCall query_task_results only after the query task status reaches \"Complete\".\n\nYou can also use [query_task_multi_results()](#!/Query/query_task_multi_results) retrieve the\nresults of multiple async query tasks at the same time.\n\n#### SQL Error Handling:\nIf the query fails due to a SQL db error, how this is communicated depends on the result_format you requested in `create_query_task()`.\n\nFor `json_detail` result_format: `query_task_results()` will respond with HTTP status '200 OK' and db SQL error info\nwill be in the `errors` property of the response object. The 'data' property will be empty.\n\nFor all other result formats: `query_task_results()` will respond with HTTP status `400 Bad Request` and some db SQL error info\nwill be in the message of the 400 error response, but not as detailed as expressed in `json_detail.errors`.\nThese data formats can only carry row data, and error info is not row data.\n", - "produces": ["text", "application/json"], + "produces": [ + "text", + "application/json" + ], "parameters": [ { "name": "query_task_id", @@ -281,19 +407,27 @@ "responses": { "200": { "description": "The query results.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "204": { "description": "The query is not finished", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "The Query Task Id was not found or the results have expired.", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -302,7 +436,9 @@ }, "/queries/{query_id}": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "query", "summary": "Get Query", "description": "### Get a previously created query by id.\n\nA Looker query object includes the various parameters that define a database query that has been run or\ncould be run in the future. These parameters include: model, view, fields, filters, pivots, etc.\nQuery *results* are not part of the query object.\n\nQuery objects are unique and immutable. Query objects are created automatically in Looker as users explore data.\nLooker does not delete them; they become part of the query history. When asked to create a query for\nany given set of parameters, Looker will first try to find an existing query object with matching\nparameters and will only create a new object when an appropriate object can not be found.\n\nThis 'get' method is used to get the details about a query for a given id. See the other methods here\nto 'create' and 'run' queries.\n\nNote that some fields like 'filter_config' and 'vis_config' etc are specific to how the Looker UI\nbuilds queries and visualizations and are not generally useful for API use. They are not required when\ncreating new queries and can usually just be ignored.\n\n", @@ -326,15 +462,21 @@ "responses": { "200": { "description": "Query", - "schema": { "$ref": "#/definitions/Query" } + "schema": { + "$ref": "#/definitions/Query" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -343,7 +485,9 @@ }, "/queries/slug/{slug}": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "query_for_slug", "summary": "Get Query for Slug", "description": "### Get the query for a given query slug.\n\nThis returns the query for the 'slug' in a query share URL.\n\nThe 'slug' is a randomly chosen short string that is used as an alternative to the query's id value\nfor use in URLs etc. This method exists as a convenience to help you use the API to 'find' queries that\nhave been created using the Looker UI.\n\nYou can use the Looker explore page to build a query and then choose the 'Share' option to\nshow the share url for the query. Share urls generally look something like 'https://looker.yourcompany/x/vwGSbfc'.\nThe trailing 'vwGSbfc' is the share slug. You can pass that string to this api method to get details about the query.\nThose details include the 'id' that you can use to run the query. Or, you can copy the query body\n(perhaps with your own modification) and use that as the basis to make/run new queries.\n\nThis will also work with slugs from Looker explore urls like\n'https://looker.yourcompany/explore/ecommerce/orders?qid=aogBgL6o3cKK1jN3RoZl5s'. In this case\n'aogBgL6o3cKK1jN3RoZl5s' is the slug.\n", @@ -366,15 +510,21 @@ "responses": { "200": { "description": "Query", - "schema": { "$ref": "#/definitions/Query" } + "schema": { + "$ref": "#/definitions/Query" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -383,7 +533,9 @@ }, "/queries": { "post": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "create_query", "summary": "Create Query", "description": "### Create a query.\n\nThis allows you to create a new query that you can later run. Looker queries are immutable once created\nand are not deleted. If you create a query that is exactly like an existing query then the existing query\nwill be returned and no new query will be created. Whether a new query is created or not, you can use\nthe 'id' in the returned query with the 'run' method.\n\nThe query parameters are passed as json in the body of the request.\n\n", @@ -393,7 +545,9 @@ "in": "body", "description": "Query", "required": true, - "schema": { "$ref": "#/definitions/Query" } + "schema": { + "$ref": "#/definitions/Query" + } }, { "name": "fields", @@ -406,27 +560,39 @@ "responses": { "200": { "description": "Query", - "schema": { "$ref": "#/definitions/Query" } + "schema": { + "$ref": "#/definitions/Query" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -435,11 +601,18 @@ }, "/queries/{query_id}/run/{result_format}": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "run_query", "summary": "Run Query", "description": "### Run a saved query.\n\nThis runs a previously saved query. You can use this on a query that was generated in the Looker UI\nor one that you have explicitly created using the API. You can also use a query 'id' from a saved 'Look'.\n\nThe 'result_format' parameter specifies the desired structure and format of the response.\n\nSupported formats:\n\n| result_format | Description\n| :-----------: | :--- |\n| json | Plain json\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| md | Simple markdown\n| xlsx | MS Excel spreadsheet\n| sql | Returns the generated SQL rather than running the query\n| png | A PNG image of the visualization of the query\n| jpg | A JPG image of the visualization of the query\n\n\n", - "produces": ["text", "application/json", "image/png", "image/jpeg"], + "produces": [ + "text", + "application/json", + "image/png", + "image/jpeg" + ], "parameters": [ { "name": "query_id", @@ -545,22 +718,35 @@ } ], "responses": { - "200": { "description": "Query", "schema": { "type": "string" } }, + "200": { + "description": "Query", + "schema": { + "type": "string" + } + }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -569,11 +755,18 @@ }, "/queries/run/{result_format}": { "post": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "run_inline_query", "summary": "Run Inline Query", "description": "### Run the query that is specified inline in the posted body.\n\nThis allows running a query as defined in json in the posted body. This combines\nthe two actions of posting & running a query into one step.\n\nHere is an example body in json:\n```\n{\n \"model\":\"thelook\",\n \"view\":\"inventory_items\",\n \"fields\":[\"category.name\",\"inventory_items.days_in_inventory_tier\",\"products.count\"],\n \"filters\":{\"category.name\":\"socks\"},\n \"sorts\":[\"products.count desc 0\"],\n \"limit\":\"500\",\n \"query_timezone\":\"America/Los_Angeles\"\n}\n```\n\nWhen using the Ruby SDK this would be passed as a Ruby hash like:\n```\n{\n :model=>\"thelook\",\n :view=>\"inventory_items\",\n :fields=>\n [\"category.name\",\n \"inventory_items.days_in_inventory_tier\",\n \"products.count\"],\n :filters=>{:\"category.name\"=>\"socks\"},\n :sorts=>[\"products.count desc 0\"],\n :limit=>\"500\",\n :query_timezone=>\"America/Los_Angeles\",\n}\n```\n\nThis will return the result of running the query in the format specified by the 'result_format' parameter.\n\nSupported formats:\n\n| result_format | Description\n| :-----------: | :--- |\n| json | Plain json\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| md | Simple markdown\n| xlsx | MS Excel spreadsheet\n| sql | Returns the generated SQL rather than running the query\n| png | A PNG image of the visualization of the query\n| jpg | A JPG image of the visualization of the query\n\n\n", - "produces": ["text", "application/json", "image/png", "image/jpeg"], + "produces": [ + "text", + "application/json", + "image/png", + "image/jpeg" + ], "parameters": [ { "name": "result_format", @@ -587,7 +780,9 @@ "in": "body", "description": "inline query", "required": true, - "schema": { "$ref": "#/definitions/Query" } + "schema": { + "$ref": "#/definitions/Query" + } }, { "name": "limit", @@ -680,23 +875,33 @@ "responses": { "200": { "description": "Query Result", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -705,11 +910,18 @@ }, "/queries/models/{model_name}/views/{view_name}/run/{result_format}": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "run_url_encoded_query", "summary": "Run Url Encoded Query", "description": "### Run an URL encoded query.\n\nThis requires the caller to encode the specifiers for the query into the URL query part using\nLooker-specific syntax as explained below.\n\nGenerally, you would want to use one of the methods that takes the parameters as json in the POST body\nfor creating and/or running queries. This method exists for cases where one really needs to encode the\nparameters into the URL of a single 'GET' request. This matches the way that the Looker UI formats\n'explore' URLs etc.\n\nThe parameters here are very similar to the json body formatting except that the filter syntax is\ntricky. Unfortunately, this format makes this method not currently callable via the 'Try it out!' button\nin this documentation page. But, this is callable when creating URLs manually or when using the Looker SDK.\n\nHere is an example inline query URL:\n\n```\nhttps://looker.mycompany.com:19999/api/3.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\n```\n\nWhen invoking this endpoint with the Ruby SDK, pass the query parameter parts as a hash. The hash to match the above would look like:\n\n```ruby\nquery_params =\n{\n :fields => \"category.name,inventory_items.days_in_inventory_tier,products.count\",\n :\"f[category.name]\" => \"socks\",\n :sorts => \"products.count desc 0\",\n :limit => \"500\",\n :query_timezone => \"America/Los_Angeles\"\n}\nresponse = ruby_sdk.run_url_encoded_query('thelook','inventory_items','json', query_params)\n\n```\n\nAgain, it is generally easier to use the variant of this method that passes the full query in the POST body.\nThis method is available for cases where other alternatives won't fit the need.\n\nSupported formats:\n\n| result_format | Description\n| :-----------: | :--- |\n| json | Plain json\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| md | Simple markdown\n| xlsx | MS Excel spreadsheet\n| sql | Returns the generated SQL rather than running the query\n| png | A PNG image of the visualization of the query\n| jpg | A JPG image of the visualization of the query\n\n\n", - "produces": ["text", "application/json", "image/png", "image/jpeg"], + "produces": [ + "text", + "application/json", + "image/png", + "image/jpeg" + ], "parameters": [ { "name": "model_name", @@ -734,22 +946,35 @@ } ], "responses": { - "200": { "description": "Query", "schema": { "type": "string" } }, + "200": { + "description": "Query", + "schema": { + "type": "string" + } + }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -758,11 +983,15 @@ }, "/login": { "post": { - "tags": ["ApiAuth"], + "tags": [ + "ApiAuth" + ], "operationId": "login", "summary": "Login", "description": "### Present client credentials to obtain an authorization token\n\nLooker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://looker.com/docs/r/api/outh2_resource_owner_pc) pattern.\nThe client credentials required for this login must be obtained by creating an API3 key on a user account\nin the Looker Admin console. The API3 key consists of a public `client_id` and a private `client_secret`.\n\nThe access token returned by `login` must be used in the HTTP Authorization header of subsequent\nAPI requests, like this:\n```\nAuthorization: token 4QDkCyCtZzYgj4C2p2cj3csJH7zqS5RzKs2kTnG4\n```\nReplace \"4QDkCy...\" with the `access_token` value returned by `login`.\nThe word `token` is a string literal and must be included exactly as shown.\n\nThis 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.\n\nExample of passing credentials in the HTTP request body:\n````\nPOST HTTP /login\nContent-Type: application/x-www-form-urlencoded\n\nclient_id=CGc9B7v7J48dQSJvxxx&client_secret=nNVS9cSS3xNpSC9JdsBvvvvv\n````\n\n### Best Practice:\nAlways 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.\n\nFor more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API3](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md).\n", - "consumes": ["application/x-www-form-urlencoded"], + "consumes": [ + "application/x-www-form-urlencoded" + ], "parameters": [ { "name": "client_id", @@ -782,15 +1011,21 @@ "responses": { "200": { "description": "Access token with metadata.", - "schema": { "$ref": "#/definitions/AccessToken" } + "schema": { + "$ref": "#/definitions/AccessToken" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -799,7 +1034,9 @@ }, "/login/{user_id}": { "post": { - "tags": ["ApiAuth"], + "tags": [ + "ApiAuth" + ], "operationId": "login_user", "summary": "Login user", "description": "### Create an access token that runs as a given user.\n\nThis can only be called by an authenticated admin user. It allows that admin to generate a new\nauthentication token for the user with the given user id. That token can then be used for subsequent\nAPI calls - which are then performed *as* that target user.\n\nThe target user does *not* need to have a pre-existing API client_id/client_secret pair. And, no such\ncredentials are created by this call.\n\nThis allows for building systems where api user authentication for an arbitrary number of users is done\noutside of Looker and funneled through a single 'service account' with admin permissions. Note that a\nnew access token is generated on each call. If target users are going to be making numerous API\ncalls in a short period then it is wise to cache this authentication token rather than call this before\neach of those API calls.\n\nSee 'login' for more detail on the access token and how to use it.\n", @@ -823,15 +1060,21 @@ "responses": { "200": { "description": "Access token with metadata.", - "schema": { "$ref": "#/definitions/AccessToken" } + "schema": { + "$ref": "#/definitions/AccessToken" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -840,22 +1083,30 @@ }, "/logout": { "delete": { - "tags": ["ApiAuth"], + "tags": [ + "ApiAuth" + ], "operationId": "logout", "summary": "Logout", "description": "### Logout of the API and invalidate the current access token.\n", "responses": { "204": { "description": "Logged out successfully.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -864,22 +1115,30 @@ }, "/backup_configuration": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "backup_configuration", "summary": "Get Backup Configuration", "description": "### WARNING: The Looker internal database backup function has been deprecated.\n", "responses": { "200": { "description": "Current Backup Configuration", - "schema": { "$ref": "#/definitions/BackupConfiguration" } + "schema": { + "$ref": "#/definitions/BackupConfiguration" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -887,7 +1146,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "update_backup_configuration", "summary": "Update Backup Configuration", "description": "### WARNING: The Looker internal database backup function has been deprecated.\n", @@ -897,25 +1158,35 @@ "in": "body", "description": "Options for Backup Configuration", "required": true, - "schema": { "$ref": "#/definitions/BackupConfiguration" } + "schema": { + "$ref": "#/definitions/BackupConfiguration" + } } ], "responses": { "200": { "description": "New state for specified model set.", - "schema": { "$ref": "#/definitions/BackupConfiguration" } + "schema": { + "$ref": "#/definitions/BackupConfiguration" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "deprecated": true, @@ -925,29 +1196,39 @@ }, "/cloud_storage": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "cloud_storage_configuration", "summary": "Get Cloud Storage", "description": "Get the current Cloud Storage Configuration.\n", "responses": { "200": { "description": "Current Cloud Storage Configuration", - "schema": { "$ref": "#/definitions/BackupConfiguration" } + "schema": { + "$ref": "#/definitions/BackupConfiguration" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "update_cloud_storage_configuration", "summary": "Update Cloud Storage", "description": "Update the current Cloud Storage Configuration.\n", @@ -957,25 +1238,35 @@ "in": "body", "description": "Options for Cloud Storage Configuration", "required": true, - "schema": { "$ref": "#/definitions/BackupConfiguration" } + "schema": { + "$ref": "#/definitions/BackupConfiguration" + } } ], "responses": { "200": { "description": "New state for specified model set.", - "schema": { "$ref": "#/definitions/BackupConfiguration" } + "schema": { + "$ref": "#/definitions/BackupConfiguration" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -984,7 +1275,9 @@ }, "/color_collections": { "get": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "all_color_collections", "summary": "Get all Color Collections", "description": "### Get an array of all existing Color Collections\nGet a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n\nGet all **standard** color collections with [ColorCollection](#!/ColorCollection/color_collections_standard)\n\nGet all **custom** color collections with [ColorCollection](#!/ColorCollection/color_collections_custom)\n\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", @@ -1002,23 +1295,31 @@ "description": "ColorCollections", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ColorCollection" } + "items": { + "$ref": "#/definitions/ColorCollection" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "create_color_collection", "summary": "Create ColorCollection", "description": "### Create a custom color collection with the specified information\n\nCreates a new custom color collection object, returning the details, including the created id.\n\n**Update** an existing color collection with [Update Color Collection](#!/ColorCollection/update_color_collection)\n\n**Permanently delete** an existing custom color collection with [Delete Color Collection](#!/ColorCollection/delete_color_collection)\n\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", @@ -1028,37 +1329,53 @@ "in": "body", "description": "ColorCollection", "required": true, - "schema": { "$ref": "#/definitions/ColorCollection" } + "schema": { + "$ref": "#/definitions/ColorCollection" + } } ], "responses": { "200": { "description": "ColorCollection", - "schema": { "$ref": "#/definitions/ColorCollection" } + "schema": { + "$ref": "#/definitions/ColorCollection" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "403": { "description": "Permission Denied", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -1067,7 +1384,9 @@ }, "/color_collections/custom": { "get": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "color_collections_custom", "summary": "Get all Custom Color Collections", "description": "### Get an array of all existing **Custom** Color Collections\nGet a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n\nGet all **standard** color collections with [ColorCollection](#!/ColorCollection/color_collections_standard)\n\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", @@ -1085,16 +1404,22 @@ "description": "ColorCollections", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ColorCollection" } + "items": { + "$ref": "#/definitions/ColorCollection" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -1103,7 +1428,9 @@ }, "/color_collections/standard": { "get": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "color_collections_standard", "summary": "Get all Standard Color Collections", "description": "### Get an array of all existing **Standard** Color Collections\nGet a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n\nGet all **custom** color collections with [ColorCollection](#!/ColorCollection/color_collections_custom)\n\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", @@ -1121,16 +1448,22 @@ "description": "ColorCollections", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ColorCollection" } + "items": { + "$ref": "#/definitions/ColorCollection" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -1139,7 +1472,9 @@ }, "/color_collections/default": { "put": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "set_default_color_collection", "summary": "Set Default Color Collection", "description": "### Set the global default Color Collection by ID\n\nReturns the new specified default Color Collection object.\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", @@ -1155,45 +1490,63 @@ "responses": { "200": { "description": "ColorCollection", - "schema": { "$ref": "#/definitions/ColorCollection" } + "schema": { + "$ref": "#/definitions/ColorCollection" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "get": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "default_color_collection", "summary": "Get Default Color Collection", "description": "### Get the default color collection\n\nUse this to retrieve the default Color Collection.\n\nSet the default color collection with [ColorCollection](#!/ColorCollection/set_default_color_collection)\n", "responses": { "200": { "description": "ColorCollection", - "schema": { "$ref": "#/definitions/ColorCollection" } + "schema": { + "$ref": "#/definitions/ColorCollection" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -1202,7 +1555,9 @@ }, "/color_collections/{collection_id}": { "get": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "color_collection", "summary": "Get Color Collection by ID", "description": "### Get a Color Collection by ID\n\nUse this to retrieve a specific Color Collection.\nGet a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n\nGet all **standard** color collections with [ColorCollection](#!/ColorCollection/color_collections_standard)\n\nGet all **custom** color collections with [ColorCollection](#!/ColorCollection/color_collections_custom)\n\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", @@ -1225,22 +1580,30 @@ "responses": { "200": { "description": "ColorCollection", - "schema": { "$ref": "#/definitions/ColorCollection" } + "schema": { + "$ref": "#/definitions/ColorCollection" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "update_color_collection", "summary": "Update Custom Color collection", "description": "### Update a custom color collection by id.\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", @@ -1257,40 +1620,56 @@ "in": "body", "description": "ColorCollection", "required": true, - "schema": { "$ref": "#/definitions/ColorCollection" } + "schema": { + "$ref": "#/definitions/ColorCollection" + } } ], "responses": { "200": { "description": "ColorCollection", - "schema": { "$ref": "#/definitions/ColorCollection" } + "schema": { + "$ref": "#/definitions/ColorCollection" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "403": { "description": "Permission Denied", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "delete_color_collection", "summary": "Delete ColorCollection", "description": "### Delete a custom color collection by id\n\nThis operation permanently deletes the identified **Custom** color collection.\n\n**Standard** color collections cannot be deleted\n\nBecause multiple color collections can have the same label, they must be deleted by ID, not name.\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", @@ -1304,26 +1683,38 @@ } ], "responses": { - "200": { "description": "Success" }, + "200": { + "description": "Success" + }, "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "403": { "description": "Permission Denied", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -1332,7 +1723,9 @@ }, "/content_favorite/search": { "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "search_content_favorites", "summary": "Search Favorite Contents", "description": "### Search Favorite Content\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", @@ -1420,16 +1813,22 @@ "description": "Favorite Content", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ContentFavorite" } + "items": { + "$ref": "#/definitions/ContentFavorite" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -1438,7 +1837,9 @@ }, "/content_favorite/{content_favorite_id}": { "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "content_favorite", "summary": "Get Favorite Content", "description": "### Get favorite content by its id", @@ -1462,22 +1863,30 @@ "responses": { "200": { "description": "Favorite Content", - "schema": { "$ref": "#/definitions/ContentFavorite" } + "schema": { + "$ref": "#/definitions/ContentFavorite" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "delete_content_favorite", "summary": "Delete Favorite Content", "description": "### Delete favorite content", @@ -1494,19 +1903,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -1515,7 +1932,9 @@ }, "/content_favorite": { "post": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "create_content_favorite", "summary": "Create Favorite Content", "description": "### Create favorite content", @@ -1525,33 +1944,47 @@ "in": "body", "description": "Favorite Content", "required": true, - "schema": { "$ref": "#/definitions/ContentFavorite" } + "schema": { + "$ref": "#/definitions/ContentFavorite" + } } ], "responses": { "200": { "description": "Favorite Content", - "schema": { "$ref": "#/definitions/ContentFavorite" } + "schema": { + "$ref": "#/definitions/ContentFavorite" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -1560,7 +1993,9 @@ }, "/content_metadata": { "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "all_content_metadatas", "summary": "Get All Content Metadatas", "description": "### Get information about all content metadata in a space.\n", @@ -1586,16 +2021,22 @@ "description": "Content Metadata", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ContentMeta" } + "items": { + "$ref": "#/definitions/ContentMeta" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -1604,7 +2045,9 @@ }, "/content_metadata/{content_metadata_id}": { "patch": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "update_content_metadata", "summary": "Update Content Metadata", "description": "### Move a piece of content.\n", @@ -1622,36 +2065,50 @@ "in": "body", "description": "Content Metadata", "required": true, - "schema": { "$ref": "#/definitions/ContentMeta" } + "schema": { + "$ref": "#/definitions/ContentMeta" + } } ], "responses": { "200": { "description": "Content Metadata", - "schema": { "$ref": "#/definitions/ContentMeta" } + "schema": { + "$ref": "#/definitions/ContentMeta" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "content_metadata", "summary": "Get Content Metadata", "description": "### Get information about an individual content metadata record.\n", @@ -1675,15 +2132,21 @@ "responses": { "200": { "description": "Content Metadata", - "schema": { "$ref": "#/definitions/ContentMeta" } + "schema": { + "$ref": "#/definitions/ContentMeta" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -1692,7 +2155,9 @@ }, "/content_metadata_access": { "post": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "create_content_metadata_access", "summary": "Create Content Metadata Access", "description": "### Create content metadata access.\n", @@ -1702,7 +2167,9 @@ "in": "body", "description": "Content Metadata Access", "required": true, - "schema": { "$ref": "#/definitions/ContentMetaGroupUser" } + "schema": { + "$ref": "#/definitions/ContentMetaGroupUser" + } }, { "name": "send_boards_notification_email", @@ -1715,27 +2182,39 @@ "responses": { "200": { "description": "Content Metadata Access", - "schema": { "$ref": "#/definitions/ContentMetaGroupUser" } + "schema": { + "$ref": "#/definitions/ContentMetaGroupUser" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -1743,7 +2222,9 @@ "x-looker-rate-limited": true }, "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "all_content_metadata_accesses", "summary": "Get All Content Metadata Accesses", "description": "### All content metadata access records for a content metadata item.\n", @@ -1769,16 +2250,22 @@ "description": "Content Metadata Access", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ContentMetaGroupUser" } + "items": { + "$ref": "#/definitions/ContentMetaGroupUser" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -1787,7 +2274,9 @@ }, "/content_metadata_access/{content_metadata_access_id}": { "put": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "update_content_metadata_access", "summary": "Update Content Metadata Access", "description": "### Update type of access for content metadata.\n", @@ -1805,36 +2294,50 @@ "in": "body", "description": "Content Metadata Access", "required": true, - "schema": { "$ref": "#/definitions/ContentMetaGroupUser" } + "schema": { + "$ref": "#/definitions/ContentMetaGroupUser" + } } ], "responses": { "200": { "description": "Content Metadata Access", - "schema": { "$ref": "#/definitions/ContentMetaGroupUser" } + "schema": { + "$ref": "#/definitions/ContentMetaGroupUser" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "delete_content_metadata_access", "summary": "Delete Content Metadata Access", "description": "### Remove content metadata access.\n", @@ -1851,19 +2354,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -1872,11 +2383,16 @@ }, "/content_thumbnail/{type}/{resource_id}": { "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "content_thumbnail", "summary": "Get Content Thumbnail", "description": "### Get an image representing the contents of a dashboard or look.\n\nThe returned thumbnail is an abstract representation of the contents of a dashbord or look and does not\nreflect the actual data displayed in the respective visualizations.\n", - "produces": ["image/svg+xml", "image/png"], + "produces": [ + "image/svg+xml", + "image/png" + ], "parameters": [ { "name": "type", @@ -1926,15 +2442,21 @@ "responses": { "200": { "description": "Content thumbnail", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -1943,7 +2465,9 @@ }, "/content_validation": { "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "content_validation", "summary": "Validate Content", "description": "### Validate All Content\n\nPerforms validation of all looks and dashboards\nReturns a list of errors found as well as metadata about the content validation run.\n", @@ -1959,23 +2483,33 @@ "responses": { "200": { "description": "Content validation results", - "schema": { "$ref": "#/definitions/ContentValidation" } + "schema": { + "$ref": "#/definitions/ContentValidation" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -1984,7 +2518,9 @@ }, "/content_view/search": { "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "search_content_views", "summary": "Search Content Views", "description": "### Search Content Views\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", @@ -2092,16 +2628,22 @@ "description": "Content View", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ContentView" } + "items": { + "$ref": "#/definitions/ContentView" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -2110,29 +2652,39 @@ }, "/custom_welcome_email": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "custom_welcome_email", "summary": "Get Custom Welcome Email", "description": "### Get the current status and content of custom welcome emails\n", "responses": { "200": { "description": "Custom Welcome Email", - "schema": { "$ref": "#/definitions/CustomWelcomeEmail" } + "schema": { + "$ref": "#/definitions/CustomWelcomeEmail" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "update_custom_welcome_email", "summary": "Update Custom Welcome Email Content", "description": "Update custom welcome email setting and values. Optionally send a test email with the new content to the currently logged in user.\n", @@ -2142,7 +2694,9 @@ "in": "body", "description": "Custom Welcome Email setting and value to save", "required": true, - "schema": { "$ref": "#/definitions/CustomWelcomeEmail" } + "schema": { + "$ref": "#/definitions/CustomWelcomeEmail" + } }, { "name": "send_test_welcome_email", @@ -2155,23 +2709,33 @@ "responses": { "200": { "description": "Custom Welcome Email", - "schema": { "$ref": "#/definitions/CustomWelcomeEmail" } + "schema": { + "$ref": "#/definitions/CustomWelcomeEmail" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -2180,7 +2744,9 @@ }, "/custom_welcome_email_test": { "put": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "update_custom_welcome_email_test", "summary": "Send a test welcome email to the currently logged in user with the supplied content ", "description": "Requests to this endpoint will send a welcome email with the custom content provided in the body to the currently logged in user.\n", @@ -2190,29 +2756,41 @@ "in": "body", "description": "Subject, header, and Body of the email to be sent.", "required": true, - "schema": { "$ref": "#/definitions/WelcomeEmailTest" } + "schema": { + "$ref": "#/definitions/WelcomeEmailTest" + } } ], "responses": { "200": { "description": "Send Test Welcome Email", - "schema": { "$ref": "#/definitions/WelcomeEmailTest" } + "schema": { + "$ref": "#/definitions/WelcomeEmailTest" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -2221,7 +2799,9 @@ }, "/dashboards": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "all_dashboards", "summary": "Get All Dashboards", "description": "### Get information about all active dashboards.\n\nReturns an array of **abbreviated dashboard objects**. Dashboards marked as deleted are excluded from this list.\n\nGet the **full details** of a specific dashboard by id with [dashboard()](#!/Dashboard/dashboard)\n\nFind **deleted dashboards** with [search_dashboards()](#!/Dashboard/search_dashboards)\n", @@ -2239,23 +2819,31 @@ "description": "dashboards", "schema": { "type": "array", - "items": { "$ref": "#/definitions/DashboardBase" } + "items": { + "$ref": "#/definitions/DashboardBase" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "create_dashboard", "summary": "Create Dashboard", "description": "### Create a new dashboard\n\nCreates a new dashboard object and returns the details of the newly created dashboard.\n\n`Title`, `user_id`, and `space_id` are all required fields.\n`Space_id` and `user_id` must contain the id of an existing space or user, respectively.\nA dashboard's `title` must be unique within the space in which it resides.\n\nIf you receive a 422 error response when creating a dashboard, be sure to look at the\nresponse body for information about exactly which fields are missing or contain invalid data.\n\nYou can **update** an existing dashboard with [update_dashboard()](#!/Dashboard/update_dashboard)\n\nYou can **permanently delete** an existing dashboard with [delete_dashboard()](#!/Dashboard/delete_dashboard)\n", @@ -2265,33 +2853,47 @@ "in": "body", "description": "Dashboard", "required": true, - "schema": { "$ref": "#/definitions/Dashboard" } + "schema": { + "$ref": "#/definitions/Dashboard" + } } ], "responses": { "200": { "description": "Dashboard", - "schema": { "$ref": "#/definitions/Dashboard" } + "schema": { + "$ref": "#/definitions/Dashboard" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -2300,7 +2902,9 @@ }, "/dashboards/search": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "search_dashboards", "summary": "Search Dashboards", "description": "### Search Dashboards\n\nReturns an **array of dashboard objects** that match the specified search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\nThe parameters `limit`, and `offset` are recommended for fetching results in page-size chunks.\n\nGet a **single dashboard** by id with [dashboard()](#!/Dashboard/dashboard)\n", @@ -2451,16 +3055,22 @@ "description": "dashboards", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Dashboard" } + "items": { + "$ref": "#/definitions/Dashboard" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -2469,7 +3079,9 @@ }, "/dashboards/{lookml_dashboard_id}/import/{space_id}": { "post": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "import_lookml_dashboard", "summary": "Import LookML Dashboard", "description": "### Import a LookML dashboard to a space as a UDD\nCreates a UDD (a dashboard which exists in the Looker database rather than as a LookML file) from the LookML dashboard\nand places it in the space specified. The created UDD will have a lookml_link_id which links to the original LookML dashboard.\n\nTo give the imported dashboard specify a (e.g. title: \"my title\") in the body of your request, otherwise the imported\ndashboard will have the same title as the original LookML dashboard.\n\nFor this operation to succeed the user must have permission to see the LookML dashboard in question, and have permission to\ncreate content in the space the dashboard is being imported to.\n\n**Sync** a linked UDD with [sync_lookml_dashboard()](#!/Dashboard/sync_lookml_dashboard)\n**Unlink** a linked UDD by setting lookml_link_id to null with [update_dashboard()](#!/Dashboard/update_dashboard)\n", @@ -2493,7 +3105,9 @@ "in": "body", "description": "Dashboard", "required": false, - "schema": { "$ref": "#/definitions/Dashboard" } + "schema": { + "$ref": "#/definitions/Dashboard" + } }, { "name": "raw_locale", @@ -2506,31 +3120,45 @@ "responses": { "200": { "description": "Dashboard", - "schema": { "$ref": "#/definitions/Dashboard" } + "schema": { + "$ref": "#/definitions/Dashboard" + } }, "201": { "description": "dashboard", - "schema": { "$ref": "#/definitions/Dashboard" } + "schema": { + "$ref": "#/definitions/Dashboard" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -2539,7 +3167,9 @@ }, "/dashboards/{lookml_dashboard_id}/sync": { "patch": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "sync_lookml_dashboard", "summary": "Sync LookML Dashboard", "description": "### Update all linked dashboards to match the specified LookML dashboard.\n\nAny UDD (a dashboard which exists in the Looker database rather than as a LookML file) which has a `lookml_link_id`\nproperty value referring to a LookML dashboard's id (model::dashboardname) will be updated so that it matches the current state of the LookML dashboard.\n\nFor this operation to succeed the user must have permission to view the LookML dashboard, and only linked dashboards\nthat the user has permission to update will be synced.\n\nTo **link** or **unlink** a UDD set the `lookml_link_id` property with [update_dashboard()](#!/Dashboard/update_dashboard)\n", @@ -2556,7 +3186,9 @@ "in": "body", "description": "Dashboard", "required": true, - "schema": { "$ref": "#/definitions/Dashboard" } + "schema": { + "$ref": "#/definitions/Dashboard" + } }, { "name": "raw_locale", @@ -2571,24 +3203,35 @@ "description": "Ids of all the dashboards that were updated by this operation", "schema": { "type": "array", - "items": { "type": "integer", "format": "int64" } + "items": { + "type": "integer", + "format": "int64" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -2597,7 +3240,9 @@ }, "/dashboards/{dashboard_id}": { "delete": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "delete_dashboard", "summary": "Delete Dashboard", "description": "### Delete the dashboard with the specified id\n\nPermanently **deletes** a dashboard. (The dashboard cannot be recovered after this operation.)\n\n\"Soft\" delete or hide a dashboard by setting its `deleted` status to `True` with [update_dashboard()](#!/Dashboard/update_dashboard).\n\nNote: When a dashboard is deleted in the UI, it is soft deleted. Use this API call to permanently remove it, if desired.\n", @@ -2613,30 +3258,42 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "405": { "description": "Resource Can't Be Modified", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "update_dashboard", "summary": "Update Dashboard", "description": "### Update a dashboard\n\nYou can use this function to change the string and integer properties of\na dashboard. Nested objects such as filters, dashboard elements, or dashboard layout components\ncannot be modified by this function - use the update functions for the respective\nnested object types (like [update_dashboard_filter()](#!/3.1/Dashboard/update_dashboard_filter) to change a filter)\nto modify nested objects referenced by a dashboard.\n\nIf you receive a 422 error response when updating a dashboard, be sure to look at the\nresponse body for information about exactly which fields are missing or contain invalid data.\n", @@ -2653,40 +3310,56 @@ "in": "body", "description": "Dashboard", "required": true, - "schema": { "$ref": "#/definitions/Dashboard" } + "schema": { + "$ref": "#/definitions/Dashboard" + } } ], "responses": { "200": { "description": "Dashboard", - "schema": { "$ref": "#/definitions/Dashboard" } + "schema": { + "$ref": "#/definitions/Dashboard" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "405": { "description": "Resource Can't Be Modified", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard", "summary": "Get Dashboard", "description": "### Get information about a dashboard\n\nReturns the full details of the identified dashboard object\n\nGet a **summary list** of all active dashboards with [all_dashboards()](#!/Dashboard/all_dashboards)\n\nYou can **Search** for dashboards with [search_dashboards()](#!/Dashboard/search_dashboards)\n", @@ -2709,15 +3382,21 @@ "responses": { "200": { "description": "Dashboard", - "schema": { "$ref": "#/definitions/Dashboard" } + "schema": { + "$ref": "#/definitions/Dashboard" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -2726,7 +3405,9 @@ }, "/dashboards/aggregate_table_lookml/{dashboard_id}": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_aggregate_table_lookml", "summary": "Get Aggregate Table LookML for a dashboard", "description": "### Get Aggregate Table LookML for Each Query on a Dahboard\n\nReturns a JSON object that contains the dashboard id and Aggregate Table lookml\n\n", @@ -2742,15 +3423,21 @@ "responses": { "200": { "description": "JSON for Aggregate Table LookML", - "schema": { "$ref": "#/definitions/DashboardAggregateTableLookml" } + "schema": { + "$ref": "#/definitions/DashboardAggregateTableLookml" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -2759,7 +3446,9 @@ }, "/dashboards/lookml/{dashboard_id}": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_lookml", "summary": "Get lookml of a UDD", "description": "### Get lookml of a UDD\n\nReturns a JSON object that contains the dashboard id and the full lookml\n\n", @@ -2775,15 +3464,21 @@ "responses": { "200": { "description": "json of dashboard", - "schema": { "$ref": "#/definitions/DashboardLookml" } + "schema": { + "$ref": "#/definitions/DashboardLookml" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -2792,7 +3487,9 @@ }, "/dashboard_elements/search": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "search_dashboard_elements", "summary": "Search Dashboard Elements", "description": "### Search Dashboard Elements\n\nReturns an **array of DashboardElement objects** that match the specified search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", @@ -2854,16 +3551,22 @@ "description": "Dashboard elements", "schema": { "type": "array", - "items": { "$ref": "#/definitions/DashboardElement" } + "items": { + "$ref": "#/definitions/DashboardElement" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -2872,7 +3575,9 @@ }, "/dashboard_elements/{dashboard_element_id}": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_element", "summary": "Get DashboardElement", "description": "### Get information about the dashboard element with a specific id.", @@ -2895,22 +3600,30 @@ "responses": { "200": { "description": "DashboardElement", - "schema": { "$ref": "#/definitions/DashboardElement" } + "schema": { + "$ref": "#/definitions/DashboardElement" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "delete_dashboard_element", "summary": "Delete DashboardElement", "description": "### Delete a dashboard element with a specific id.", @@ -2926,26 +3639,36 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "update_dashboard_element", "summary": "Update DashboardElement", "description": "### Update the dashboard element with a specific id.", @@ -2962,7 +3685,9 @@ "in": "body", "description": "DashboardElement", "required": true, - "schema": { "$ref": "#/definitions/DashboardElement" } + "schema": { + "$ref": "#/definitions/DashboardElement" + } }, { "name": "fields", @@ -2975,23 +3700,33 @@ "responses": { "200": { "description": "DashboardElement", - "schema": { "$ref": "#/definitions/DashboardElement" } + "schema": { + "$ref": "#/definitions/DashboardElement" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -3000,7 +3735,9 @@ }, "/dashboards/{dashboard_id}/dashboard_elements": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_dashboard_elements", "summary": "Get All DashboardElements", "description": "### Get information about all the dashboard elements on a dashboard with a specific id.", @@ -3025,16 +3762,22 @@ "description": "DashboardElement", "schema": { "type": "array", - "items": { "$ref": "#/definitions/DashboardElement" } + "items": { + "$ref": "#/definitions/DashboardElement" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -3043,7 +3786,9 @@ }, "/dashboard_elements": { "post": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "create_dashboard_element", "summary": "Create DashboardElement", "description": "### Create a dashboard element on the dashboard with a specific id.", @@ -3053,7 +3798,9 @@ "in": "body", "description": "DashboardElement", "required": true, - "schema": { "$ref": "#/definitions/DashboardElement" } + "schema": { + "$ref": "#/definitions/DashboardElement" + } }, { "name": "fields", @@ -3066,27 +3813,39 @@ "responses": { "200": { "description": "DashboardElement", - "schema": { "$ref": "#/definitions/DashboardElement" } + "schema": { + "$ref": "#/definitions/DashboardElement" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -3095,7 +3854,9 @@ }, "/dashboard_filters/{dashboard_filter_id}": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_filter", "summary": "Get Dashboard Filter", "description": "### Get information about the dashboard filters with a specific id.", @@ -3118,22 +3879,30 @@ "responses": { "200": { "description": "Dashboard Filter", - "schema": { "$ref": "#/definitions/DashboardFilter" } + "schema": { + "$ref": "#/definitions/DashboardFilter" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "delete_dashboard_filter", "summary": "Delete Dashboard Filter", "description": "### Delete a dashboard filter with a specific id.", @@ -3149,26 +3918,36 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "update_dashboard_filter", "summary": "Update Dashboard Filter", "description": "### Update the dashboard filter with a specific id.", @@ -3185,7 +3964,9 @@ "in": "body", "description": "Dashboard Filter", "required": true, - "schema": { "$ref": "#/definitions/DashboardFilter" } + "schema": { + "$ref": "#/definitions/DashboardFilter" + } }, { "name": "fields", @@ -3198,23 +3979,33 @@ "responses": { "200": { "description": "Dashboard Filter", - "schema": { "$ref": "#/definitions/DashboardFilter" } + "schema": { + "$ref": "#/definitions/DashboardFilter" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -3223,7 +4014,9 @@ }, "/dashboards/{dashboard_id}/dashboard_filters": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_dashboard_filters", "summary": "Get All Dashboard Filters", "description": "### Get information about all the dashboard filters on a dashboard with a specific id.", @@ -3248,16 +4041,22 @@ "description": "Dashboard Filter", "schema": { "type": "array", - "items": { "$ref": "#/definitions/DashboardFilter" } + "items": { + "$ref": "#/definitions/DashboardFilter" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -3266,7 +4065,9 @@ }, "/dashboard_filters": { "post": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "create_dashboard_filter", "summary": "Create Dashboard Filter", "description": "### Create a dashboard filter on the dashboard with a specific id.", @@ -3276,7 +4077,9 @@ "in": "body", "description": "Dashboard Filter", "required": true, - "schema": { "$ref": "#/definitions/CreateDashboardFilter" } + "schema": { + "$ref": "#/definitions/CreateDashboardFilter" + } }, { "name": "fields", @@ -3289,27 +4092,39 @@ "responses": { "200": { "description": "Dashboard Filter", - "schema": { "$ref": "#/definitions/DashboardFilter" } + "schema": { + "$ref": "#/definitions/DashboardFilter" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -3318,7 +4133,9 @@ }, "/dashboard_layout_components/{dashboard_layout_component_id}": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_layout_component", "summary": "Get DashboardLayoutComponent", "description": "### Get information about the dashboard elements with a specific id.", @@ -3341,22 +4158,30 @@ "responses": { "200": { "description": "DashboardLayoutComponent", - "schema": { "$ref": "#/definitions/DashboardLayoutComponent" } + "schema": { + "$ref": "#/definitions/DashboardLayoutComponent" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "update_dashboard_layout_component", "summary": "Update DashboardLayoutComponent", "description": "### Update the dashboard element with a specific id.", @@ -3373,7 +4198,9 @@ "in": "body", "description": "DashboardLayoutComponent", "required": true, - "schema": { "$ref": "#/definitions/DashboardLayoutComponent" } + "schema": { + "$ref": "#/definitions/DashboardLayoutComponent" + } }, { "name": "fields", @@ -3386,23 +4213,33 @@ "responses": { "200": { "description": "DashboardLayoutComponent", - "schema": { "$ref": "#/definitions/DashboardLayoutComponent" } + "schema": { + "$ref": "#/definitions/DashboardLayoutComponent" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -3411,7 +4248,9 @@ }, "/dashboard_layouts/{dashboard_layout_id}/dashboard_layout_components": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_layout_dashboard_layout_components", "summary": "Get All DashboardLayoutComponents", "description": "### Get information about all the dashboard layout components for a dashboard layout with a specific id.", @@ -3436,16 +4275,22 @@ "description": "DashboardLayoutComponent", "schema": { "type": "array", - "items": { "$ref": "#/definitions/DashboardLayoutComponent" } + "items": { + "$ref": "#/definitions/DashboardLayoutComponent" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -3454,7 +4299,9 @@ }, "/dashboard_layouts/{dashboard_layout_id}": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_layout", "summary": "Get DashboardLayout", "description": "### Get information about the dashboard layouts with a specific id.", @@ -3477,22 +4324,30 @@ "responses": { "200": { "description": "DashboardLayout", - "schema": { "$ref": "#/definitions/DashboardLayout" } + "schema": { + "$ref": "#/definitions/DashboardLayout" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "delete_dashboard_layout", "summary": "Delete DashboardLayout", "description": "### Delete a dashboard layout with a specific id.", @@ -3508,30 +4363,42 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "update_dashboard_layout", "summary": "Update DashboardLayout", "description": "### Update the dashboard layout with a specific id.", @@ -3548,7 +4415,9 @@ "in": "body", "description": "DashboardLayout", "required": true, - "schema": { "$ref": "#/definitions/DashboardLayout" } + "schema": { + "$ref": "#/definitions/DashboardLayout" + } }, { "name": "fields", @@ -3561,23 +4430,33 @@ "responses": { "200": { "description": "DashboardLayout", - "schema": { "$ref": "#/definitions/DashboardLayout" } + "schema": { + "$ref": "#/definitions/DashboardLayout" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -3586,7 +4465,9 @@ }, "/dashboards/{dashboard_id}/dashboard_layouts": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_dashboard_layouts", "summary": "Get All DashboardLayouts", "description": "### Get information about all the dashboard elements on a dashboard with a specific id.", @@ -3611,16 +4492,22 @@ "description": "DashboardLayout", "schema": { "type": "array", - "items": { "$ref": "#/definitions/DashboardLayout" } + "items": { + "$ref": "#/definitions/DashboardLayout" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -3629,7 +4516,9 @@ }, "/dashboard_layouts": { "post": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "create_dashboard_layout", "summary": "Create DashboardLayout", "description": "### Create a dashboard layout on the dashboard with a specific id.", @@ -3639,7 +4528,9 @@ "in": "body", "description": "DashboardLayout", "required": true, - "schema": { "$ref": "#/definitions/DashboardLayout" } + "schema": { + "$ref": "#/definitions/DashboardLayout" + } }, { "name": "fields", @@ -3652,27 +4543,39 @@ "responses": { "200": { "description": "DashboardLayout", - "schema": { "$ref": "#/definitions/DashboardLayout" } + "schema": { + "$ref": "#/definitions/DashboardLayout" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -3681,7 +4584,9 @@ }, "/data_actions": { "post": { - "tags": ["DataAction"], + "tags": [ + "DataAction" + ], "operationId": "perform_data_action", "summary": "Send a Data Action", "description": "Perform a data action. The data action object can be obtained from query results, and used to perform an arbitrary action.", @@ -3691,21 +4596,29 @@ "in": "body", "description": "Data Action Request", "required": true, - "schema": { "$ref": "#/definitions/DataActionRequest" } + "schema": { + "$ref": "#/definitions/DataActionRequest" + } } ], "responses": { "200": { "description": "Data Action Response", - "schema": { "$ref": "#/definitions/DataActionResponse" } + "schema": { + "$ref": "#/definitions/DataActionResponse" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -3714,7 +4627,9 @@ }, "/data_actions/form": { "post": { - "tags": ["DataAction"], + "tags": [ + "DataAction" + ], "operationId": "fetch_remote_data_action_form", "summary": "Fetch Remote Data Action Form", "description": "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.", @@ -3726,26 +4641,36 @@ "required": true, "schema": { "type": "object", - "additionalProperties": { "type": "string" } + "additionalProperties": { + "type": "string" + } } } ], "responses": { "200": { "description": "Data Action Form", - "schema": { "$ref": "#/definitions/DataActionForm" } + "schema": { + "$ref": "#/definitions/DataActionForm" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -3754,7 +4679,9 @@ }, "/datagroups": { "get": { - "tags": ["Datagroup"], + "tags": [ + "Datagroup" + ], "operationId": "all_datagroups", "summary": "Get All Datagroups", "description": "### Get information about all datagroups.\n", @@ -3763,16 +4690,22 @@ "description": "Datagroup", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Datagroup" } + "items": { + "$ref": "#/definitions/Datagroup" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -3781,7 +4714,9 @@ }, "/datagroups/{datagroup_id}": { "get": { - "tags": ["Datagroup"], + "tags": [ + "Datagroup" + ], "operationId": "datagroup", "summary": "Get Datagroup", "description": "### Get information about a datagroup.\n", @@ -3797,22 +4732,30 @@ "responses": { "200": { "description": "Datagroup", - "schema": { "$ref": "#/definitions/Datagroup" } + "schema": { + "$ref": "#/definitions/Datagroup" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Datagroup"], + "tags": [ + "Datagroup" + ], "operationId": "update_datagroup", "summary": "Update Datagroup", "description": "### Update a datagroup using the specified params.\n", @@ -3829,33 +4772,47 @@ "in": "body", "description": "Datagroup", "required": true, - "schema": { "$ref": "#/definitions/Datagroup" } + "schema": { + "$ref": "#/definitions/Datagroup" + } } ], "responses": { "200": { "description": "Datagroup", - "schema": { "$ref": "#/definitions/Datagroup" } + "schema": { + "$ref": "#/definitions/Datagroup" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -3864,7 +4821,9 @@ }, "/connections": { "get": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "all_connections", "summary": "Get All Connections", "description": "### Get information about all connections.\n", @@ -3882,23 +4841,31 @@ "description": "Connection", "schema": { "type": "array", - "items": { "$ref": "#/definitions/DBConnection" } + "items": { + "$ref": "#/definitions/DBConnection" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "create_connection", "summary": "Create Connection", "description": "### Create a connection using the specified configuration.\n", @@ -3908,33 +4875,47 @@ "in": "body", "description": "Connection", "required": true, - "schema": { "$ref": "#/definitions/DBConnection" } + "schema": { + "$ref": "#/definitions/DBConnection" + } } ], "responses": { "200": { "description": "Connection", - "schema": { "$ref": "#/definitions/DBConnection" } + "schema": { + "$ref": "#/definitions/DBConnection" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -3943,7 +4924,9 @@ }, "/connections/{connection_name}": { "get": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "connection", "summary": "Get Connection", "description": "### Get information about a connection.\n", @@ -3966,22 +4949,30 @@ "responses": { "200": { "description": "Connection", - "schema": { "$ref": "#/definitions/DBConnection" } + "schema": { + "$ref": "#/definitions/DBConnection" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "update_connection", "summary": "Update Connection", "description": "### Update a connection using the specified configuration.\n", @@ -3998,36 +4989,50 @@ "in": "body", "description": "Connection", "required": true, - "schema": { "$ref": "#/definitions/DBConnection" } + "schema": { + "$ref": "#/definitions/DBConnection" + } } ], "responses": { "200": { "description": "Connection", - "schema": { "$ref": "#/definitions/DBConnection" } + "schema": { + "$ref": "#/definitions/DBConnection" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "delete_connection", "summary": "Delete Connection", "description": "### Delete a connection.\n", @@ -4043,19 +5048,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -4064,7 +5077,9 @@ }, "/connections/{connection_name}/connection_override/{override_context}": { "delete": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "delete_connection_override", "summary": "Delete Connection Override", "description": "### Delete a connection override.\n", @@ -4087,23 +5102,33 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -4112,7 +5137,9 @@ }, "/connections/{connection_name}/test": { "put": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "test_connection", "summary": "Test Connection", "description": "### Test an existing connection.\n\nNote that a connection's 'dialect' property has a 'connection_tests' property that lists the\nspecific types of tests that the connection supports.\n\nThis API is rate limited.\n\nUnsupported tests in the request will be ignored.\n", @@ -4130,7 +5157,9 @@ "description": "Array of names of tests to run", "required": false, "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "collectionFormat": "csv" } ], @@ -4139,24 +5168,34 @@ "description": "Test results", "schema": { "type": "array", - "items": { "$ref": "#/definitions/DBConnectionTestResult" } + "items": { + "$ref": "#/definitions/DBConnectionTestResult" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -4166,7 +5205,9 @@ }, "/connections/test": { "put": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "test_connection_config", "summary": "Test Connection Configuration", "description": "### Test a connection configuration.\n\nNote that a connection's 'dialect' property has a 'connection_tests' property that lists the\nspecific types of tests that the connection supports.\n\nThis API is rate limited.\n\nUnsupported tests in the request will be ignored.\n", @@ -4176,7 +5217,9 @@ "in": "body", "description": "Connection", "required": true, - "schema": { "$ref": "#/definitions/DBConnection" } + "schema": { + "$ref": "#/definitions/DBConnection" + } }, { "name": "tests", @@ -4184,7 +5227,9 @@ "description": "Array of names of tests to run", "required": false, "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "collectionFormat": "csv" } ], @@ -4193,20 +5238,28 @@ "description": "Test results", "schema": { "type": "array", - "items": { "$ref": "#/definitions/DBConnectionTestResult" } + "items": { + "$ref": "#/definitions/DBConnectionTestResult" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -4216,7 +5269,9 @@ }, "/derived_table/graph/model/{model}": { "get": { - "tags": ["LookmlModel"], + "tags": [ + "LookmlModel" + ], "operationId": "graph_derived_tables_for_model", "summary": "Get Derived Table", "description": "### Discover information about derived tables\n", @@ -4246,15 +5301,21 @@ "responses": { "200": { "description": "Derived Table", - "schema": { "$ref": "#/definitions/DependencyGraph" } + "schema": { + "$ref": "#/definitions/DependencyGraph" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -4263,7 +5324,9 @@ }, "/dialect_info": { "get": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "all_dialect_infos", "summary": "Get All Dialect Infos", "description": "### Get information about all dialects.\n", @@ -4281,16 +5344,22 @@ "description": "Dialect Info", "schema": { "type": "array", - "items": { "$ref": "#/definitions/DialectInfo" } + "items": { + "$ref": "#/definitions/DialectInfo" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -4299,29 +5368,39 @@ }, "/digest_emails_enabled": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "digest_emails_enabled", "summary": "Get Digest_emails", "description": "### Retrieve the value for whether or not digest emails is enabled\n", "responses": { "200": { "description": "Digest_emails", - "schema": { "$ref": "#/definitions/DigestEmails" } + "schema": { + "$ref": "#/definitions/DigestEmails" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "update_digest_emails_enabled", "summary": "Update Digest_emails", "description": "### Update the setting for enabling/disabling digest emails\n", @@ -4331,29 +5410,41 @@ "in": "body", "description": "Digest_emails", "required": true, - "schema": { "$ref": "#/definitions/DigestEmails" } + "schema": { + "$ref": "#/definitions/DigestEmails" + } } ], "responses": { "200": { "description": "Digest_emails", - "schema": { "$ref": "#/definitions/DigestEmails" } + "schema": { + "$ref": "#/definitions/DigestEmails" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -4362,26 +5453,36 @@ }, "/digest_email_send": { "post": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "create_digest_email_send", "summary": "Deliver digest email contents", "description": "### Trigger the generation of digest email records and send them to Looker's internal system. This does not send\nany actual emails, it generates records containing content which may be of interest for users who have become inactive.\nEmails will be sent at a later time from Looker's internal system if the Digest Emails feature is enabled in settings.", "responses": { "200": { "description": "Status of generating and sending the data", - "schema": { "$ref": "#/definitions/DigestEmailSend" } + "schema": { + "$ref": "#/definitions/DigestEmailSend" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -4391,7 +5492,9 @@ }, "/embed/sso_url": { "post": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "create_sso_embed_url", "summary": "Create SSO Embed Url", "description": "### Create SSO Embed URL\n\nCreates an SSO embed URL and cryptographically signs it with an embed secret.\nThis signed URL can then be used to instantiate a Looker embed session in a PBL web application.\nDo not make any modifications to this URL - any change may invalidate the signature and\ncause the URL to fail to load a Looker embed session.\n\nA signed SSO embed URL can only be used once. After it has been used to request a page from the\nLooker server, the URL is invalid. Future requests using the same URL will fail. This is to prevent\n'replay attacks'.\n\nThe `target_url` property must be a complete URL of a Looker UI page - scheme, hostname, path and query params.\nTo 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`.\nThe best way to obtain this target_url is to navigate to the desired Looker page in your web browser,\ncopy the URL shown in the browser address bar and paste it into the `target_url` property as a quoted string value in this API request.\n\nPermissions for the embed user are defined by the groups in which the embed user is a member (group_ids property)\nand the lists of models and permissions assigned to the embed user.\nAt a minimum, you must provide values for either the group_ids property, or both the models and permissions properties.\nThese properties are additive; an embed user can be a member of certain groups AND be granted access to models and permissions.\n\nThe embed user's access is the union of permissions granted by the group_ids, models, and permissions properties.\n\nThis function does not strictly require all group_ids, user attribute names, or model names to exist at the moment the\nSSO embed url is created. Unknown group_id, user attribute names or model names will be passed through to the output URL.\nTo diagnose potential problems with an SSO embed URL, you can copy the signed URL into the Embed URI Validator text box in `/admin/embed`.\n\nThe `secret_id` parameter is optional. If specified, its value must be the id of an active secret defined in the Looker instance.\nif not specified, the URL will be signed using the newest active secret defined in the Looker instance.\n\n#### Security Note\nProtect this signed URL as you would an access token or password credentials - do not write\nit to disk, do not pass it to a third party, and only pass it through a secure HTTPS\nencrypted transport.\n", @@ -4401,33 +5504,47 @@ "in": "body", "description": "SSO parameters", "required": true, - "schema": { "$ref": "#/definitions/EmbedSsoParams" } + "schema": { + "$ref": "#/definitions/EmbedSsoParams" + } } ], "responses": { "200": { "description": "Signed SSO URL", - "schema": { "$ref": "#/definitions/EmbedUrlResponse" } + "schema": { + "$ref": "#/definitions/EmbedUrlResponse" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -4436,7 +5553,9 @@ }, "/projects/{project_id}/git_branches": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "all_git_branches", "summary": "Get All Git Branches", "description": "### Get All Git Branches\n\nReturns a list of git branches in the project repository\n", @@ -4454,16 +5573,22 @@ "description": "Git Branch", "schema": { "type": "array", - "items": { "$ref": "#/definitions/GitBranch" } + "items": { + "$ref": "#/definitions/GitBranch" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -4472,7 +5597,9 @@ }, "/projects/{project_id}/git_branch": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "git_branch", "summary": "Get Active Git Branch", "description": "### Get the Current Git Branch\n\nReturns the git branch currently checked out in the given project repository\n", @@ -4488,22 +5615,30 @@ "responses": { "200": { "description": "Git Branch", - "schema": { "$ref": "#/definitions/GitBranch" } + "schema": { + "$ref": "#/definitions/GitBranch" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "create_git_branch", "summary": "Checkout New Git Branch", "description": "### Create and Checkout a Git Branch\n\nCreates and checks out a new branch in the given project repository\nOnly allowed in development mode\n - Call `update_session` to select the 'dev' workspace.\n\nOptionally specify a branch name, tag name or commit SHA as the start point in the ref field.\n If no ref is specified, HEAD of the current branch will be used as the start point for the new branch.\n\n", @@ -4520,40 +5655,56 @@ "in": "body", "description": "Git Branch", "required": true, - "schema": { "$ref": "#/definitions/GitBranch" } + "schema": { + "$ref": "#/definitions/GitBranch" + } } ], "responses": { "200": { "description": "Git Branch", - "schema": { "$ref": "#/definitions/GitBranch" } + "schema": { + "$ref": "#/definitions/GitBranch" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "put": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "update_git_branch", "summary": "Update Project Git Branch", "description": "### Checkout and/or reset --hard an existing Git Branch\n\nOnly allowed in development mode\n - Call `update_session` to select the 'dev' workspace.\n\nCheckout an existing branch if name field is different from the name of the currently checked out branch.\n\nOptionally specify a branch name, tag name or commit SHA to which the branch should be reset.\n **DANGER** hard reset will be force pushed to the remote. Unsaved changes and commits may be permanently lost.\n\n", @@ -4570,29 +5721,41 @@ "in": "body", "description": "Git Branch", "required": true, - "schema": { "$ref": "#/definitions/GitBranch" } + "schema": { + "$ref": "#/definitions/GitBranch" + } } ], "responses": { "200": { "description": "Git Branch", - "schema": { "$ref": "#/definitions/GitBranch" } + "schema": { + "$ref": "#/definitions/GitBranch" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -4601,7 +5764,9 @@ }, "/projects/{project_id}/git_branch/{branch_name}": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "find_git_branch", "summary": "Find a Git Branch", "description": "### Get the specified Git Branch\n\nReturns the git branch specified in branch_name path param if it exists in the given project repository\n", @@ -4624,22 +5789,30 @@ "responses": { "200": { "description": "Git Branch", - "schema": { "$ref": "#/definitions/GitBranch" } + "schema": { + "$ref": "#/definitions/GitBranch" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "delete_git_branch", "summary": "Delete a Git Branch", "description": "### Delete the specified Git Branch\n\nDelete git branch specified in branch_name path param from local and remote of specified project repository\n", @@ -4662,19 +5835,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -4683,7 +5864,9 @@ }, "/groups": { "get": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "all_groups", "summary": "Get All Groups", "description": "### Get information about all groups.\n", @@ -4724,7 +5907,10 @@ "description": "Optional of ids to get specific groups.", "required": false, "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "collectionFormat": "csv" }, { @@ -4748,23 +5934,31 @@ "description": "Group", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Group" } + "items": { + "$ref": "#/definitions/Group" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "create_group", "summary": "Create Group", "description": "### Creates a new group (admin only).\n", @@ -4774,7 +5968,9 @@ "in": "body", "description": "Group", "required": true, - "schema": { "$ref": "#/definitions/Group" } + "schema": { + "$ref": "#/definitions/Group" + } }, { "name": "fields", @@ -4787,27 +5983,39 @@ "responses": { "200": { "description": "Group", - "schema": { "$ref": "#/definitions/Group" } + "schema": { + "$ref": "#/definitions/Group" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -4816,7 +6024,9 @@ }, "/groups/search": { "get": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "search_groups", "summary": "Search Groups", "description": "### Search groups\n\nReturns all group records that match the given search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", @@ -4900,16 +6110,22 @@ "description": "Group", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Group" } + "items": { + "$ref": "#/definitions/Group" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -4918,7 +6134,9 @@ }, "/groups/{group_id}": { "get": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "group", "summary": "Get Group", "description": "### Get information about a group.\n", @@ -4942,22 +6160,30 @@ "responses": { "200": { "description": "Group", - "schema": { "$ref": "#/definitions/Group" } + "schema": { + "$ref": "#/definitions/Group" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "update_group", "summary": "Update Group", "description": "### Updates the a group (admin only).", @@ -4975,7 +6201,9 @@ "in": "body", "description": "Group", "required": true, - "schema": { "$ref": "#/definitions/Group" } + "schema": { + "$ref": "#/definitions/Group" + } }, { "name": "fields", @@ -4988,30 +6216,42 @@ "responses": { "200": { "description": "Group", - "schema": { "$ref": "#/definitions/Group" } + "schema": { + "$ref": "#/definitions/Group" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "delete_group", "summary": "Delete Group", "description": "### Deletes a group (admin only).\n", @@ -5028,23 +6268,33 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "403": { "description": "Permission Denied", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -5053,7 +6303,9 @@ }, "/groups/{group_id}/groups": { "get": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "all_group_groups", "summary": "Get All Groups in Group", "description": "### Get information about all the groups in a group\n", @@ -5079,23 +6331,31 @@ "description": "All groups in group.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Group" } + "items": { + "$ref": "#/definitions/Group" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "add_group_group", "summary": "Add a Group to Group", "description": "### Adds a new group to a group.\n", @@ -5113,25 +6373,35 @@ "in": "body", "description": "Group id to add", "required": true, - "schema": { "$ref": "#/definitions/GroupIdForGroupInclusion" } + "schema": { + "$ref": "#/definitions/GroupIdForGroupInclusion" + } } ], "responses": { "200": { "description": "Added group.", - "schema": { "$ref": "#/definitions/Group" } + "schema": { + "$ref": "#/definitions/Group" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "403": { "description": "Permission Denied", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -5140,7 +6410,9 @@ }, "/groups/{group_id}/users": { "get": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "all_group_users", "summary": "Get All Users in Group", "description": "### Get information about all the users directly included in a group.\n", @@ -5189,23 +6461,31 @@ "description": "All users in group.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/User" } + "items": { + "$ref": "#/definitions/User" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "add_group_user", "summary": "Add a User to Group", "description": "### Adds a new user to a group.\n", @@ -5223,25 +6503,35 @@ "in": "body", "description": "User id to add", "required": true, - "schema": { "$ref": "#/definitions/GroupIdForGroupUserInclusion" } + "schema": { + "$ref": "#/definitions/GroupIdForGroupUserInclusion" + } } ], "responses": { "200": { "description": "Added user.", - "schema": { "$ref": "#/definitions/User" } + "schema": { + "$ref": "#/definitions/User" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "403": { "description": "Permission Denied", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -5250,7 +6540,9 @@ }, "/groups/{group_id}/users/{user_id}": { "delete": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "delete_group_user", "summary": "Remove a User from Group", "description": "### Removes a user from a group.\n", @@ -5273,18 +6565,26 @@ } ], "responses": { - "204": { "description": "User successfully removed from group" }, + "204": { + "description": "User successfully removed from group" + }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "403": { "description": "Permission Denied", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -5293,7 +6593,9 @@ }, "/groups/{group_id}/groups/{deleting_group_id}": { "delete": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "delete_group_from_group", "summary": "Deletes a Group from Group", "description": "### Removes a group from a group.\n", @@ -5316,18 +6618,26 @@ } ], "responses": { - "204": { "description": "Group successfully deleted" }, + "204": { + "description": "Group successfully deleted" + }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "403": { "description": "Permission Denied", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -5336,7 +6646,9 @@ }, "/groups/{group_id}/attribute_values/{user_attribute_id}": { "patch": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "update_user_attribute_group_value", "summary": "Set User Attribute Group Value", "description": "### Set the value of a user attribute for a group.\n\nFor information about how user attribute values are calculated, see [Set User Attribute Group Values](#!/UserAttribute/set_user_attribute_group_values).\n", @@ -5362,32 +6674,44 @@ "in": "body", "description": "New value for group.", "required": true, - "schema": { "$ref": "#/definitions/UserAttributeGroupValue" } + "schema": { + "$ref": "#/definitions/UserAttributeGroupValue" + } } ], "responses": { "200": { "description": "Group value object.", - "schema": { "$ref": "#/definitions/UserAttributeGroupValue" } + "schema": { + "$ref": "#/definitions/UserAttributeGroupValue" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "delete_user_attribute_group_value", "summary": "Delete User Attribute Group Value", "description": "### Remove a user attribute value from a group.\n", @@ -5410,14 +6734,20 @@ } ], "responses": { - "204": { "description": "Value successfully unset" }, + "204": { + "description": "Value successfully unset" + }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -5426,7 +6756,9 @@ }, "/homepages": { "get": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "all_homepages", "summary": "Get All Homepages", "description": "### Get information about all homepages.\n", @@ -5444,16 +6776,22 @@ "description": "Homepage", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Homepage" } + "items": { + "$ref": "#/definitions/Homepage" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -5461,7 +6799,9 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "create_homepage", "summary": "Create Homepage", "description": "### Create a new homepage.\n", @@ -5471,7 +6811,9 @@ "in": "body", "description": "Homepage", "required": true, - "schema": { "$ref": "#/definitions/Homepage" } + "schema": { + "$ref": "#/definitions/Homepage" + } }, { "name": "fields", @@ -5484,27 +6826,39 @@ "responses": { "200": { "description": "Homepage", - "schema": { "$ref": "#/definitions/Homepage" } + "schema": { + "$ref": "#/definitions/Homepage" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -5514,7 +6868,9 @@ }, "/homepages/search": { "get": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "search_homepages", "summary": "Search Homepages", "description": "### Search Homepages\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", @@ -5620,16 +6976,22 @@ "description": "homepages", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Homepage" } + "items": { + "$ref": "#/definitions/Homepage" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -5639,7 +7001,9 @@ }, "/homepages/{homepage_id}": { "get": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "homepage", "summary": "Get Homepage", "description": "### Get information about a homepage.\n", @@ -5663,15 +7027,21 @@ "responses": { "200": { "description": "Homepage", - "schema": { "$ref": "#/definitions/Homepage" } + "schema": { + "$ref": "#/definitions/Homepage" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -5679,7 +7049,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "update_homepage", "summary": "Update Homepage", "description": "### Update a homepage definition.\n", @@ -5697,7 +7069,9 @@ "in": "body", "description": "Homepage", "required": true, - "schema": { "$ref": "#/definitions/Homepage" } + "schema": { + "$ref": "#/definitions/Homepage" + } }, { "name": "fields", @@ -5710,23 +7084,33 @@ "responses": { "200": { "description": "Homepage", - "schema": { "$ref": "#/definitions/Homepage" } + "schema": { + "$ref": "#/definitions/Homepage" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -5734,7 +7118,9 @@ "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "delete_homepage", "summary": "Delete Homepage", "description": "### Delete a homepage.\n", @@ -5751,19 +7137,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -5773,7 +7167,9 @@ }, "/homepage_items": { "get": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "all_homepage_items", "summary": "Get All Homepage Items", "description": "### Get information about all homepage items.\n", @@ -5805,16 +7201,22 @@ "description": "Homepage Item", "schema": { "type": "array", - "items": { "$ref": "#/definitions/HomepageItem" } + "items": { + "$ref": "#/definitions/HomepageItem" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -5822,7 +7224,9 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "create_homepage_item", "summary": "Create Homepage Item", "description": "### Create a new homepage item.\n", @@ -5832,7 +7236,9 @@ "in": "body", "description": "Homepage Item", "required": true, - "schema": { "$ref": "#/definitions/HomepageItem" } + "schema": { + "$ref": "#/definitions/HomepageItem" + } }, { "name": "fields", @@ -5845,27 +7251,39 @@ "responses": { "200": { "description": "Homepage Item", - "schema": { "$ref": "#/definitions/HomepageItem" } + "schema": { + "$ref": "#/definitions/HomepageItem" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -5875,7 +7293,9 @@ }, "/homepage_items/{homepage_item_id}": { "get": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "homepage_item", "summary": "Get Homepage Item", "description": "### Get information about a homepage item.\n", @@ -5899,15 +7319,21 @@ "responses": { "200": { "description": "Homepage Item", - "schema": { "$ref": "#/definitions/HomepageItem" } + "schema": { + "$ref": "#/definitions/HomepageItem" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -5915,7 +7341,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "update_homepage_item", "summary": "Update Homepage Item", "description": "### Update a homepage item definition.\n", @@ -5933,7 +7361,9 @@ "in": "body", "description": "Homepage Item", "required": true, - "schema": { "$ref": "#/definitions/HomepageItem" } + "schema": { + "$ref": "#/definitions/HomepageItem" + } }, { "name": "fields", @@ -5946,23 +7376,33 @@ "responses": { "200": { "description": "Homepage Item", - "schema": { "$ref": "#/definitions/HomepageItem" } + "schema": { + "$ref": "#/definitions/HomepageItem" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -5970,7 +7410,9 @@ "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "delete_homepage_item", "summary": "Delete Homepage Item", "description": "### Delete a homepage item.\n", @@ -5987,19 +7429,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -6009,7 +7459,9 @@ }, "/homepage_sections": { "get": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "all_homepage_sections", "summary": "Get All Homepage sections", "description": "### Get information about all homepage sections.\n", @@ -6034,16 +7486,22 @@ "description": "Homepage section", "schema": { "type": "array", - "items": { "$ref": "#/definitions/HomepageSection" } + "items": { + "$ref": "#/definitions/HomepageSection" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -6051,7 +7509,9 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "create_homepage_section", "summary": "Create Homepage section", "description": "### Create a new homepage section.\n", @@ -6061,7 +7521,9 @@ "in": "body", "description": "Homepage section", "required": true, - "schema": { "$ref": "#/definitions/HomepageSection" } + "schema": { + "$ref": "#/definitions/HomepageSection" + } }, { "name": "fields", @@ -6074,27 +7536,39 @@ "responses": { "200": { "description": "Homepage section", - "schema": { "$ref": "#/definitions/HomepageSection" } + "schema": { + "$ref": "#/definitions/HomepageSection" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -6104,7 +7578,9 @@ }, "/homepage_sections/{homepage_section_id}": { "get": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "homepage_section", "summary": "Get Homepage section", "description": "### Get information about a homepage section.\n", @@ -6128,15 +7604,21 @@ "responses": { "200": { "description": "Homepage section", - "schema": { "$ref": "#/definitions/HomepageSection" } + "schema": { + "$ref": "#/definitions/HomepageSection" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -6144,7 +7626,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "update_homepage_section", "summary": "Update Homepage section", "description": "### Update a homepage section definition.\n", @@ -6162,7 +7646,9 @@ "in": "body", "description": "Homepage section", "required": true, - "schema": { "$ref": "#/definitions/HomepageSection" } + "schema": { + "$ref": "#/definitions/HomepageSection" + } }, { "name": "fields", @@ -6175,23 +7661,33 @@ "responses": { "200": { "description": "Homepage section", - "schema": { "$ref": "#/definitions/HomepageSection" } + "schema": { + "$ref": "#/definitions/HomepageSection" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -6199,7 +7695,9 @@ "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "delete_homepage_section", "summary": "Delete Homepage section", "description": "### Delete a homepage section.\n", @@ -6216,19 +7714,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -6238,7 +7744,9 @@ }, "/primary_homepage_sections": { "get": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "all_primary_homepage_sections", "summary": "Get All Primary homepage sections", "description": "### Get information about the primary homepage's sections.\n", @@ -6256,16 +7764,22 @@ "description": "Primary homepage section", "schema": { "type": "array", - "items": { "$ref": "#/definitions/HomepageSection" } + "items": { + "$ref": "#/definitions/HomepageSection" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -6274,7 +7788,9 @@ }, "/integration_hubs": { "get": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "all_integration_hubs", "summary": "Get All Integration Hubs", "description": "### Get information about all Integration Hubs.\n", @@ -6292,23 +7808,31 @@ "description": "Integration Hub", "schema": { "type": "array", - "items": { "$ref": "#/definitions/IntegrationHub" } + "items": { + "$ref": "#/definitions/IntegrationHub" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "create_integration_hub", "summary": "Create Integration Hub", "description": "### Create a new Integration Hub.\n\nThis API is rate limited to prevent it from being used for SSRF attacks\n", @@ -6318,7 +7842,9 @@ "in": "body", "description": "Integration Hub", "required": true, - "schema": { "$ref": "#/definitions/IntegrationHub" } + "schema": { + "$ref": "#/definitions/IntegrationHub" + } }, { "name": "fields", @@ -6331,27 +7857,39 @@ "responses": { "200": { "description": "Integration Hub", - "schema": { "$ref": "#/definitions/IntegrationHub" } + "schema": { + "$ref": "#/definitions/IntegrationHub" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -6361,7 +7899,9 @@ }, "/integration_hubs/{integration_hub_id}": { "get": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "integration_hub", "summary": "Get Integration Hub", "description": "### Get information about a Integration Hub.\n", @@ -6385,22 +7925,30 @@ "responses": { "200": { "description": "Integration Hub", - "schema": { "$ref": "#/definitions/IntegrationHub" } + "schema": { + "$ref": "#/definitions/IntegrationHub" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "update_integration_hub", "summary": "Update Integration Hub", "description": "### Update a Integration Hub definition.\n\nThis API is rate limited to prevent it from being used for SSRF attacks\n", @@ -6418,7 +7966,9 @@ "in": "body", "description": "Integration Hub", "required": true, - "schema": { "$ref": "#/definitions/IntegrationHub" } + "schema": { + "$ref": "#/definitions/IntegrationHub" + } }, { "name": "fields", @@ -6431,23 +7981,33 @@ "responses": { "200": { "description": "Integration Hub", - "schema": { "$ref": "#/definitions/IntegrationHub" } + "schema": { + "$ref": "#/definitions/IntegrationHub" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -6455,7 +8015,9 @@ "x-looker-rate-limited": true }, "delete": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "delete_integration_hub", "summary": "Delete Integration Hub", "description": "### Delete a Integration Hub.\n", @@ -6472,19 +8034,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -6493,7 +8063,9 @@ }, "/integration_hubs/{integration_hub_id}/accept_legal_agreement": { "post": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "accept_integration_hub_legal_agreement", "summary": "Accept Integration Hub Legal Agreement", "description": "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.", @@ -6510,19 +8082,27 @@ "responses": { "200": { "description": "Integration hub", - "schema": { "$ref": "#/definitions/IntegrationHub" } + "schema": { + "$ref": "#/definitions/IntegrationHub" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -6531,7 +8111,9 @@ }, "/integrations": { "get": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "all_integrations", "summary": "Get All Integrations", "description": "### Get information about all Integrations.\n", @@ -6556,16 +8138,22 @@ "description": "Integration", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Integration" } + "items": { + "$ref": "#/definitions/Integration" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -6574,7 +8162,9 @@ }, "/integrations/{integration_id}": { "get": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "integration", "summary": "Get Integration", "description": "### Get information about a Integration.\n", @@ -6597,22 +8187,30 @@ "responses": { "200": { "description": "Integration", - "schema": { "$ref": "#/definitions/Integration" } + "schema": { + "$ref": "#/definitions/Integration" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "update_integration", "summary": "Update Integration", "description": "### Update parameters on a Integration.\n", @@ -6629,7 +8227,9 @@ "in": "body", "description": "Integration", "required": true, - "schema": { "$ref": "#/definitions/Integration" } + "schema": { + "$ref": "#/definitions/Integration" + } }, { "name": "fields", @@ -6642,23 +8242,33 @@ "responses": { "200": { "description": "Integration", - "schema": { "$ref": "#/definitions/Integration" } + "schema": { + "$ref": "#/definitions/Integration" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -6667,7 +8277,9 @@ }, "/integrations/{integration_id}/form": { "post": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "fetch_integration_form", "summary": "Fetch Remote Integration Form", "description": "Returns the Integration form for presentation to the user.", @@ -6686,26 +8298,36 @@ "required": false, "schema": { "type": "object", - "additionalProperties": { "type": "string" } + "additionalProperties": { + "type": "string" + } } } ], "responses": { "200": { "description": "Data Action Form", - "schema": { "$ref": "#/definitions/DataActionForm" } + "schema": { + "$ref": "#/definitions/DataActionForm" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -6714,7 +8336,9 @@ }, "/integrations/{integration_id}/test": { "post": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "test_integration", "summary": "Test integration", "description": "Tests the integration to make sure all the settings are working.", @@ -6730,19 +8354,27 @@ "responses": { "200": { "description": "Test Result", - "schema": { "$ref": "#/definitions/IntegrationTestResult" } + "schema": { + "$ref": "#/definitions/IntegrationTestResult" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -6751,29 +8383,39 @@ }, "/internal_help_resources_content": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "internal_help_resources_content", "summary": "Get Internal Help Resources Content", "description": "### Set the menu item name and content for internal help resources\n", "responses": { "200": { "description": "Internal Help Resources Content", - "schema": { "$ref": "#/definitions/InternalHelpResourcesContent" } + "schema": { + "$ref": "#/definitions/InternalHelpResourcesContent" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "update_internal_help_resources_content", "summary": "Update internal help resources content", "description": "Update internal help resources content\n", @@ -6783,29 +8425,41 @@ "in": "body", "description": "Internal Help Resources Content", "required": true, - "schema": { "$ref": "#/definitions/InternalHelpResourcesContent" } + "schema": { + "$ref": "#/definitions/InternalHelpResourcesContent" + } } ], "responses": { "200": { "description": "Internal Help Resources Content", - "schema": { "$ref": "#/definitions/InternalHelpResourcesContent" } + "schema": { + "$ref": "#/definitions/InternalHelpResourcesContent" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -6814,22 +8468,30 @@ }, "/internal_help_resources_enabled": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "internal_help_resources", "summary": "Get Internal Help Resources", "description": "### Get and set the options for internal help resources\n", "responses": { "200": { "description": "Internal Help Resources", - "schema": { "$ref": "#/definitions/InternalHelpResources" } + "schema": { + "$ref": "#/definitions/InternalHelpResources" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -6838,7 +8500,9 @@ }, "/internal_help_resources": { "patch": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "update_internal_help_resources", "summary": "Update internal help resources configuration", "description": "Update internal help resources settings\n", @@ -6848,29 +8512,41 @@ "in": "body", "description": "Custom Welcome Email", "required": true, - "schema": { "$ref": "#/definitions/InternalHelpResources" } + "schema": { + "$ref": "#/definitions/InternalHelpResources" + } } ], "responses": { "200": { "description": "Custom Welcome Email", - "schema": { "$ref": "#/definitions/InternalHelpResources" } + "schema": { + "$ref": "#/definitions/InternalHelpResources" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -6879,25 +8555,33 @@ }, "/ldap_config": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "ldap_config", "summary": "Get LDAP Configuration", "description": "### Get the LDAP configuration.\n\nLooker can be optionally configured to authenticate users against an Active Directory or other LDAP directory server.\nLDAP setup requires coordination with an administrator of that directory server.\n\nOnly Looker administrators can read and update the LDAP configuration.\n\nConfiguring LDAP impacts authentication for all users. This configuration should be done carefully.\n\nLooker 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).\n\nLDAP is enabled or disabled for Looker using the **enabled** field.\n\nLooker will never return an **auth_password** field. That value can be set, but never retrieved.\n\nSee the [Looker LDAP docs](https://www.looker.com/docs/r/api/ldap_setup) for additional information.\n", "responses": { "200": { "description": "LDAP Configuration.", - "schema": { "$ref": "#/definitions/LDAPConfig" } + "schema": { + "$ref": "#/definitions/LDAPConfig" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "update_ldap_config", "summary": "Update LDAP Configuration", "description": "### Update the LDAP configuration.\n\nConfiguring LDAP impacts authentication for all users. This configuration should be done carefully.\n\nOnly Looker administrators can read and update the LDAP configuration.\n\nLDAP is enabled or disabled for Looker using the **enabled** field.\n\nIt is **highly** recommended that any LDAP setting changes be tested using the APIs below before being set globally.\n\nSee the [Looker LDAP docs](https://www.looker.com/docs/r/api/ldap_setup) for additional information.\n", @@ -6907,25 +8591,35 @@ "in": "body", "description": "LDAP Config", "required": true, - "schema": { "$ref": "#/definitions/LDAPConfig" } + "schema": { + "$ref": "#/definitions/LDAPConfig" + } } ], "responses": { "200": { "description": "New state for LDAP Configuration.", - "schema": { "$ref": "#/definitions/LDAPConfig" } + "schema": { + "$ref": "#/definitions/LDAPConfig" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -6934,7 +8628,9 @@ }, "/ldap_config/test_connection": { "put": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "test_ldap_config_connection", "summary": "Test LDAP Connection", "description": "### Test the connection settings for an LDAP configuration.\n\nThis tests that the connection is possible given a connection_host and connection_port.\n\n**connection_host** and **connection_port** are required. **connection_tls** is optional.\n\nExample:\n```json\n{\n \"connection_host\": \"ldap.example.com\",\n \"connection_port\": \"636\",\n \"connection_tls\": true\n}\n```\n\nNo authentication to the LDAP server is attempted.\n\nThe active LDAP settings are not modified.\n", @@ -6944,25 +8640,35 @@ "in": "body", "description": "LDAP Config", "required": true, - "schema": { "$ref": "#/definitions/LDAPConfig" } + "schema": { + "$ref": "#/definitions/LDAPConfig" + } } ], "responses": { "200": { "description": "Result info.", - "schema": { "$ref": "#/definitions/LDAPConfigTestResult" } + "schema": { + "$ref": "#/definitions/LDAPConfigTestResult" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -6971,7 +8677,9 @@ }, "/ldap_config/test_auth": { "put": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "test_ldap_config_auth", "summary": "Test LDAP Auth", "description": "### Test the connection authentication settings for an LDAP configuration.\n\nThis 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.\n\n**connection_host**, **connection_port**, and **auth_username**, are required. **connection_tls** and **auth_password** are optional.\n\nExample:\n```json\n{\n \"connection_host\": \"ldap.example.com\",\n \"connection_port\": \"636\",\n \"connection_tls\": true,\n \"auth_username\": \"cn=looker,dc=example,dc=com\",\n \"auth_password\": \"secret\"\n}\n```\n\nLooker 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.\n\nThe active LDAP settings are not modified.\n\n", @@ -6981,25 +8689,35 @@ "in": "body", "description": "LDAP Config", "required": true, - "schema": { "$ref": "#/definitions/LDAPConfig" } + "schema": { + "$ref": "#/definitions/LDAPConfig" + } } ], "responses": { "200": { "description": "Result info.", - "schema": { "$ref": "#/definitions/LDAPConfigTestResult" } + "schema": { + "$ref": "#/definitions/LDAPConfigTestResult" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -7008,7 +8726,9 @@ }, "/ldap_config/test_user_info": { "put": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "test_ldap_config_user_info", "summary": "Test LDAP User Info", "description": "### Test the user authentication settings for an LDAP configuration without authenticating the user.\n\nThis test will let you easily test the mapping for user properties and roles for any user without needing to authenticate as that user.\n\nThis test accepts a full LDAP configuration along with a username and attempts to find the full info for the user from the LDAP server without actually authenticating the user. So, user password is not required.The configuration is validated before attempting to contact the server.\n\n**test_ldap_user** is required.\n\nThe active LDAP settings are not modified.\n\n", @@ -7018,25 +8738,35 @@ "in": "body", "description": "LDAP Config", "required": true, - "schema": { "$ref": "#/definitions/LDAPConfig" } + "schema": { + "$ref": "#/definitions/LDAPConfig" + } } ], "responses": { "200": { "description": "Result info.", - "schema": { "$ref": "#/definitions/LDAPConfigTestResult" } + "schema": { + "$ref": "#/definitions/LDAPConfigTestResult" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -7045,7 +8775,9 @@ }, "/ldap_config/test_user_auth": { "put": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "test_ldap_config_user_auth", "summary": "Test LDAP User Auth", "description": "### Test the user authentication settings for an LDAP configuration.\n\nThis 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.\n\nLooker 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.\n\n**test_ldap_user** and **test_ldap_password** are required.\n\nThe active LDAP settings are not modified.\n\n", @@ -7055,25 +8787,35 @@ "in": "body", "description": "LDAP Config", "required": true, - "schema": { "$ref": "#/definitions/LDAPConfig" } + "schema": { + "$ref": "#/definitions/LDAPConfig" + } } ], "responses": { "200": { "description": "Result info.", - "schema": { "$ref": "#/definitions/LDAPConfigTestResult" } + "schema": { + "$ref": "#/definitions/LDAPConfigTestResult" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -7082,7 +8824,9 @@ }, "/legacy_features": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "all_legacy_features", "summary": "Get All Legacy Features", "description": "### Get all legacy features.\n", @@ -7091,16 +8835,22 @@ "description": "Legacy Feature", "schema": { "type": "array", - "items": { "$ref": "#/definitions/LegacyFeature" } + "items": { + "$ref": "#/definitions/LegacyFeature" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -7109,7 +8859,9 @@ }, "/legacy_features/{legacy_feature_id}": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "legacy_feature", "summary": "Get Legacy Feature", "description": "### Get information about the legacy feature with a specific id.\n", @@ -7126,22 +8878,30 @@ "responses": { "200": { "description": "Legacy Feature", - "schema": { "$ref": "#/definitions/LegacyFeature" } + "schema": { + "$ref": "#/definitions/LegacyFeature" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "update_legacy_feature", "summary": "Update Legacy Feature", "description": "### Update information about the legacy feature with a specific id.\n", @@ -7159,29 +8919,41 @@ "in": "body", "description": "Legacy Feature", "required": true, - "schema": { "$ref": "#/definitions/LegacyFeature" } + "schema": { + "$ref": "#/definitions/LegacyFeature" + } } ], "responses": { "200": { "description": "Legacy Feature", - "schema": { "$ref": "#/definitions/LegacyFeature" } + "schema": { + "$ref": "#/definitions/LegacyFeature" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -7190,7 +8962,9 @@ }, "/locales": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "all_locales", "summary": "Get All Locales", "description": "### Get a list of locales that Looker supports.\n", @@ -7199,16 +8973,22 @@ "description": "Locale", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Locale" } + "items": { + "$ref": "#/definitions/Locale" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -7217,7 +8997,9 @@ }, "/looks": { "get": { - "tags": ["Look"], + "tags": [ + "Look" + ], "operationId": "all_looks", "summary": "Get All Looks", "description": "### Get information about all active Looks\n\nReturns an array of **abbreviated Look objects** describing all the looks that the caller has access to. Soft-deleted Looks are **not** included.\n\nGet the **full details** of a specific look by id with [look(id)](#!/Look/look)\n\nFind **soft-deleted looks** with [search_looks()](#!/Look/search_looks)\n", @@ -7235,23 +9017,31 @@ "description": "Look", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Look" } + "items": { + "$ref": "#/definitions/Look" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Look"], + "tags": [ + "Look" + ], "operationId": "create_look", "summary": "Create Look", "description": "### Create a Look\n\nTo create a look to display query data, first create the query with [create_query()](#!/Query/create_query)\nthen assign the query's id to the `query_id` property in the call to `create_look()`.\n\nTo place the look into a particular space, assign the space's id to the `space_id` property\nin the call to `create_look()`.\n", @@ -7261,7 +9051,9 @@ "in": "body", "description": "Look", "required": true, - "schema": { "$ref": "#/definitions/LookWithQuery" } + "schema": { + "$ref": "#/definitions/LookWithQuery" + } }, { "name": "fields", @@ -7274,27 +9066,39 @@ "responses": { "200": { "description": "Look", - "schema": { "$ref": "#/definitions/LookWithQuery" } + "schema": { + "$ref": "#/definitions/LookWithQuery" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -7303,7 +9107,9 @@ }, "/looks/search": { "get": { - "tags": ["Look"], + "tags": [ + "Look" + ], "operationId": "search_looks", "summary": "Search Looks", "description": "### Search Looks\n\nReturns an **array of Look objects** that match the specified search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\nGet a **single look** by id with [look(id)](#!/Look/look)\n", @@ -7439,16 +9245,22 @@ "description": "looks", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Look" } + "items": { + "$ref": "#/definitions/Look" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -7457,7 +9269,9 @@ }, "/looks/{look_id}": { "get": { - "tags": ["Look"], + "tags": [ + "Look" + ], "operationId": "look", "summary": "Get Look", "description": "### Get a Look.\n\nReturns detailed information about a Look and its associated Query.\n\n", @@ -7481,22 +9295,30 @@ "responses": { "200": { "description": "Look", - "schema": { "$ref": "#/definitions/LookWithQuery" } + "schema": { + "$ref": "#/definitions/LookWithQuery" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Look"], + "tags": [ + "Look" + ], "operationId": "update_look", "summary": "Update Look", "description": "### Modify a Look\n\nUse this function to modify parts of a look. Property values given in a call to `update_look` are\napplied to the existing look, so there's no need to include properties whose values are not changing.\nIt's best to specify only the properties you want to change and leave everything else out\nof your `update_look` call. **Look properties marked 'read-only' will be ignored.**\n\nWhen a user deletes a look in the Looker UI, the look data remains in the database but is\nmarked with a deleted flag (\"soft-deleted\"). Soft-deleted looks can be undeleted (by an admin)\nif the delete was in error.\n\nTo soft-delete a look via the API, use [update_look()](#!/Look/update_look) to change the look's `deleted` property to `true`.\nYou can undelete a look by calling `update_look` to change the look's `deleted` property to `false`.\n\nSoft-deleted looks are excluded from the results of [all_looks()](#!/Look/all_looks) and [search_looks()](#!/Look/search_looks), so they\nessentially disappear from view even though they still reside in the db.\nIn API 3.1 and later, you can pass `deleted: true` as a parameter to [search_looks()](#!/3.1/Look/search_looks) to list soft-deleted looks.\n\nNOTE: [delete_look()](#!/Look/delete_look) performs a \"hard delete\" - the look data is removed from the Looker\ndatabase and destroyed. There is no \"undo\" for `delete_look()`.\n", @@ -7514,7 +9336,9 @@ "in": "body", "description": "Look", "required": true, - "schema": { "$ref": "#/definitions/LookWithQuery" } + "schema": { + "$ref": "#/definitions/LookWithQuery" + } }, { "name": "fields", @@ -7527,30 +9351,42 @@ "responses": { "200": { "description": "Look", - "schema": { "$ref": "#/definitions/LookWithQuery" } + "schema": { + "$ref": "#/definitions/LookWithQuery" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Look"], + "tags": [ + "Look" + ], "operationId": "delete_look", "summary": "Delete Look", "description": "### Permanently Delete a Look\n\nThis operation **permanently** removes a look from the Looker database.\n\nNOTE: There is no \"undo\" for this kind of delete.\n\nFor information about soft-delete (which can be undone) see [update_look()](#!/Look/update_look).\n", @@ -7567,19 +9403,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -7588,11 +9432,18 @@ }, "/looks/{look_id}/run/{result_format}": { "get": { - "tags": ["Look"], + "tags": [ + "Look" + ], "operationId": "run_look", "summary": "Run Look", "description": "### Run a Look\n\nRuns a given look's query and returns the results in the requested format.\n\nSupported formats:\n\n| result_format | Description\n| :-----------: | :--- |\n| json | Plain json\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| md | Simple markdown\n| xlsx | MS Excel spreadsheet\n| sql | Returns the generated SQL rather than running the query\n| png | A PNG image of the visualization of the query\n| jpg | A JPG image of the visualization of the query\n\n\n", - "produces": ["text", "application/json", "image/png", "image/jpeg"], + "produces": [ + "text", + "application/json", + "image/png", + "image/jpeg" + ], "parameters": [ { "name": "look_id", @@ -7698,22 +9549,35 @@ } ], "responses": { - "200": { "description": "Look", "schema": { "type": "string" } }, + "200": { + "description": "Look", + "schema": { + "type": "string" + } + }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -7722,7 +9586,9 @@ }, "/lookml_models": { "get": { - "tags": ["LookmlModel"], + "tags": [ + "LookmlModel" + ], "operationId": "all_lookml_models", "summary": "Get All LookML Models", "description": "### Get information about all lookml models.\n", @@ -7740,23 +9606,31 @@ "description": "LookML Model", "schema": { "type": "array", - "items": { "$ref": "#/definitions/LookmlModel" } + "items": { + "$ref": "#/definitions/LookmlModel" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["LookmlModel"], + "tags": [ + "LookmlModel" + ], "operationId": "create_lookml_model", "summary": "Create LookML Model", "description": "### Create a lookml model using the specified configuration.\n", @@ -7766,33 +9640,47 @@ "in": "body", "description": "LookML Model", "required": true, - "schema": { "$ref": "#/definitions/LookmlModel" } + "schema": { + "$ref": "#/definitions/LookmlModel" + } } ], "responses": { "200": { "description": "LookML Model", - "schema": { "$ref": "#/definitions/LookmlModel" } + "schema": { + "$ref": "#/definitions/LookmlModel" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -7801,7 +9689,9 @@ }, "/lookml_models/{lookml_model_name}": { "get": { - "tags": ["LookmlModel"], + "tags": [ + "LookmlModel" + ], "operationId": "lookml_model", "summary": "Get LookML Model", "description": "### Get information about a lookml model.\n", @@ -7824,22 +9714,30 @@ "responses": { "200": { "description": "LookML Model", - "schema": { "$ref": "#/definitions/LookmlModel" } + "schema": { + "$ref": "#/definitions/LookmlModel" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["LookmlModel"], + "tags": [ + "LookmlModel" + ], "operationId": "update_lookml_model", "summary": "Update LookML Model", "description": "### Update a lookml model using the specified configuration.\n", @@ -7856,36 +9754,50 @@ "in": "body", "description": "LookML Model", "required": true, - "schema": { "$ref": "#/definitions/LookmlModel" } + "schema": { + "$ref": "#/definitions/LookmlModel" + } } ], "responses": { "200": { "description": "LookML Model", - "schema": { "$ref": "#/definitions/LookmlModel" } + "schema": { + "$ref": "#/definitions/LookmlModel" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["LookmlModel"], + "tags": [ + "LookmlModel" + ], "operationId": "delete_lookml_model", "summary": "Delete LookML Model", "description": "### Delete a lookml model.\n", @@ -7901,19 +9813,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -7922,7 +9842,9 @@ }, "/lookml_models/{lookml_model_name}/explores/{explore_name}": { "get": { - "tags": ["LookmlModel"], + "tags": [ + "LookmlModel" + ], "operationId": "lookml_model_explore", "summary": "Get LookML Model Explore", "description": "### Get information about a lookml model explore.\n", @@ -7952,15 +9874,21 @@ "responses": { "200": { "description": "LookML Model Explore", - "schema": { "$ref": "#/definitions/LookmlModelExplore" } + "schema": { + "$ref": "#/definitions/LookmlModelExplore" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -7969,7 +9897,9 @@ }, "/merge_queries/{merge_query_id}": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "merge_query", "summary": "Get Merge Query", "description": "### Get Merge Query\n\nReturns a merge query object given its id.\n", @@ -7992,15 +9922,21 @@ "responses": { "200": { "description": "Merge Query", - "schema": { "$ref": "#/definitions/MergeQuery" } + "schema": { + "$ref": "#/definitions/MergeQuery" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -8009,7 +9945,9 @@ }, "/merge_queries": { "post": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "create_merge_query", "summary": "Create Merge Query", "description": "### Create Merge Query\n\nCreates a new merge query object.\n\nA merge query takes the results of one or more queries and combines (merges) the results\naccording to field mapping definitions. The result is similar to a SQL left outer join.\n\nA merge query can merge results of queries from different SQL databases.\n\nThe order that queries are defined in the source_queries array property is significant. The\nfirst query in the array defines the primary key into which the results of subsequent\nqueries will be merged.\n\nLike model/view query objects, merge queries are immutable and have structural identity - if\nyou make a request to create a new merge query that is identical to an existing merge query,\nthe existing merge query will be returned instead of creating a duplicate. Conversely, any\nchange to the contents of a merge query will produce a new object with a new id.\n", @@ -8019,7 +9957,9 @@ "in": "body", "description": "Merge Query", "required": false, - "schema": { "$ref": "#/definitions/MergeQuery" } + "schema": { + "$ref": "#/definitions/MergeQuery" + } }, { "name": "fields", @@ -8032,27 +9972,39 @@ "responses": { "200": { "description": "Merge Query", - "schema": { "$ref": "#/definitions/MergeQuery" } + "schema": { + "$ref": "#/definitions/MergeQuery" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -8061,7 +10013,9 @@ }, "/model_sets/search": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "search_model_sets", "summary": "Search Model Sets", "description": "### Search model sets\nReturns all model set records that match the given search criteria.\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", @@ -8138,16 +10092,22 @@ "description": "Model Set", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ModelSet" } + "items": { + "$ref": "#/definitions/ModelSet" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -8156,7 +10116,9 @@ }, "/model_sets/{model_set_id}": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "model_set", "summary": "Get Model Set", "description": "### Get information about the model set with a specific id.\n", @@ -8180,22 +10142,30 @@ "responses": { "200": { "description": "Specified model set.", - "schema": { "$ref": "#/definitions/ModelSet" } + "schema": { + "$ref": "#/definitions/ModelSet" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "delete_model_set", "summary": "Delete Model Set", "description": "### Delete the model set with a specific id.\n", @@ -8212,26 +10182,36 @@ "responses": { "204": { "description": "Model set succssfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "405": { "description": "Resource Can't Be Modified", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "update_model_set", "summary": "Update Model Set", "description": "### Update information about the model set with a specific id.\n", @@ -8249,29 +10229,41 @@ "in": "body", "description": "ModelSet", "required": true, - "schema": { "$ref": "#/definitions/ModelSet" } + "schema": { + "$ref": "#/definitions/ModelSet" + } } ], "responses": { "200": { "description": "New state for specified model set.", - "schema": { "$ref": "#/definitions/ModelSet" } + "schema": { + "$ref": "#/definitions/ModelSet" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "405": { "description": "Resource Can't Be Modified", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -8280,7 +10272,9 @@ }, "/model_sets": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "all_model_sets", "summary": "Get All Model Sets", "description": "### Get information about all model sets.\n", @@ -8298,19 +10292,25 @@ "description": "All model sets.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ModelSet" } + "items": { + "$ref": "#/definitions/ModelSet" + } } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "create_model_set", "summary": "Create Model Set", "description": "### Create a model set with the specified information. Model sets are used by Roles.\n", @@ -8320,29 +10320,41 @@ "in": "body", "description": "ModelSet", "required": true, - "schema": { "$ref": "#/definitions/ModelSet" } + "schema": { + "$ref": "#/definitions/ModelSet" + } } ], "responses": { "200": { "description": "Newly created ModelSet", - "schema": { "$ref": "#/definitions/ModelSet" } + "schema": { + "$ref": "#/definitions/ModelSet" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -8351,25 +10363,33 @@ }, "/oidc_config": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "oidc_config", "summary": "Get OIDC Configuration", "description": "### Get the OIDC configuration.\n\nLooker can be optionally configured to authenticate users against an OpenID Connect (OIDC)\nauthentication server. OIDC setup requires coordination with an administrator of that server.\n\nOnly Looker administrators can read and update the OIDC configuration.\n\nConfiguring OIDC impacts authentication for all users. This configuration should be done carefully.\n\nLooker maintains a single OIDC configuation. 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).\n\nOIDC is enabled or disabled for Looker using the **enabled** field.\n", "responses": { "200": { "description": "OIDC Configuration.", - "schema": { "$ref": "#/definitions/OIDCConfig" } + "schema": { + "$ref": "#/definitions/OIDCConfig" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "update_oidc_config", "summary": "Update OIDC Configuration", "description": "### Update the OIDC configuration.\n\nConfiguring OIDC impacts authentication for all users. This configuration should be done carefully.\n\nOnly Looker administrators can read and update the OIDC configuration.\n\nOIDC is enabled or disabled for Looker using the **enabled** field.\n\nIt is **highly** recommended that any OIDC setting changes be tested using the APIs below before being set globally.\n", @@ -8379,25 +10399,35 @@ "in": "body", "description": "OIDC Config", "required": true, - "schema": { "$ref": "#/definitions/OIDCConfig" } + "schema": { + "$ref": "#/definitions/OIDCConfig" + } } ], "responses": { "200": { "description": "New state for OIDC Configuration.", - "schema": { "$ref": "#/definitions/OIDCConfig" } + "schema": { + "$ref": "#/definitions/OIDCConfig" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -8406,7 +10436,9 @@ }, "/oidc_test_configs/{test_slug}": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "oidc_test_config", "summary": "Get OIDC Test Configuration", "description": "### Get a OIDC test configuration by test_slug.\n", @@ -8422,18 +10454,24 @@ "responses": { "200": { "description": "OIDC test config.", - "schema": { "$ref": "#/definitions/OIDCConfig" } + "schema": { + "$ref": "#/definitions/OIDCConfig" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "delete_oidc_test_config", "summary": "Delete OIDC Test Configuration", "description": "### Delete a OIDC test configuration.\n", @@ -8449,15 +10487,21 @@ "responses": { "204": { "description": "Test config succssfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -8466,7 +10510,9 @@ }, "/oidc_test_configs": { "post": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "create_oidc_test_config", "summary": "Create OIDC Test Configuration", "description": "### Create a OIDC test configuration.\n", @@ -8476,25 +10522,35 @@ "in": "body", "description": "OIDC test config", "required": true, - "schema": { "$ref": "#/definitions/OIDCConfig" } + "schema": { + "$ref": "#/definitions/OIDCConfig" + } } ], "responses": { "200": { "description": "OIDC test config", - "schema": { "$ref": "#/definitions/OIDCConfig" } + "schema": { + "$ref": "#/definitions/OIDCConfig" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -8503,29 +10559,39 @@ }, "/password_config": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "password_config", "summary": "Get Password Config", "description": "### Get password config.\n", "responses": { "200": { "description": "Password Config", - "schema": { "$ref": "#/definitions/PasswordConfig" } + "schema": { + "$ref": "#/definitions/PasswordConfig" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "update_password_config", "summary": "Update Password Config", "description": "### Update password config.\n", @@ -8535,29 +10601,41 @@ "in": "body", "description": "Password Config", "required": true, - "schema": { "$ref": "#/definitions/PasswordConfig" } + "schema": { + "$ref": "#/definitions/PasswordConfig" + } } ], "responses": { "200": { "description": "Password Config", - "schema": { "$ref": "#/definitions/PasswordConfig" } + "schema": { + "$ref": "#/definitions/PasswordConfig" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -8566,30 +10644,42 @@ }, "/password_config/force_password_reset_at_next_login_for_all_users": { "put": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "force_password_reset_at_next_login_for_all_users", "summary": "Force password reset", "description": "### Force all credentials_email users to reset their login passwords upon their next login.\n", "responses": { "200": { "description": "Password Config", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -8598,7 +10688,9 @@ }, "/permissions": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "all_permissions", "summary": "Get All Permissions", "description": "### Get all supported permissions.\n", @@ -8607,16 +10699,22 @@ "description": "Permission", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Permission" } + "items": { + "$ref": "#/definitions/Permission" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -8625,7 +10723,9 @@ }, "/permission_sets/search": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "search_permission_sets", "summary": "Search Permission Sets", "description": "### Search permission sets\nReturns all permission set records that match the given search criteria.\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", @@ -8702,16 +10802,22 @@ "description": "Permission Set", "schema": { "type": "array", - "items": { "$ref": "#/definitions/PermissionSet" } + "items": { + "$ref": "#/definitions/PermissionSet" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -8720,7 +10826,9 @@ }, "/permission_sets/{permission_set_id}": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "permission_set", "summary": "Get Permission Set", "description": "### Get information about the permission set with a specific id.\n", @@ -8744,22 +10852,30 @@ "responses": { "200": { "description": "Permission Set", - "schema": { "$ref": "#/definitions/PermissionSet" } + "schema": { + "$ref": "#/definitions/PermissionSet" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "delete_permission_set", "summary": "Delete Permission Set", "description": "### Delete the permission set with a specific id.\n", @@ -8776,30 +10892,42 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "405": { "description": "Resource Can't Be Modified", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "update_permission_set", "summary": "Update Permission Set", "description": "### Update information about the permission set with a specific id.\n", @@ -8817,33 +10945,47 @@ "in": "body", "description": "Permission Set", "required": true, - "schema": { "$ref": "#/definitions/PermissionSet" } + "schema": { + "$ref": "#/definitions/PermissionSet" + } } ], "responses": { "200": { "description": "Permission Set", - "schema": { "$ref": "#/definitions/PermissionSet" } + "schema": { + "$ref": "#/definitions/PermissionSet" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "405": { "description": "Resource Can't Be Modified", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -8852,7 +10994,9 @@ }, "/permission_sets": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "all_permission_sets", "summary": "Get All Permission Sets", "description": "### Get information about all permission sets.\n", @@ -8870,23 +11014,31 @@ "description": "Permission Set", "schema": { "type": "array", - "items": { "$ref": "#/definitions/PermissionSet" } + "items": { + "$ref": "#/definitions/PermissionSet" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "create_permission_set", "summary": "Create Permission Set", "description": "### Create a permission set with the specified information. Permission sets are used by Roles.\n", @@ -8896,33 +11048,47 @@ "in": "body", "description": "Permission Set", "required": true, - "schema": { "$ref": "#/definitions/PermissionSet" } + "schema": { + "$ref": "#/definitions/PermissionSet" + } } ], "responses": { "200": { "description": "Permission Set", - "schema": { "$ref": "#/definitions/PermissionSet" } + "schema": { + "$ref": "#/definitions/PermissionSet" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -8931,7 +11097,9 @@ }, "/projects/{project_id}/deploy_ref_to_production": { "post": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "deploy_ref_to_production", "summary": "Deploy Remote Branch or Ref to Production", "description": "### Deploy a Remote Branch or Ref to Production\n\nGit must have been configured and deploy permission required.\n\nDeploy is a one/two step process\n1. If this is the first deploy of this project, create the production project with git repository.\n2. Pull the branch or ref into the production project.\n\nCan only specify either a branch or a ref.\n\n", @@ -8959,25 +11127,38 @@ } ], "responses": { - "200": { "description": "Project", "schema": { "type": "string" } }, + "200": { + "description": "Project", + "schema": { + "type": "string" + } + }, "204": { "description": "Returns 204 if project was successfully deployed to production, otherwise 400 with an error message" }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -8986,7 +11167,9 @@ }, "/projects/{project_id}/deploy_to_production": { "post": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "deploy_to_production", "summary": "Deploy To Production", "description": "### Deploy LookML from this Development Mode Project to Production\n\nGit must have been configured, must be in dev mode and deploy permission required\n\nDeploy is a two / three step process:\n\n1. Push commits in current branch of dev mode project to the production branch (origin/master).\n Note a. This step is skipped in read-only projects.\n Note b. If this step is unsuccessful for any reason (e.g. rejected non-fastforward because production branch has\n commits not in current branch), subsequent steps will be skipped.\n2. If this is the first deploy of this project, create the production project with git repository.\n3. Pull the production branch into the production project.\n\n", @@ -9000,25 +11183,38 @@ } ], "responses": { - "200": { "description": "Project", "schema": { "type": "string" } }, + "200": { + "description": "Project", + "schema": { + "type": "string" + } + }, "204": { "description": "Returns 204 if project was successfully deployed to production, otherwise 400 with an error message" }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -9027,7 +11223,9 @@ }, "/projects/{project_id}/reset_to_production": { "post": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "reset_project_to_production", "summary": "Reset To Production", "description": "### Reset a project to the revision of the project that is in production.\n\n**DANGER** this will delete any changes that have not been pushed to a remote repository.\n", @@ -9041,25 +11239,38 @@ } ], "responses": { - "200": { "description": "Project", "schema": { "type": "string" } }, + "200": { + "description": "Project", + "schema": { + "type": "string" + } + }, "204": { "description": "Returns 204 if project was successfully reset, otherwise 400 with an error message" }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -9068,7 +11279,9 @@ }, "/projects/{project_id}/reset_to_remote": { "post": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "reset_project_to_remote", "summary": "Reset To Remote", "description": "### Reset a project development branch to the revision of the project that is on the remote.\n\n**DANGER** this will delete any changes that have not been pushed to a remote repository.\n", @@ -9082,25 +11295,38 @@ } ], "responses": { - "200": { "description": "Project", "schema": { "type": "string" } }, + "200": { + "description": "Project", + "schema": { + "type": "string" + } + }, "204": { "description": "Returns 204 if project was successfully reset, otherwise 400 with an error message" }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -9109,7 +11335,9 @@ }, "/projects": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "all_projects", "summary": "Get All Projects", "description": "### Get All Projects\n\nReturns all projects visible to the current user\n", @@ -9127,23 +11355,31 @@ "description": "Project", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Project" } + "items": { + "$ref": "#/definitions/Project" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "create_project", "summary": "Create Project", "description": "### Create A Project\n\ndev mode required.\n- Call `update_session` to select the 'dev' workspace.\n\n`name` is required.\n`git_remote_url` is not allowed. To configure Git for the newly created project, follow the instructions in `update_project`.\n\n", @@ -9153,33 +11389,47 @@ "in": "body", "description": "Project", "required": true, - "schema": { "$ref": "#/definitions/Project" } + "schema": { + "$ref": "#/definitions/Project" + } } ], "responses": { "200": { "description": "Project", - "schema": { "$ref": "#/definitions/Project" } + "schema": { + "$ref": "#/definitions/Project" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -9188,7 +11438,9 @@ }, "/projects/{project_id}": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "project", "summary": "Get Project", "description": "### Get A Project\n\nReturns the project with the given project id\n", @@ -9211,22 +11463,30 @@ "responses": { "200": { "description": "Project", - "schema": { "$ref": "#/definitions/Project" } + "schema": { + "$ref": "#/definitions/Project" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "update_project", "summary": "Update Project", "description": "### Update Project Configuration\n\nApply changes to a project's configuration.\n\n\n#### Configuring Git for a Project\n\nTo set up a Looker project with a remote git repository, follow these steps:\n\n1. Call `update_session` to select the 'dev' workspace.\n1. Call `create_git_deploy_key` to create a new deploy key for the project\n1. Copy the deploy key text into the remote git repository's ssh key configuration\n1. Call `update_project` to set project's `git_remote_url` ()and `git_service_name`, if necessary).\n\nWhen you modify a project's `git_remote_url`, Looker connects to the remote repository to fetch\nmetadata. The remote git repository MUST be configured with the Looker-generated deploy\nkey for this project prior to setting the project's `git_remote_url`.\n\nTo set up a Looker project with a git repository residing on the Looker server (a 'bare' git repo):\n\n1. Call `update_session` to select the 'dev' workspace.\n1. Call `update_project` setting `git_remote_url` to null and `git_service_name` to \"bare\".\n\n", @@ -9243,7 +11503,9 @@ "in": "body", "description": "Project", "required": true, - "schema": { "$ref": "#/definitions/Project" } + "schema": { + "$ref": "#/definitions/Project" + } }, { "name": "fields", @@ -9256,31 +11518,45 @@ "responses": { "200": { "description": "Project", - "schema": { "$ref": "#/definitions/Project" } + "schema": { + "$ref": "#/definitions/Project" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "500": { "description": "Server Error", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -9289,7 +11565,9 @@ }, "/projects/{project_id}/manifest": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "manifest", "summary": "Get Manifest", "description": "### Get A Projects Manifest object\n\nReturns the project with the given project id\n", @@ -9305,15 +11583,21 @@ "responses": { "200": { "description": "Manifest", - "schema": { "$ref": "#/definitions/Manifest" } + "schema": { + "$ref": "#/definitions/Manifest" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -9322,11 +11606,15 @@ }, "/projects/{project_id}/git/deploy_key": { "post": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "create_git_deploy_key", "summary": "Create Deploy Key", "description": "### Create Git Deploy Key\n\nCreate a public/private key pair for authenticating ssh git requests from Looker to a remote git repository\nfor a particular Looker project.\n\nReturns the public key of the generated ssh key pair.\n\nCopy this public key to your remote git repository's ssh keys configuration so that the remote git service can\nvalidate and accept git requests from the Looker server.\n", - "produces": ["text/plain"], + "produces": [ + "text/plain" + ], "parameters": [ { "name": "project_id", @@ -9337,37 +11625,56 @@ } ], "responses": { - "200": { "description": "Project", "schema": { "type": "string" } }, + "200": { + "description": "Project", + "schema": { + "type": "string" + } + }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "git_deploy_key", "summary": "Git Deploy Key", "description": "### Git Deploy Key\n\nReturns the ssh public key previously created for a project's git repository.\n", - "produces": ["text/plain"], + "produces": [ + "text/plain" + ], "parameters": [ { "name": "project_id", @@ -9380,15 +11687,21 @@ "responses": { "200": { "description": "The text of the public key portion of the deploy_key", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -9397,7 +11710,9 @@ }, "/projects/{project_id}/validate": { "post": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "validate_project", "summary": "Validate Project", "description": "### Validate Project\n\nPerforms lint validation of all lookml files in the project.\nReturns a list of errors found, if any.\n\nValidating the content of all the files in a project can be computationally intensive\nfor large projects. For best performance, call `validate_project(project_id)` only\nwhen you really want to recompute project validation. To quickly display the results of\nthe most recent project validation (without recomputing), use `project_validation_results(project_id)`\n", @@ -9420,30 +11735,42 @@ "responses": { "200": { "description": "Project validation results", - "schema": { "$ref": "#/definitions/ProjectValidation" } + "schema": { + "$ref": "#/definitions/ProjectValidation" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "project_validation_results", "summary": "Cached Project Validation Results", "description": "### Get Cached Project Validation Results\n\nReturns the cached results of a previous project validation calculation, if any.\nReturns http status 204 No Content if no validation results exist.\n\nValidating the content of all the files in a project can be computationally intensive\nfor large projects. Use this API to simply fetch the results of the most recent\nproject validation rather than revalidating the entire project from scratch.\n\nA value of `\"stale\": true` in the response indicates that the project has changed since\nthe cached validation results were computed. The cached validation results may no longer\nreflect the current state of the project.\n", @@ -9466,16 +11793,24 @@ "responses": { "200": { "description": "Project validation results", - "schema": { "$ref": "#/definitions/ProjectValidationCache" } + "schema": { + "$ref": "#/definitions/ProjectValidationCache" + } + }, + "204": { + "description": "Deleted" }, - "204": { "description": "Deleted" }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -9484,7 +11819,9 @@ }, "/projects/{project_id}/current_workspace": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "project_workspace", "summary": "Get Project Workspace", "description": "### Get Project Workspace\n\nReturns information about the state of the project files in the currently selected workspace\n", @@ -9507,15 +11844,21 @@ "responses": { "200": { "description": "Project Workspace", - "schema": { "$ref": "#/definitions/ProjectWorkspace" } + "schema": { + "$ref": "#/definitions/ProjectWorkspace" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -9524,7 +11867,9 @@ }, "/projects/{project_id}/files": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "all_project_files", "summary": "Get All Project Files", "description": "### Get All Project Files\n\nReturns a list of the files in the project\n", @@ -9549,16 +11894,22 @@ "description": "Project File", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ProjectFile" } + "items": { + "$ref": "#/definitions/ProjectFile" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -9567,7 +11918,9 @@ }, "/projects/{project_id}/files/file": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "project_file", "summary": "Get Project File", "description": "### Get Project File Info\n\nReturns information about a file in the project\n", @@ -9597,15 +11950,21 @@ "responses": { "200": { "description": "Project File", - "schema": { "$ref": "#/definitions/ProjectFile" } + "schema": { + "$ref": "#/definitions/ProjectFile" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -9614,7 +11973,9 @@ }, "/projects/{project_id}/git_connection_tests": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "all_git_connection_tests", "summary": "Get All Git Connection Tests", "description": "### Get All Git Connection Tests\n\ndev mode required.\n - Call `update_session` to select the 'dev' workspace.\n\nReturns 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.\n\nTests 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.\n\nFor example, a late-stage test for write access is meaningless if connecting to the git server (an early test) is failing.\n", @@ -9639,16 +12000,22 @@ "description": "Git Connection Test", "schema": { "type": "array", - "items": { "$ref": "#/definitions/GitConnectionTest" } + "items": { + "$ref": "#/definitions/GitConnectionTest" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -9657,7 +12024,9 @@ }, "/projects/{project_id}/git_connection_tests/{test_id}": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "run_git_connection_test", "summary": "Run Git Connection Test", "description": "### Run a git connection test\n\nRun 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\nis intended to help debug git connections when things do not work properly, to give\nmore helpful information about why a git url is not working with Looker.\n\nTests should be run in the order they are returned by [Get All Git Connection Tests](#!/Project/all_git_connection_tests).\n", @@ -9694,23 +12063,33 @@ "responses": { "200": { "description": "Git Connection Test Result", - "schema": { "$ref": "#/definitions/GitConnectionTestResult" } + "schema": { + "$ref": "#/definitions/GitConnectionTestResult" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -9719,7 +12098,9 @@ }, "/projects/{project_id}/lookml_tests": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "all_lookml_tests", "summary": "Get All LookML Tests", "description": "### Get All LookML Tests\n\nReturns a list of tests which can be run to validate a project's LookML code and/or the underlying data,\noptionally filtered by the file id.\nCall [Run LookML Test](#!/Project/run_lookml_test) to execute tests.\n", @@ -9744,16 +12125,22 @@ "description": "LookML Test", "schema": { "type": "array", - "items": { "$ref": "#/definitions/LookmlTest" } + "items": { + "$ref": "#/definitions/LookmlTest" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -9762,7 +12149,9 @@ }, "/projects/{project_id}/lookml_tests/run": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "run_lookml_test", "summary": "Run LookML Test", "description": "### Run LookML Tests\n\nRuns all tests in the project, optionally filtered by file, test, and/or model.\n", @@ -9801,24 +12190,34 @@ "description": "LookML Test Results", "schema": { "type": "array", - "items": { "$ref": "#/definitions/LookmlTestResult" } + "items": { + "$ref": "#/definitions/LookmlTestResult" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -9827,7 +12226,9 @@ }, "/render_tasks/lookml_dashboards/{dashboard_id}/{result_format}": { "post": { - "tags": ["RenderTask"], + "tags": [ + "RenderTask" + ], "operationId": "create_lookml_dashboard_render_task", "summary": "Create Lookml Dashboard Render Task", "description": "### Create a new task to render a lookml dashboard to a document or image.\n\n# DEPRECATED: Use [create_dashboard_render_task()](#!/RenderTask/create_dashboard_render_task) in API 4.0+\n\nReturns a render task object.\nTo check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\nOnce the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n\n", @@ -9851,7 +12252,9 @@ "in": "body", "description": "Dashboard render task parameters", "required": true, - "schema": { "$ref": "#/definitions/CreateDashboardRenderTask" } + "schema": { + "$ref": "#/definitions/CreateDashboardRenderTask" + } }, { "name": "width", @@ -9894,27 +12297,39 @@ "responses": { "200": { "description": "Render Task", - "schema": { "$ref": "#/definitions/RenderTask" } + "schema": { + "$ref": "#/definitions/RenderTask" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -9924,7 +12339,9 @@ }, "/render_tasks/looks/{look_id}/{result_format}": { "post": { - "tags": ["RenderTask"], + "tags": [ + "RenderTask" + ], "operationId": "create_look_render_task", "summary": "Create Look Render Task", "description": "### Create a new task to render a look to an image.\n\nReturns a render task object.\nTo check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\nOnce the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n\n", @@ -9971,27 +12388,39 @@ "responses": { "200": { "description": "Render Task", - "schema": { "$ref": "#/definitions/RenderTask" } + "schema": { + "$ref": "#/definitions/RenderTask" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -10000,7 +12429,9 @@ }, "/render_tasks/queries/{query_id}/{result_format}": { "post": { - "tags": ["RenderTask"], + "tags": [ + "RenderTask" + ], "operationId": "create_query_render_task", "summary": "Create Query Render Task", "description": "### Create a new task to render an existing query to an image.\n\nReturns a render task object.\nTo check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\nOnce the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n\n", @@ -10047,27 +12478,39 @@ "responses": { "200": { "description": "Render Task", - "schema": { "$ref": "#/definitions/RenderTask" } + "schema": { + "$ref": "#/definitions/RenderTask" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -10076,7 +12519,9 @@ }, "/render_tasks/dashboards/{dashboard_id}/{result_format}": { "post": { - "tags": ["RenderTask"], + "tags": [ + "RenderTask" + ], "operationId": "create_dashboard_render_task", "summary": "Create Dashboard Render Task", "description": "### Create a new task to render a dashboard to a document or image.\n\nReturns a render task object.\nTo check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\nOnce the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n\n", @@ -10101,7 +12546,9 @@ "in": "body", "description": "Dashboard render task parameters", "required": true, - "schema": { "$ref": "#/definitions/CreateDashboardRenderTask" } + "schema": { + "$ref": "#/definitions/CreateDashboardRenderTask" + } }, { "name": "width", @@ -10144,27 +12591,39 @@ "responses": { "200": { "description": "Render Task", - "schema": { "$ref": "#/definitions/RenderTask" } + "schema": { + "$ref": "#/definitions/RenderTask" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -10173,7 +12632,9 @@ }, "/render_tasks/{render_task_id}": { "get": { - "tags": ["RenderTask"], + "tags": [ + "RenderTask" + ], "operationId": "render_task", "summary": "Get Render Task", "description": "### Get information about a render task.\n\nReturns a render task object.\nTo check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\nOnce the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n\n", @@ -10196,15 +12657,21 @@ "responses": { "200": { "description": "Render Task", - "schema": { "$ref": "#/definitions/RenderTask" } + "schema": { + "$ref": "#/definitions/RenderTask" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -10213,11 +12680,17 @@ }, "/render_tasks/{render_task_id}/results": { "get": { - "tags": ["RenderTask"], + "tags": [ + "RenderTask" + ], "operationId": "render_task_results", "summary": "Render Task Results", "description": "### Get the document or image produced by a completed render task.\n\nNote that the PDF or image result will be a binary blob in the HTTP response, as indicated by the\nContent-Type in the response headers. This may require specialized (or at least different) handling than text\nresponses such as JSON. You may need to tell your HTTP client that the response is binary so that it does not\nattempt to parse the binary data as text.\n\nIf the render task exists but has not finished rendering the results, the response HTTP status will be\n**202 Accepted**, the response body will be empty, and the response will have a Retry-After header indicating\nthat the caller should repeat the request at a later time.\n\nReturns 404 if the render task cannot be found, if the cached result has expired, or if the caller\ndoes not have permission to view the results.\n\nFor detailed information about the status of the render task, use [Render Task](#!/RenderTask/render_task).\nPolling loops waiting for completion of a render task would be better served by polling **render_task(id)** until\nthe task status reaches completion (or error) instead of polling **render_task_results(id)** alone.\n", - "produces": ["image/jpeg", "image/png", "application/pdf"], + "produces": [ + "image/jpeg", + "image/png", + "application/pdf" + ], "parameters": [ { "name": "render_task_id", @@ -10230,16 +12703,24 @@ "responses": { "200": { "description": "Document or image", - "schema": { "type": "string" } + "schema": { + "type": "string" + } + }, + "202": { + "description": "Accepted" }, - "202": { "description": "Accepted" }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -10248,7 +12729,9 @@ }, "/projects/{root_project_id}/credential/{credential_id}": { "put": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "update_repository_credential", "summary": "Create Repository Credential", "description": "### Configure Repository Credential for a remote dependency\n\nAdmin required.\n\n`root_project_id` is required.\n`credential_id` is required.\n\n", @@ -10272,40 +12755,56 @@ "in": "body", "description": "Remote Project Information", "required": true, - "schema": { "$ref": "#/definitions/RepositoryCredential" } + "schema": { + "$ref": "#/definitions/RepositoryCredential" + } } ], "responses": { "200": { "description": "Repository Credential", - "schema": { "$ref": "#/definitions/RepositoryCredential" } + "schema": { + "$ref": "#/definitions/RepositoryCredential" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "delete_repository_credential", "summary": "Delete Repository Credential", "description": "### Repository Credential for a remote dependency\n\nAdmin required.\n\n`root_project_id` is required.\n`credential_id` is required.\n", @@ -10328,19 +12827,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -10349,7 +12856,9 @@ }, "/projects/{root_project_id}/credentials": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "get_all_repository_credentials", "summary": "Get All Repository Credentials", "description": "### Get all Repository Credentials for a project\n\n`root_project_id` is required.\n", @@ -10367,16 +12876,22 @@ "description": "Repository Credential", "schema": { "type": "array", - "items": { "$ref": "#/definitions/RepositoryCredential" } + "items": { + "$ref": "#/definitions/RepositoryCredential" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -10385,7 +12900,9 @@ }, "/roles": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "all_roles", "summary": "Get All Roles", "description": "### Get information about all roles.\n", @@ -10403,7 +12920,10 @@ "description": "Optional list of ids to get specific roles.", "required": false, "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "collectionFormat": "csv" } ], @@ -10412,23 +12932,31 @@ "description": "Role", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Role" } + "items": { + "$ref": "#/definitions/Role" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "create_role", "summary": "Create Role", "description": "### Create a role with the specified information.\n", @@ -10438,33 +12966,47 @@ "in": "body", "description": "Role", "required": true, - "schema": { "$ref": "#/definitions/Role" } + "schema": { + "$ref": "#/definitions/Role" + } } ], "responses": { "200": { "description": "Role", - "schema": { "$ref": "#/definitions/Role" } + "schema": { + "$ref": "#/definitions/Role" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -10473,7 +13015,9 @@ }, "/roles/search": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "search_roles", "summary": "Search Roles", "description": "### Search roles\n\nReturns all role records that match the given search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", @@ -10543,16 +13087,22 @@ "description": "Role", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Role" } + "items": { + "$ref": "#/definitions/Role" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -10561,7 +13111,9 @@ }, "/roles/{role_id}": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "role", "summary": "Get Role", "description": "### Get information about the role with a specific id.\n", @@ -10578,22 +13130,30 @@ "responses": { "200": { "description": "Role", - "schema": { "$ref": "#/definitions/Role" } + "schema": { + "$ref": "#/definitions/Role" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "delete_role", "summary": "Delete Role", "description": "### Delete the role with a specific id.\n", @@ -10610,30 +13170,42 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "405": { "description": "Resource Can't Be Modified", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "update_role", "summary": "Update Role", "description": "### Update information about the role with a specific id.\n", @@ -10651,33 +13223,47 @@ "in": "body", "description": "Role", "required": true, - "schema": { "$ref": "#/definitions/Role" } + "schema": { + "$ref": "#/definitions/Role" + } } ], "responses": { "200": { "description": "Role", - "schema": { "$ref": "#/definitions/Role" } + "schema": { + "$ref": "#/definitions/Role" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "405": { "description": "Resource Can't Be Modified", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -10686,7 +13272,9 @@ }, "/roles/{role_id}/groups": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "role_groups", "summary": "Get Role Groups", "description": "### Get information about all the groups with the role that has a specific id.\n", @@ -10712,23 +13300,31 @@ "description": "Groups with role.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Group" } + "items": { + "$ref": "#/definitions/Group" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "put": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "set_role_groups", "summary": "Update Role Groups", "description": "### Set all groups for a role, removing all existing group associations from that role.\n", @@ -10748,7 +13344,10 @@ "required": true, "schema": { "type": "array", - "items": { "type": "integer", "format": "int64" } + "items": { + "type": "integer", + "format": "int64" + } } } ], @@ -10757,24 +13356,34 @@ "description": "Groups with role.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Group" } + "items": { + "$ref": "#/definitions/Group" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -10783,7 +13392,9 @@ }, "/roles/{role_id}/users": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "role_users", "summary": "Get Role Users", "description": "### Get information about all the users with the role that has a specific id.\n", @@ -10816,23 +13427,31 @@ "description": "Users with role.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/User" } + "items": { + "$ref": "#/definitions/User" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "put": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "set_role_users", "summary": "Update Role Users", "description": "### Set all the users of the role with a specific id.\n", @@ -10852,7 +13471,10 @@ "required": true, "schema": { "type": "array", - "items": { "type": "integer", "format": "int64" } + "items": { + "type": "integer", + "format": "int64" + } } } ], @@ -10861,32 +13483,46 @@ "description": "Users with role.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/User" } + "items": { + "$ref": "#/definitions/User" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "403": { "description": "Permission Denied", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "405": { "description": "Resource Can't Be Modified", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -10895,7 +13531,9 @@ }, "/running_queries": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "all_running_queries", "summary": "Get All Running Queries", "description": "Get information about all running queries.\n", @@ -10904,12 +13542,16 @@ "description": "Running Queries.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/RunningQueries" } + "items": { + "$ref": "#/definitions/RunningQueries" + } } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -10918,7 +13560,9 @@ }, "/running_queries/{query_task_id}": { "delete": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "kill_query", "summary": "Kill Running Query", "description": "Kill a query with a specific query_task_id.\n", @@ -10934,19 +13578,27 @@ "responses": { "204": { "description": "Query successfully killed.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -10955,25 +13607,33 @@ }, "/saml_config": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "saml_config", "summary": "Get SAML Configuration", "description": "### Get the SAML configuration.\n\nLooker can be optionally configured to authenticate users against a SAML authentication server.\nSAML setup requires coordination with an administrator of that server.\n\nOnly Looker administrators can read and update the SAML configuration.\n\nConfiguring SAML impacts authentication for all users. This configuration should be done carefully.\n\nLooker maintains a single SAML configuation. 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).\n\nSAML is enabled or disabled for Looker using the **enabled** field.\n", "responses": { "200": { "description": "SAML Configuration.", - "schema": { "$ref": "#/definitions/SamlConfig" } + "schema": { + "$ref": "#/definitions/SamlConfig" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "update_saml_config", "summary": "Update SAML Configuration", "description": "### Update the SAML configuration.\n\nConfiguring SAML impacts authentication for all users. This configuration should be done carefully.\n\nOnly Looker administrators can read and update the SAML configuration.\n\nSAML is enabled or disabled for Looker using the **enabled** field.\n\nIt is **highly** recommended that any SAML setting changes be tested using the APIs below before being set globally.\n", @@ -10983,25 +13643,35 @@ "in": "body", "description": "SAML Config", "required": true, - "schema": { "$ref": "#/definitions/SamlConfig" } + "schema": { + "$ref": "#/definitions/SamlConfig" + } } ], "responses": { "200": { "description": "New state for SAML Configuration.", - "schema": { "$ref": "#/definitions/SamlConfig" } + "schema": { + "$ref": "#/definitions/SamlConfig" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -11010,7 +13680,9 @@ }, "/saml_test_configs/{test_slug}": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "saml_test_config", "summary": "Get SAML Test Configuration", "description": "### Get a SAML test configuration by test_slug.\n", @@ -11026,18 +13698,24 @@ "responses": { "200": { "description": "SAML test config.", - "schema": { "$ref": "#/definitions/SamlConfig" } + "schema": { + "$ref": "#/definitions/SamlConfig" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "delete_saml_test_config", "summary": "Delete SAML Test Configuration", "description": "### Delete a SAML test configuration.\n", @@ -11053,15 +13731,21 @@ "responses": { "204": { "description": "Test config succssfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -11070,7 +13754,9 @@ }, "/saml_test_configs": { "post": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "create_saml_test_config", "summary": "Create SAML Test Configuration", "description": "### Create a SAML test configuration.\n", @@ -11080,25 +13766,35 @@ "in": "body", "description": "SAML test config", "required": true, - "schema": { "$ref": "#/definitions/SamlConfig" } + "schema": { + "$ref": "#/definitions/SamlConfig" + } } ], "responses": { "200": { "description": "SAML test config", - "schema": { "$ref": "#/definitions/SamlConfig" } + "schema": { + "$ref": "#/definitions/SamlConfig" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -11107,32 +13803,44 @@ }, "/parse_saml_idp_metadata": { "post": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "parse_saml_idp_metadata", "summary": "Parse SAML IdP XML", "description": "### Parse the given xml as a SAML IdP metadata document and return the result.\n", - "consumes": ["text/plain"], + "consumes": [ + "text/plain" + ], "parameters": [ { "name": "body", "in": "body", "description": "SAML IdP metadata xml", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "200": { "description": "Parse result", - "schema": { "$ref": "#/definitions/SamlMetadataParseResult" } + "schema": { + "$ref": "#/definitions/SamlMetadataParseResult" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -11141,32 +13849,44 @@ }, "/fetch_and_parse_saml_idp_metadata": { "post": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "fetch_and_parse_saml_idp_metadata", "summary": "Parse SAML IdP Url", "description": "### Fetch the given url and parse it as a SAML IdP metadata document and return the result.\nNote that this requires that the url be public or at least at a location where the Looker instance\ncan fetch it without requiring any special authentication.\n", - "consumes": ["text/plain"], + "consumes": [ + "text/plain" + ], "parameters": [ { "name": "body", "in": "body", "description": "SAML IdP metadata public url", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "200": { "description": "Parse result", - "schema": { "$ref": "#/definitions/SamlMetadataParseResult" } + "schema": { + "$ref": "#/definitions/SamlMetadataParseResult" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -11175,7 +13895,9 @@ }, "/scheduled_plans/space/{space_id}": { "get": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "scheduled_plans_for_space", "summary": "Scheduled Plans for Space", "description": "### Get Scheduled Plans for a Space\n\nReturns scheduled plans owned by the caller for a given space id.\n", @@ -11201,16 +13923,22 @@ "description": "Scheduled Plan", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ScheduledPlan" } + "items": { + "$ref": "#/definitions/ScheduledPlan" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -11219,7 +13947,9 @@ }, "/scheduled_plans/{scheduled_plan_id}": { "delete": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "delete_scheduled_plan", "summary": "Delete Scheduled Plan", "description": "### Delete a Scheduled Plan\n\nNormal users can only delete their own scheduled plans.\nAdmins can delete other users' scheduled plans.\nThis delete cannot be undone.\n", @@ -11236,26 +13966,36 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "db_query" }, "patch": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "update_scheduled_plan", "summary": "Update Scheduled Plan", "description": "### Update a Scheduled Plan\n\nAdmins can update other users' Scheduled Plans.\n\nNote: Any scheduled plan destinations specified in an update will **replace** all scheduled plan destinations\ncurrently defined for the scheduled plan.\n\nFor Example: If a scheduled plan has destinations A, B, and C, and you call update on this scheduled plan\nspecifying only B in the destinations, then destinations A and C will be deleted by the update.\n\nUpdating 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.\n\nIf you omit the scheduled_plan_destinations property from the object passed to update, then the destinations\ndefined on the original scheduled plan will remain unchanged.\n\n#### Email Permissions:\n\nFor details about permissions required to schedule delivery to email and the safeguards\nLooker offers to protect against sending to unauthorized email destinations, see [Email Domain Whitelist for Scheduled Looks](https://docs.looker.com/r/api/embed-permissions).\n\n\n#### Scheduled Plan Destination Formats\n\nScheduled plan destinations must specify the data format to produce and send to the destination.\n\nFormats:\n\n| format | Description\n| :-----------: | :--- |\n| json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| 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.\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| xlsx | MS Excel spreadsheet\n| wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n| assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n| wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n||\n\nValid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n\n\n", @@ -11273,36 +14013,50 @@ "in": "body", "description": "Scheduled Plan", "required": true, - "schema": { "$ref": "#/definitions/ScheduledPlan" } + "schema": { + "$ref": "#/definitions/ScheduledPlan" + } } ], "responses": { "200": { "description": "Scheduled Plan", - "schema": { "$ref": "#/definitions/ScheduledPlan" } + "schema": { + "$ref": "#/definitions/ScheduledPlan" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "db_query" }, "get": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "scheduled_plan", "summary": "Get Scheduled Plan", "description": "### Get Information About a Scheduled Plan\n\nAdmins can fetch information about other users' Scheduled Plans.\n", @@ -11326,15 +14080,21 @@ "responses": { "200": { "description": "Scheduled Plan", - "schema": { "$ref": "#/definitions/ScheduledPlan" } + "schema": { + "$ref": "#/definitions/ScheduledPlan" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -11343,7 +14103,9 @@ }, "/scheduled_plans": { "post": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "create_scheduled_plan", "summary": "Create Scheduled Plan", "description": "### Create a Scheduled Plan\n\nCreate a scheduled plan to render a Look or Dashboard on a recurring schedule.\n\nTo create a scheduled plan, you MUST provide values for the following fields:\n`name`\nand\n`look_id`, `dashboard_id`, `lookml_dashboard_id`, or `query_id`\nand\n`cron_tab` or `datagroup`\nand\nat least one scheduled_plan_destination\n\nA scheduled plan MUST have at least one scheduled_plan_destination defined.\n\nWhen `look_id` is set, `require_no_results`, `require_results`, and `require_change` are all required.\n\nIf `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.\n\nThe queries that provide the data for the look or dashboard are run in the context of user account that owns the scheduled plan.\n\nWhen `run_as_recipient` is `false` or not specified, the queries that provide the data for the\nlook or dashboard are run in the context of user account that owns the scheduled plan.\n\nWhen `run_as_recipient` is `true` and all the email recipients are Looker user accounts, the\nqueries are run in the context of each recipient, so different recipients may see different\ndata from the same scheduled render of a look or dashboard. For more details, see [Run As Recipient](https://looker.com/docs/r/admin/run-as-recipient).\n\nAdmins can create and modify scheduled plans on behalf of other users by specifying a user id.\nNon-admin users may not create or modify scheduled plans by or for other users.\n\n#### Email Permissions:\n\nFor details about permissions required to schedule delivery to email and the safeguards\nLooker offers to protect against sending to unauthorized email destinations, see [Email Domain Whitelist for Scheduled Looks](https://docs.looker.com/r/api/embed-permissions).\n\n\n#### Scheduled Plan Destination Formats\n\nScheduled plan destinations must specify the data format to produce and send to the destination.\n\nFormats:\n\n| format | Description\n| :-----------: | :--- |\n| json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| 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.\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| xlsx | MS Excel spreadsheet\n| wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n| assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n| wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n||\n\nValid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n\n\n", @@ -11353,40 +14115,56 @@ "in": "body", "description": "Scheduled Plan", "required": true, - "schema": { "$ref": "#/definitions/ScheduledPlan" } + "schema": { + "$ref": "#/definitions/ScheduledPlan" + } } ], "responses": { "200": { "description": "Scheduled Plan", - "schema": { "$ref": "#/definitions/ScheduledPlan" } + "schema": { + "$ref": "#/definitions/ScheduledPlan" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "db_query" }, "get": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "all_scheduled_plans", "summary": "Get All Scheduled Plans", "description": "### List All Scheduled Plans\n\nReturns all scheduled plans which belong to the caller or given user.\n\nIf no user_id is provided, this function returns the scheduled plans owned by the caller.\n\n\nTo list all schedules for all users, pass `all_users=true`.\n\n\nThe caller must have `see_schedules` permission to see other users' scheduled plans.\n\n\n", @@ -11419,20 +14197,28 @@ "description": "Scheduled Plan", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ScheduledPlan" } + "items": { + "$ref": "#/definitions/ScheduledPlan" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -11441,7 +14227,9 @@ }, "/scheduled_plans/run_once": { "post": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "scheduled_plan_run_once", "summary": "Run Scheduled Plan Once", "description": "### Run a Scheduled Plan Immediately\n\nCreate a scheduled plan that runs only once, and immediately.\n\nThis can be useful for testing a Scheduled Plan before committing to a production schedule.\n\nAdmins can create scheduled plans on behalf of other users by specifying a user id.\n\nThis API is rate limited to prevent it from being used for relay spam or DoS attacks\n\n#### Email Permissions:\n\nFor details about permissions required to schedule delivery to email and the safeguards\nLooker offers to protect against sending to unauthorized email destinations, see [Email Domain Whitelist for Scheduled Looks](https://docs.looker.com/r/api/embed-permissions).\n\n\n#### Scheduled Plan Destination Formats\n\nScheduled plan destinations must specify the data format to produce and send to the destination.\n\nFormats:\n\n| format | Description\n| :-----------: | :--- |\n| json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| 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.\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| xlsx | MS Excel spreadsheet\n| wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n| assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n| wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n||\n\nValid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n\n\n", @@ -11451,33 +14239,47 @@ "in": "body", "description": "Scheduled Plan", "required": true, - "schema": { "$ref": "#/definitions/ScheduledPlan" } + "schema": { + "$ref": "#/definitions/ScheduledPlan" + } } ], "responses": { "200": { "description": "Scheduled Plan", - "schema": { "$ref": "#/definitions/ScheduledPlan" } + "schema": { + "$ref": "#/definitions/ScheduledPlan" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -11487,7 +14289,9 @@ }, "/scheduled_plans/look/{look_id}": { "get": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "scheduled_plans_for_look", "summary": "Scheduled Plans for Look", "description": "### Get Scheduled Plans for a Look\n\nReturns all scheduled plans for a look which belong to the caller or given user.\n\nIf no user_id is provided, this function returns the scheduled plans owned by the caller.\n\n\nTo list all schedules for all users, pass `all_users=true`.\n\n\nThe caller must have `see_schedules` permission to see other users' scheduled plans.\n\n\n", @@ -11528,16 +14332,22 @@ "description": "Scheduled Plan", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ScheduledPlan" } + "items": { + "$ref": "#/definitions/ScheduledPlan" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -11546,7 +14356,9 @@ }, "/scheduled_plans/dashboard/{dashboard_id}": { "get": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "scheduled_plans_for_dashboard", "summary": "Scheduled Plans for Dashboard", "description": "### Get Scheduled Plans for a Dashboard\n\nReturns all scheduled plans for a dashboard which belong to the caller or given user.\n\nIf no user_id is provided, this function returns the scheduled plans owned by the caller.\n\n\nTo list all schedules for all users, pass `all_users=true`.\n\n\nThe caller must have `see_schedules` permission to see other users' scheduled plans.\n\n\n", @@ -11587,16 +14399,22 @@ "description": "Scheduled Plan", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ScheduledPlan" } + "items": { + "$ref": "#/definitions/ScheduledPlan" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -11605,7 +14423,9 @@ }, "/scheduled_plans/lookml_dashboard/{lookml_dashboard_id}": { "get": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "scheduled_plans_for_lookml_dashboard", "summary": "Scheduled Plans for LookML Dashboard", "description": "### Get Scheduled Plans for a LookML Dashboard\n\nReturns all scheduled plans for a LookML Dashboard which belong to the caller or given user.\n\nIf no user_id is provided, this function returns the scheduled plans owned by the caller.\n\n\nTo list all schedules for all users, pass `all_users=true`.\n\n\nThe caller must have `see_schedules` permission to see other users' scheduled plans.\n\n\n", @@ -11645,16 +14465,22 @@ "description": "Scheduled Plan", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ScheduledPlan" } + "items": { + "$ref": "#/definitions/ScheduledPlan" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -11663,7 +14489,9 @@ }, "/scheduled_plans/{scheduled_plan_id}/run_once": { "post": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "scheduled_plan_run_once_by_id", "summary": "Run Scheduled Plan Once by Id", "description": "### Run a Scheduled Plan By Id Immediately\nThis function creates a run-once schedule plan based on an existing scheduled plan,\napplies modifications (if any) to the new scheduled plan, and runs the new schedule plan immediately.\nThis can be useful for testing modifications to an existing scheduled plan before committing to a production schedule.\n\nThis function internally performs the following operations:\n\n1. Copies the properties of the existing scheduled plan into a new scheduled plan\n2. Copies any properties passed in the JSON body of this request into the new scheduled plan (replacing the original values)\n3. Creates the new scheduled plan\n4. Runs the new scheduled plan\n\nThe original scheduled plan is not modified by this operation.\nAdmins can create, modify, and run scheduled plans on behalf of other users by specifying a user id.\nNon-admins can only create, modify, and run their own scheduled plans.\n\n#### Email Permissions:\n\nFor details about permissions required to schedule delivery to email and the safeguards\nLooker offers to protect against sending to unauthorized email destinations, see [Email Domain Whitelist for Scheduled Looks](https://docs.looker.com/r/api/embed-permissions).\n\n\n#### Scheduled Plan Destination Formats\n\nScheduled plan destinations must specify the data format to produce and send to the destination.\n\nFormats:\n\n| format | Description\n| :-----------: | :--- |\n| json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| 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.\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| xlsx | MS Excel spreadsheet\n| wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n| assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n| wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n||\n\nValid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n\n\n\nThis API is rate limited to prevent it from being used for relay spam or DoS attacks\n\n", @@ -11681,33 +14509,47 @@ "in": "body", "description": "Property values to apply to the newly copied scheduled plan before running it", "required": false, - "schema": { "$ref": "#/definitions/WriteScheduledPlan" } + "schema": { + "$ref": "#/definitions/WriteScheduledPlan" + } } ], "responses": { "200": { "description": "Scheduled Plan", - "schema": { "$ref": "#/definitions/ScheduledPlan" } + "schema": { + "$ref": "#/definitions/ScheduledPlan" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -11717,29 +14559,39 @@ }, "/session_config": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "session_config", "summary": "Get Session Config", "description": "### Get session config.\n", "responses": { "200": { "description": "Session Config", - "schema": { "$ref": "#/definitions/SessionConfig" } + "schema": { + "$ref": "#/definitions/SessionConfig" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "update_session_config", "summary": "Update Session Config", "description": "### Update session config.\n", @@ -11749,29 +14601,41 @@ "in": "body", "description": "Session Config", "required": true, - "schema": { "$ref": "#/definitions/SessionConfig" } + "schema": { + "$ref": "#/definitions/SessionConfig" + } } ], "responses": { "200": { "description": "Session Config", - "schema": { "$ref": "#/definitions/SessionConfig" } + "schema": { + "$ref": "#/definitions/SessionConfig" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -11780,29 +14644,39 @@ }, "/session": { "get": { - "tags": ["Session"], + "tags": [ + "Session" + ], "operationId": "session", "summary": "Get Session", "description": "### Get API Session\n\nReturns information about the current API session, such as which workspace is selected for the session.\n", "responses": { "200": { "description": "Session", - "schema": { "$ref": "#/definitions/ApiSession" } + "schema": { + "$ref": "#/definitions/ApiSession" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Session"], + "tags": [ + "Session" + ], "operationId": "update_session", "summary": "Update Session", "description": "### Update API Session\n\n#### API Session Workspace\n\nYou can use this endpoint to change the active workspace for the current API session.\n\nOnly one workspace can be active in a session. The active workspace can be changed\nany number of times in a session.\n\nThe default workspace for API sessions is the \"production\" workspace.\n\nAll Looker APIs that use projects or lookml models (such as running queries) will\nuse the version of project and model files defined by this workspace for the lifetime of the\ncurrent API session or until the session workspace is changed again.\n\nAn API session has the same lifetime as the access_token used to authenticate API requests. Each successful\nAPI login generates a new access_token and a new API session.\n\nIf your Looker API client application needs to work in a dev workspace across multiple\nAPI sessions, be sure to select the dev workspace after each login.\n", @@ -11812,29 +14686,41 @@ "in": "body", "description": "Session", "required": true, - "schema": { "$ref": "#/definitions/ApiSession" } + "schema": { + "$ref": "#/definitions/ApiSession" + } } ], "responses": { "200": { "description": "Session", - "schema": { "$ref": "#/definitions/ApiSession" } + "schema": { + "$ref": "#/definitions/ApiSession" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -11843,7 +14729,9 @@ }, "/spaces/search": { "get": { - "tags": ["Space"], + "tags": [ + "Space" + ], "operationId": "search_spaces", "summary": "Search Spaces", "description": "### Search Spaces\n\n Returns an **array of space objects** that match the given search criteria.\n\n If multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\n The parameters `limit`, and `offset` are recommended for fetching results in page-size chunks.\n\n Get a **single space** by id with [Space](#!/Space/space)\n", @@ -11936,16 +14824,22 @@ "description": "spaces", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Space" } + "items": { + "$ref": "#/definitions/Space" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -11955,7 +14849,9 @@ }, "/spaces/{space_id}": { "get": { - "tags": ["Space"], + "tags": [ + "Space" + ], "operationId": "space", "summary": "Get Space", "description": "### Get information about the space with a specific id.", @@ -11978,15 +14874,21 @@ "responses": { "200": { "description": "Space", - "schema": { "$ref": "#/definitions/Space" } + "schema": { + "$ref": "#/definitions/Space" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -11994,7 +14896,9 @@ "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Space"], + "tags": [ + "Space" + ], "operationId": "delete_space", "summary": "Delete Space", "description": "### Delete the space with a specific id including any children spaces.\n**DANGER** this will delete all looks and dashboards in the space.\n", @@ -12010,19 +14914,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -12030,7 +14942,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Space"], + "tags": [ + "Space" + ], "operationId": "update_space", "summary": "Update Space", "description": "### Update the space with a specific id.", @@ -12047,29 +14961,41 @@ "in": "body", "description": "Space parameters", "required": true, - "schema": { "$ref": "#/definitions/UpdateSpace" } + "schema": { + "$ref": "#/definitions/UpdateSpace" + } } ], "responses": { "200": { "description": "Space", - "schema": { "$ref": "#/definitions/Space" } + "schema": { + "$ref": "#/definitions/Space" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -12079,7 +15005,9 @@ }, "/spaces": { "get": { - "tags": ["Space"], + "tags": [ + "Space" + ], "operationId": "all_spaces", "summary": "Get All Spaces", "description": "### Get information about all spaces.\n\nIn API 3.x, this will not return empty personal spaces, unless they belong to the calling user.\nIn API 4.0+, all personal spaces will be returned.\n\n", @@ -12097,16 +15025,22 @@ "description": "Space", "schema": { "type": "array", - "items": { "$ref": "#/definitions/SpaceBase" } + "items": { + "$ref": "#/definitions/SpaceBase" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -12114,7 +15048,9 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Space"], + "tags": [ + "Space" + ], "operationId": "create_space", "summary": "Create Space", "description": "### Create a space with specified information.\n\nCaller must have permission to edit the parent space and to create spaces, otherwise the request\nreturns 404 Not Found.\n", @@ -12124,33 +15060,47 @@ "in": "body", "description": "Create a new space", "required": true, - "schema": { "$ref": "#/definitions/CreateSpace" } + "schema": { + "$ref": "#/definitions/CreateSpace" + } } ], "responses": { "200": { "description": "Space", - "schema": { "$ref": "#/definitions/Space" } + "schema": { + "$ref": "#/definitions/Space" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -12160,7 +15110,9 @@ }, "/spaces/{space_id}/children": { "get": { - "tags": ["Space"], + "tags": [ + "Space" + ], "operationId": "space_children", "summary": "Get Space Children", "description": "### Get the children of a space.", @@ -12208,16 +15160,22 @@ "description": "Spaces", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Space" } + "items": { + "$ref": "#/definitions/Space" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -12227,7 +15185,9 @@ }, "/spaces/{space_id}/children/search": { "get": { - "tags": ["Space"], + "tags": [ + "Space" + ], "operationId": "space_children_search", "summary": "Search Space Children", "description": "### Search the children of a space", @@ -12266,16 +15226,22 @@ "description": "Spaces", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Space" } + "items": { + "$ref": "#/definitions/Space" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -12285,7 +15251,9 @@ }, "/spaces/{space_id}/parent": { "get": { - "tags": ["Space"], + "tags": [ + "Space" + ], "operationId": "space_parent", "summary": "Get Space Parent", "description": "### Get the parent of a space", @@ -12308,15 +15276,21 @@ "responses": { "200": { "description": "Space", - "schema": { "$ref": "#/definitions/Space" } + "schema": { + "$ref": "#/definitions/Space" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -12326,7 +15300,9 @@ }, "/spaces/{space_id}/ancestors": { "get": { - "tags": ["Space"], + "tags": [ + "Space" + ], "operationId": "space_ancestors", "summary": "Get Space Ancestors", "description": "### Get the ancestors of a space", @@ -12351,16 +15327,22 @@ "description": "Spaces", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Space" } + "items": { + "$ref": "#/definitions/Space" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -12370,7 +15352,9 @@ }, "/spaces/{space_id}/looks": { "get": { - "tags": ["Space"], + "tags": [ + "Space" + ], "operationId": "space_looks", "summary": "Get Space Looks", "description": "### Get all looks in a space.\nIn API 3.x, this will return all looks in a space, including looks in the trash.\nIn API 4.0+, all looks in a space will be returned, excluding looks in the trash.\n", @@ -12395,16 +15379,22 @@ "description": "Looks", "schema": { "type": "array", - "items": { "$ref": "#/definitions/LookWithQuery" } + "items": { + "$ref": "#/definitions/LookWithQuery" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -12414,7 +15404,9 @@ }, "/spaces/{space_id}/dashboards": { "get": { - "tags": ["Space"], + "tags": [ + "Space" + ], "operationId": "space_dashboards", "summary": "Get Space Dashboards", "description": "### Get the dashboards in a space", @@ -12439,16 +15431,22 @@ "description": "Dashboard", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Dashboard" } + "items": { + "$ref": "#/definitions/Dashboard" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -12458,7 +15456,9 @@ }, "/folders/search": { "get": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "search_folders", "summary": "Search Folders", "description": "Search for folders by creator id, parent id, name, etc", @@ -12551,16 +15551,22 @@ "description": "folders", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Folder" } + "items": { + "$ref": "#/definitions/Folder" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -12569,7 +15575,9 @@ }, "/folders/{folder_id}": { "get": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "folder", "summary": "Get Folder", "description": "### Get information about the folder with a specific id.", @@ -12592,22 +15600,30 @@ "responses": { "200": { "description": "Folder", - "schema": { "$ref": "#/definitions/Folder" } + "schema": { + "$ref": "#/definitions/Folder" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "delete_folder", "summary": "Delete Folder", "description": "### Delete the folder with a specific id including any children folders.\n**DANGER** this will delete all looks and dashboards in the folder.\n", @@ -12623,26 +15639,36 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "update_folder", "summary": "Update Folder", "description": "### Update the folder with a specific id.", @@ -12659,29 +15685,41 @@ "in": "body", "description": "Folder parameters", "required": true, - "schema": { "$ref": "#/definitions/UpdateFolder" } + "schema": { + "$ref": "#/definitions/UpdateFolder" + } } ], "responses": { "200": { "description": "Folder", - "schema": { "$ref": "#/definitions/Folder" } + "schema": { + "$ref": "#/definitions/Folder" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -12690,7 +15728,9 @@ }, "/folders": { "get": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "all_folders", "summary": "Get All Folders", "description": "### Get information about all folders.\n\nIn API 3.x, this will not return empty personal folders, unless they belong to the calling user.\nIn API 4.0+, all personal folders will be returned.\n\n", @@ -12708,23 +15748,31 @@ "description": "Folder", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Folder" } + "items": { + "$ref": "#/definitions/Folder" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "create_folder", "summary": "Create Folder", "description": "### Create a folder with specified information.\n\nCaller must have permission to edit the parent folder and to create folders, otherwise the request\nreturns 404 Not Found.\n", @@ -12734,33 +15782,47 @@ "in": "body", "description": "Folder parameters", "required": true, - "schema": { "$ref": "#/definitions/CreateFolder" } + "schema": { + "$ref": "#/definitions/CreateFolder" + } } ], "responses": { "200": { "description": "Folder", - "schema": { "$ref": "#/definitions/Folder" } + "schema": { + "$ref": "#/definitions/Folder" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -12769,7 +15831,9 @@ }, "/folders/{folder_id}/children": { "get": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "folder_children", "summary": "Get Folder Children", "description": "### Get the children of a folder.", @@ -12817,16 +15881,22 @@ "description": "Folders", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Folder" } + "items": { + "$ref": "#/definitions/Folder" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -12835,7 +15905,9 @@ }, "/folders/{folder_id}/children/search": { "get": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "folder_children_search", "summary": "Search Folder Children", "description": "### Search the children of a folder", @@ -12874,16 +15946,22 @@ "description": "Folders", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Folder" } + "items": { + "$ref": "#/definitions/Folder" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -12892,7 +15970,9 @@ }, "/folders/{folder_id}/parent": { "get": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "folder_parent", "summary": "Get Folder Parent", "description": "### Get the parent of a folder", @@ -12915,15 +15995,21 @@ "responses": { "200": { "description": "Folder", - "schema": { "$ref": "#/definitions/Folder" } + "schema": { + "$ref": "#/definitions/Folder" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -12932,7 +16018,9 @@ }, "/folders/{folder_id}/ancestors": { "get": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "folder_ancestors", "summary": "Get Folder Ancestors", "description": "### Get the ancestors of a folder", @@ -12957,16 +16045,22 @@ "description": "Folders", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Folder" } + "items": { + "$ref": "#/definitions/Folder" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -12975,7 +16069,9 @@ }, "/folders/{folder_id}/looks": { "get": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "folder_looks", "summary": "Get Folder Looks", "description": "### Get all looks in a folder.\nIn API 3.x, this will return all looks in a folder, including looks in the trash.\nIn API 4.0+, all looks in a folder will be returned, excluding looks in the trash.\n", @@ -13000,16 +16096,22 @@ "description": "Looks", "schema": { "type": "array", - "items": { "$ref": "#/definitions/LookWithQuery" } + "items": { + "$ref": "#/definitions/LookWithQuery" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -13018,7 +16120,9 @@ }, "/folders/{folder_id}/dashboards": { "get": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "folder_dashboards", "summary": "Get Folder Dashboards", "description": "### Get the dashboards in a folder", @@ -13043,16 +16147,22 @@ "description": "Dashboard", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Dashboard" } + "items": { + "$ref": "#/definitions/Dashboard" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -13061,7 +16171,9 @@ }, "/sql_queries/{slug}": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "sql_query", "summary": "Get SQL Runner Query", "description": "Get a SQL Runner query.", @@ -13077,15 +16189,21 @@ "responses": { "200": { "description": "SQL Runner Query", - "schema": { "$ref": "#/definitions/SqlQuery" } + "schema": { + "$ref": "#/definitions/SqlQuery" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -13094,7 +16212,9 @@ }, "/sql_queries": { "post": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "create_sql_query", "summary": "Create SQL Runner Query", "description": "### Create a SQL Runner Query\n\nEither the `connection_name` or `model_name` parameter MUST be provided.\n", @@ -13104,33 +16224,47 @@ "in": "body", "description": "SQL Runner Query", "required": true, - "schema": { "$ref": "#/definitions/SqlQueryCreate" } + "schema": { + "$ref": "#/definitions/SqlQueryCreate" + } } ], "responses": { "200": { "description": "SQL Runner Query", - "schema": { "$ref": "#/definitions/SqlQuery" } + "schema": { + "$ref": "#/definitions/SqlQuery" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -13139,11 +16273,18 @@ }, "/sql_queries/{slug}/run/{result_format}": { "post": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "run_sql_query", "summary": "Run SQL Runner Query", "description": "Execute a SQL Runner query in a given result_format.", - "produces": ["text", "application/json", "image/png", "image/jpeg"], + "produces": [ + "text", + "application/json", + "image/png", + "image/jpeg" + ], "parameters": [ { "name": "slug", @@ -13170,23 +16311,33 @@ "responses": { "200": { "description": "SQL Runner Query", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -13195,7 +16346,9 @@ }, "/themes": { "get": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "all_themes", "summary": "Get All Themes", "description": "### Get an array of all existing themes\n\nGet a **single theme** by id with [Theme](#!/Theme/theme)\n\nThis method returns an array of all existing themes. The active time for the theme is not considered.\n\n**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 help.looker.com to update your license for this feature.\n\n", @@ -13213,23 +16366,31 @@ "description": "Themes", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Theme" } + "items": { + "$ref": "#/definitions/Theme" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "create_theme", "summary": "Create Theme", "description": "### Create a theme\n\nCreates a new theme object, returning the theme details, including the created id.\n\nIf `settings` are not specified, the default theme settings will be copied into the new theme.\n\nThe theme `name` can only contain alphanumeric characters or underscores. Theme names should not contain any confidential information, such as customer names.\n\n**Update** an existing theme with [Update Theme](#!/Theme/update_theme)\n\n**Permanently delete** an existing theme with [Delete Theme](#!/Theme/delete_theme)\n\nFor more information, see [Creating and Applying Themes](https://looker.com/docs/r/admin/themes).\n\n**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 help.looker.com to update your license for this feature.\n\n", @@ -13239,33 +16400,47 @@ "in": "body", "description": "Theme", "required": true, - "schema": { "$ref": "#/definitions/Theme" } + "schema": { + "$ref": "#/definitions/Theme" + } } ], "responses": { "200": { "description": "Theme", - "schema": { "$ref": "#/definitions/Theme" } + "schema": { + "$ref": "#/definitions/Theme" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -13274,7 +16449,9 @@ }, "/themes/search": { "get": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "search_themes", "summary": "Search Themes", "description": "### Search all themes for matching criteria.\n\nReturns an **array of theme objects** that match the specified search criteria.\n\n| Search Parameters | Description\n| :-------------------: | :------ |\n| `begin_at` only | Find themes active at or after `begin_at`\n| `end_at` only | Find themes active at or before `end_at`\n| both set | Find themes with an active inclusive period between `begin_at` and `end_at`\n\nNote: Range matching requires boolean AND logic.\nWhen using `begin_at` and `end_at` together, do not use `filter_or`=TRUE\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\nGet a **single theme** by id with [Theme](#!/Theme/theme)\n\n**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 help.looker.com to update your license for this feature.\n\n", @@ -13353,16 +16530,22 @@ "description": "Themes", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Theme" } + "items": { + "$ref": "#/definitions/Theme" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -13371,7 +16554,9 @@ }, "/themes/default": { "get": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "default_theme", "summary": "Get Default Theme", "description": "### Get the default theme\n\nReturns the active theme object set as the default.\n\nThe **default** theme name can be set in the UI on the Admin|Theme UI page\n\nThe optional `ts` parameter can specify a different timestamp than \"now.\" If specified, it returns the default theme at the time indicated.\n", @@ -13388,22 +16573,30 @@ "responses": { "200": { "description": "Theme", - "schema": { "$ref": "#/definitions/Theme" } + "schema": { + "$ref": "#/definitions/Theme" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "put": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "set_default_theme", "summary": "Set Default Theme", "description": "### Set the global default theme by theme name\n\nOnly Admin users can call this function.\n\nOnly 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.\n\n[Create Theme](#!/Theme/create) has detailed information on rules for default and active themes\n\nReturns the new specified default theme object.\n\n**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 help.looker.com to update your license for this feature.\n\n", @@ -13419,23 +16612,33 @@ "responses": { "200": { "description": "Theme", - "schema": { "$ref": "#/definitions/Theme" } + "schema": { + "$ref": "#/definitions/Theme" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -13444,7 +16647,9 @@ }, "/themes/active": { "get": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "active_themes", "summary": "Get Active Themes", "description": "### Get active themes\n\nReturns an array of active themes.\n\nIf the `name` parameter is specified, it will return an array with one theme if it's active and found.\n\nThe optional `ts` parameter can specify a different timestamp than \"now.\"\n\n**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 help.looker.com to update your license for this feature.\n\n\n", @@ -13477,16 +16682,22 @@ "description": "Themes", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Theme" } + "items": { + "$ref": "#/definitions/Theme" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -13495,7 +16706,9 @@ }, "/themes/theme_or_default": { "get": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "theme_or_default", "summary": "Get Theme or Default", "description": "### Get the named theme if it's active. Otherwise, return the default theme\n\nThe optional `ts` parameter can specify a different timestamp than \"now.\"\nNote: API users with `show` ability can call this function\n\n**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 help.looker.com to update your license for this feature.\n\n", @@ -13519,15 +16732,21 @@ "responses": { "200": { "description": "Theme", - "schema": { "$ref": "#/definitions/Theme" } + "schema": { + "$ref": "#/definitions/Theme" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -13536,7 +16755,9 @@ }, "/themes/validate": { "post": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "validate_theme", "summary": "Validate Theme", "description": "### Validate a theme with the specified information\n\nValidates all values set for the theme, returning any errors encountered, or 200 OK if valid\n\nSee [Create Theme](#!/Theme/create_theme) for constraints\n\n**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 help.looker.com to update your license for this feature.\n\n", @@ -13546,37 +16767,53 @@ "in": "body", "description": "Theme", "required": true, - "schema": { "$ref": "#/definitions/Theme" } + "schema": { + "$ref": "#/definitions/Theme" + } } ], "responses": { "200": { "description": "Theme validation results", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "204": { "description": "No errors detected with the theme", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -13585,7 +16822,9 @@ }, "/themes/{theme_id}": { "get": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "theme", "summary": "Get Theme", "description": "### Get a theme by ID\n\nUse this to retrieve a specific theme, whether or not it's currently active.\n\n**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 help.looker.com to update your license for this feature.\n\n", @@ -13608,22 +16847,30 @@ "responses": { "200": { "description": "Theme", - "schema": { "$ref": "#/definitions/Theme" } + "schema": { + "$ref": "#/definitions/Theme" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "update_theme", "summary": "Update Theme", "description": "### Update the theme by id.\n\n**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 help.looker.com to update your license for this feature.\n\n", @@ -13640,36 +16887,50 @@ "in": "body", "description": "Theme", "required": true, - "schema": { "$ref": "#/definitions/Theme" } + "schema": { + "$ref": "#/definitions/Theme" + } } ], "responses": { "200": { "description": "Theme", - "schema": { "$ref": "#/definitions/Theme" } + "schema": { + "$ref": "#/definitions/Theme" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "delete_theme", "summary": "Delete Theme", "description": "### Delete a specific theme by id\n\nThis operation permanently deletes the identified theme from the database.\n\nBecause multiple themes can have the same name (with different activation time spans) themes can only be deleted by ID.\n\nAll IDs associated with a theme name can be retrieved by searching for the theme name with [Theme Search](#!/Theme/search).\n\n**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 help.looker.com to update your license for this feature.\n\n", @@ -13685,19 +16946,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -13706,7 +16975,9 @@ }, "/timezones": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "all_timezones", "summary": "Get All Timezones", "description": "### Get a list of timezones that Looker supports (e.g. useful for scheduling tasks).\n", @@ -13715,16 +16986,22 @@ "description": "Timezone", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Timezone" } + "items": { + "$ref": "#/definitions/Timezone" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -13733,7 +17010,9 @@ }, "/user_attributes": { "get": { - "tags": ["UserAttribute"], + "tags": [ + "UserAttribute" + ], "operationId": "all_user_attributes", "summary": "Get All User Attributes", "description": "### Get information about all user attributes.\n", @@ -13758,23 +17037,31 @@ "description": "User Attribute", "schema": { "type": "array", - "items": { "$ref": "#/definitions/UserAttribute" } + "items": { + "$ref": "#/definitions/UserAttribute" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["UserAttribute"], + "tags": [ + "UserAttribute" + ], "operationId": "create_user_attribute", "summary": "Create User Attribute", "description": "### Create a new user attribute\n\nPermission information for a user attribute is conveyed through the `can` and `user_can_edit` fields.\nThe `user_can_edit` field indicates whether an attribute is user-editable _anywhere_ in the application.\nThe `can` field gives more granular access information, with the `set_value` child field indicating whether\nan attribute's value can be set by [Setting the User Attribute User Value](#!/User/set_user_attribute_user_value).\n\nNote: `name` and `label` fields must be unique across all user attributes in the Looker instance.\nAttempting to create a new user attribute with a name or label that duplicates an existing\nuser attribute will fail with a 422 error.\n", @@ -13784,7 +17071,9 @@ "in": "body", "description": "User Attribute", "required": true, - "schema": { "$ref": "#/definitions/UserAttribute" } + "schema": { + "$ref": "#/definitions/UserAttribute" + } }, { "name": "fields", @@ -13797,27 +17086,39 @@ "responses": { "200": { "description": "User Attribute", - "schema": { "$ref": "#/definitions/UserAttribute" } + "schema": { + "$ref": "#/definitions/UserAttribute" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -13826,7 +17127,9 @@ }, "/user_attributes/{user_attribute_id}": { "get": { - "tags": ["UserAttribute"], + "tags": [ + "UserAttribute" + ], "operationId": "user_attribute", "summary": "Get User Attribute", "description": "### Get information about a user attribute.\n", @@ -13850,22 +17153,30 @@ "responses": { "200": { "description": "User Attribute", - "schema": { "$ref": "#/definitions/UserAttribute" } + "schema": { + "$ref": "#/definitions/UserAttribute" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["UserAttribute"], + "tags": [ + "UserAttribute" + ], "operationId": "update_user_attribute", "summary": "Update User Attribute", "description": "### Update a user attribute definition.\n", @@ -13883,7 +17194,9 @@ "in": "body", "description": "User Attribute", "required": true, - "schema": { "$ref": "#/definitions/UserAttribute" } + "schema": { + "$ref": "#/definitions/UserAttribute" + } }, { "name": "fields", @@ -13896,30 +17209,42 @@ "responses": { "200": { "description": "User Attribute", - "schema": { "$ref": "#/definitions/UserAttribute" } + "schema": { + "$ref": "#/definitions/UserAttribute" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["UserAttribute"], + "tags": [ + "UserAttribute" + ], "operationId": "delete_user_attribute", "summary": "Delete User Attribute", "description": "### Delete a user attribute (admin only).\n", @@ -13936,19 +17261,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -13957,7 +17290,9 @@ }, "/user_attributes/{user_attribute_id}/group_values": { "get": { - "tags": ["UserAttribute"], + "tags": [ + "UserAttribute" + ], "operationId": "all_user_attribute_group_values", "summary": "Get User Attribute Group Values", "description": "### Returns all values of a user attribute defined by user groups, in precedence order.\n\nA user may be a member of multiple groups which define different values for a given user attribute.\nThe order of group-values in the response determines precedence for selecting which group-value applies\nto a given user. For more information, see [Set User Attribute Group Values](#!/UserAttribute/set_user_attribute_group_values).\n\nResults will only include groups that the caller's user account has permission to see.\n", @@ -13983,23 +17318,31 @@ "description": "All group values for attribute.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/UserAttributeGroupValue" } + "items": { + "$ref": "#/definitions/UserAttributeGroupValue" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["UserAttribute"], + "tags": [ + "UserAttribute" + ], "operationId": "set_user_attribute_group_values", "summary": "Set User Attribute Group Values", "description": "### Define values for a user attribute across a set of groups, in priority order.\n\nThis function defines all values for a user attribute defined by user groups. This is a global setting, potentially affecting\nall users in the system. This function replaces any existing group value definitions for the indicated user attribute.\n\nThe value of a user attribute for a given user is determined by searching the following locations, in this order:\n\n1. the user's account settings\n2. the groups that the user is a member of\n3. the default value of the user attribute, if any\n\nThe 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\ndetermines which group takes priority for that user. Lowest array index wins.\n\nAn alternate method to indicate the selection precedence of group-values is to assign numbers to the 'rank' property of each\ngroup-value object in the array. Lowest 'rank' value wins. If you use this technique, you must assign a\nrank value to every group-value object in the array.\n\n To set a user attribute value for a single user, see [Set User Attribute User Value](#!/User/set_user_attribute_user_value).\nTo set a user attribute value for all members of a group, see [Set User Attribute Group Value](#!/Group/update_user_attribute_group_value).\n", @@ -14019,7 +17362,9 @@ "required": true, "schema": { "type": "array", - "items": { "$ref": "#/definitions/UserAttributeGroupValue" } + "items": { + "$ref": "#/definitions/UserAttributeGroupValue" + } } } ], @@ -14028,28 +17373,40 @@ "description": "Array of group values.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/UserAttributeGroupValue" } + "items": { + "$ref": "#/definitions/UserAttributeGroupValue" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -14058,7 +17415,9 @@ }, "/user_login_lockouts": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "all_user_login_lockouts", "summary": "Get All User Login Lockouts", "description": "### Get currently locked-out users.\n", @@ -14076,16 +17435,22 @@ "description": "User Login Lockout", "schema": { "type": "array", - "items": { "$ref": "#/definitions/UserLoginLockout" } + "items": { + "$ref": "#/definitions/UserLoginLockout" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -14094,7 +17459,9 @@ }, "/user_login_lockouts/search": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "search_user_login_lockouts", "summary": "Search User Login Lockouts", "description": "### Search currently locked-out users.\n", @@ -14170,16 +17537,22 @@ "description": "User Login Lockout", "schema": { "type": "array", - "items": { "$ref": "#/definitions/UserLoginLockout" } + "items": { + "$ref": "#/definitions/UserLoginLockout" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -14188,7 +17561,9 @@ }, "/user_login_lockout/{key}": { "delete": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "delete_user_login_lockout", "summary": "Delete User Login Lockout", "description": "### Removes login lockout for the associated user.\n", @@ -14204,19 +17579,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -14225,7 +17608,9 @@ }, "/user": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "me", "summary": "Get Current User", "description": "### Get information about the current user; i.e. the user account currently calling the API.\n", @@ -14241,11 +17626,15 @@ "responses": { "200": { "description": "Current user.", - "schema": { "$ref": "#/definitions/User" } + "schema": { + "$ref": "#/definitions/User" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -14254,7 +17643,9 @@ }, "/users": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "all_users", "summary": "Get All Users", "description": "### Get information about all users.\n", @@ -14295,7 +17686,10 @@ "description": "Optional list of ids to get specific users.", "required": false, "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "collectionFormat": "csv" } ], @@ -14304,23 +17698,31 @@ "description": "All users.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/User" } + "items": { + "$ref": "#/definitions/User" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "create_user", "summary": "Create User", "description": "### Create a user with the specified information.\n", @@ -14330,7 +17732,9 @@ "in": "body", "description": "User", "required": false, - "schema": { "$ref": "#/definitions/User" } + "schema": { + "$ref": "#/definitions/User" + } }, { "name": "fields", @@ -14343,23 +17747,33 @@ "responses": { "200": { "description": "Created User", - "schema": { "$ref": "#/definitions/User" } + "schema": { + "$ref": "#/definitions/User" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -14368,7 +17782,9 @@ }, "/users/search": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "search_users", "summary": "Search Users", "description": "### Search users\n\nReturns all* user records that match the given search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\n(*) Results are always filtered to the level of information the caller is permitted to view.\nLooker admins can see all user details; normal users in an open system can see\nnames of other users but no details; normal users in a closed system can only see\nnames of other users who are members of the same group as the user.\n\n", @@ -14475,16 +17891,22 @@ "description": "Matching users.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/User" } + "items": { + "$ref": "#/definitions/User" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -14493,7 +17915,9 @@ }, "/users/search/names/{pattern}": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "search_users_names", "summary": "Search User Names", "description": "### Search for user accounts by name\n\nReturns all user accounts where `first_name` OR `last_name` OR `email` field values match a pattern.\nThe pattern can contain `%` and `_` wildcards as in SQL LIKE expressions.\n\nAny additional search params will be combined into a logical AND expression.\n", @@ -14584,16 +18008,22 @@ "description": "Matching users.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/User" } + "items": { + "$ref": "#/definitions/User" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -14602,7 +18032,9 @@ }, "/users/{user_id}": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user", "summary": "Get User by Id", "description": "### Get information about the user with a specific id.\n\nIf the caller is an admin or the caller is the user being specified, then full user information will\nbe returned. Otherwise, a minimal 'public' variant of the user information will be returned. This contains\nThe user name and avatar url, but no sensitive information.\n", @@ -14626,22 +18058,30 @@ "responses": { "200": { "description": "Specified user.", - "schema": { "$ref": "#/definitions/User" } + "schema": { + "$ref": "#/definitions/User" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "update_user", "summary": "Update User", "description": "### Update information about the user with a specific id.\n", @@ -14659,7 +18099,9 @@ "in": "body", "description": "User", "required": true, - "schema": { "$ref": "#/definitions/User" } + "schema": { + "$ref": "#/definitions/User" + } }, { "name": "fields", @@ -14672,26 +18114,36 @@ "responses": { "200": { "description": "New state for specified user.", - "schema": { "$ref": "#/definitions/User" } + "schema": { + "$ref": "#/definitions/User" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user", "summary": "Delete User", "description": "### Delete the user with a specific id.\n\n**DANGER** this will delete the user and all looks and other information owned by the user.\n", @@ -14708,19 +18160,27 @@ "responses": { "204": { "description": "User successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "403": { "description": "Permission Denied", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -14729,7 +18189,9 @@ }, "/users/credential/{credential_type}/{credential_id}": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_for_credential", "summary": "Get User by Credential Id", "description": "### Get information about the user with a credential of given type with specific id.\n\nThis is used to do things like find users by their embed external_user_id. Or, find the user with\na given api3 client_id, etc. The 'credential_type' matches the 'type' name of the various credential\ntypes. It must be one of the values listed in the table below. The 'credential_id' is your unique Id\nfor the user and is specific to each type of credential.\n\nAn example using the Ruby sdk might look like:\n\n`sdk.user_for_credential('embed', 'customer-4959425')`\n\nThis table shows the supported 'Credential Type' strings. The right column is for reference; it shows\nwhich field in the given credential type is actually searched when finding a user with the supplied\n'credential_id'.\n\n| Credential Types | Id Field Matched |\n| ---------------- | ---------------- |\n| email | email |\n| google | google_user_id |\n| saml | saml_user_id |\n| oidc | oidc_user_id |\n| ldap | ldap_id |\n| api | token |\n| api3 | client_id |\n| embed | external_user_id |\n| looker_openid | email |\n\n**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'.\n\n", @@ -14759,15 +18221,21 @@ "responses": { "200": { "description": "Specified user.", - "schema": { "$ref": "#/definitions/User" } + "schema": { + "$ref": "#/definitions/User" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -14776,7 +18244,9 @@ }, "/users/{user_id}/credentials_email": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_email", "summary": "Get Email/Password Credential", "description": "### Email/password login information for the specified user.", @@ -14800,22 +18270,30 @@ "responses": { "200": { "description": "Email/Password Credential", - "schema": { "$ref": "#/definitions/CredentialsEmail" } + "schema": { + "$ref": "#/definitions/CredentialsEmail" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "create_user_credentials_email", "summary": "Create Email/Password Credential", "description": "### Email/password login information for the specified user.", @@ -14833,7 +18311,9 @@ "in": "body", "description": "Email/Password Credential", "required": true, - "schema": { "$ref": "#/definitions/CredentialsEmail" } + "schema": { + "$ref": "#/definitions/CredentialsEmail" + } }, { "name": "fields", @@ -14846,34 +18326,48 @@ "responses": { "200": { "description": "Email/Password Credential", - "schema": { "$ref": "#/definitions/CredentialsEmail" } + "schema": { + "$ref": "#/definitions/CredentialsEmail" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "update_user_credentials_email", "summary": "Update Email/Password Credential", "description": "### Email/password login information for the specified user.", @@ -14891,7 +18385,9 @@ "in": "body", "description": "Email/Password Credential", "required": true, - "schema": { "$ref": "#/definitions/CredentialsEmail" } + "schema": { + "$ref": "#/definitions/CredentialsEmail" + } }, { "name": "fields", @@ -14904,30 +18400,42 @@ "responses": { "200": { "description": "Email/Password Credential", - "schema": { "$ref": "#/definitions/CredentialsEmail" } + "schema": { + "$ref": "#/definitions/CredentialsEmail" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_email", "summary": "Delete Email/Password Credential", "description": "### Email/password login information for the specified user.", @@ -14944,19 +18452,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -14965,7 +18481,9 @@ }, "/users/{user_id}/credentials_totp": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_totp", "summary": "Get Two-Factor Credential", "description": "### Two-factor login information for the specified user.", @@ -14989,22 +18507,30 @@ "responses": { "200": { "description": "Two-Factor Credential", - "schema": { "$ref": "#/definitions/CredentialsTotp" } + "schema": { + "$ref": "#/definitions/CredentialsTotp" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "create_user_credentials_totp", "summary": "Create Two-Factor Credential", "description": "### Two-factor login information for the specified user.", @@ -15022,7 +18548,9 @@ "in": "body", "description": "Two-Factor Credential", "required": false, - "schema": { "$ref": "#/definitions/CredentialsTotp" } + "schema": { + "$ref": "#/definitions/CredentialsTotp" + } }, { "name": "fields", @@ -15035,34 +18563,48 @@ "responses": { "200": { "description": "Two-Factor Credential", - "schema": { "$ref": "#/definitions/CredentialsTotp" } + "schema": { + "$ref": "#/definitions/CredentialsTotp" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_totp", "summary": "Delete Two-Factor Credential", "description": "### Two-factor login information for the specified user.", @@ -15079,19 +18621,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -15100,7 +18650,9 @@ }, "/users/{user_id}/credentials_ldap": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_ldap", "summary": "Get LDAP Credential", "description": "### LDAP login information for the specified user.", @@ -15124,22 +18676,30 @@ "responses": { "200": { "description": "LDAP Credential", - "schema": { "$ref": "#/definitions/CredentialsLDAP" } + "schema": { + "$ref": "#/definitions/CredentialsLDAP" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_ldap", "summary": "Delete LDAP Credential", "description": "### LDAP login information for the specified user.", @@ -15156,19 +18716,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -15177,7 +18745,9 @@ }, "/users/{user_id}/credentials_google": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_google", "summary": "Get Google Auth Credential", "description": "### Google authentication login information for the specified user.", @@ -15201,22 +18771,30 @@ "responses": { "200": { "description": "Google Auth Credential", - "schema": { "$ref": "#/definitions/CredentialsGoogle" } + "schema": { + "$ref": "#/definitions/CredentialsGoogle" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_google", "summary": "Delete Google Auth Credential", "description": "### Google authentication login information for the specified user.", @@ -15233,19 +18811,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -15254,7 +18840,9 @@ }, "/users/{user_id}/credentials_saml": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_saml", "summary": "Get Saml Auth Credential", "description": "### Saml authentication login information for the specified user.", @@ -15278,22 +18866,30 @@ "responses": { "200": { "description": "Saml Auth Credential", - "schema": { "$ref": "#/definitions/CredentialsSaml" } + "schema": { + "$ref": "#/definitions/CredentialsSaml" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_saml", "summary": "Delete Saml Auth Credential", "description": "### Saml authentication login information for the specified user.", @@ -15310,19 +18906,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -15331,7 +18935,9 @@ }, "/users/{user_id}/credentials_oidc": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_oidc", "summary": "Get OIDC Auth Credential", "description": "### OpenID Connect (OIDC) authentication login information for the specified user.", @@ -15355,22 +18961,30 @@ "responses": { "200": { "description": "OIDC Auth Credential", - "schema": { "$ref": "#/definitions/CredentialsOIDC" } + "schema": { + "$ref": "#/definitions/CredentialsOIDC" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_oidc", "summary": "Delete OIDC Auth Credential", "description": "### OpenID Connect (OIDC) authentication login information for the specified user.", @@ -15387,19 +19001,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -15408,7 +19030,9 @@ }, "/users/{user_id}/credentials_api3/{credentials_api3_id}": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_api3", "summary": "Get API 3 Credential", "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", @@ -15440,22 +19064,30 @@ "responses": { "200": { "description": "API 3 Credential", - "schema": { "$ref": "#/definitions/CredentialsApi3" } + "schema": { + "$ref": "#/definitions/CredentialsApi3" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_api3", "summary": "Delete API 3 Credential", "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", @@ -15480,19 +19112,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -15501,7 +19141,9 @@ }, "/users/{user_id}/credentials_api3": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "all_user_credentials_api3s", "summary": "Get All API 3 Credentials", "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", @@ -15527,23 +19169,31 @@ "description": "API 3 Credential", "schema": { "type": "array", - "items": { "$ref": "#/definitions/CredentialsApi3" } + "items": { + "$ref": "#/definitions/CredentialsApi3" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "create_user_credentials_api3", "summary": "Create API 3 Credential", "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", @@ -15561,7 +19211,9 @@ "in": "body", "description": "API 3 Credential", "required": false, - "schema": { "$ref": "#/definitions/CredentialsApi3" } + "schema": { + "$ref": "#/definitions/CredentialsApi3" + } }, { "name": "fields", @@ -15574,27 +19226,39 @@ "responses": { "200": { "description": "API 3 Credential", - "schema": { "$ref": "#/definitions/CredentialsApi3" } + "schema": { + "$ref": "#/definitions/CredentialsApi3" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -15603,7 +19267,9 @@ }, "/users/{user_id}/credentials_embed/{credentials_embed_id}": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_embed", "summary": "Get Embedding Credential", "description": "### Embed login information for the specified user.", @@ -15635,22 +19301,30 @@ "responses": { "200": { "description": "Embedding Credential", - "schema": { "$ref": "#/definitions/CredentialsEmbed" } + "schema": { + "$ref": "#/definitions/CredentialsEmbed" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_embed", "summary": "Delete Embedding Credential", "description": "### Embed login information for the specified user.", @@ -15675,19 +19349,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -15696,7 +19378,9 @@ }, "/users/{user_id}/credentials_embed": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "all_user_credentials_embeds", "summary": "Get All Embedding Credentials", "description": "### Embed login information for the specified user.", @@ -15722,16 +19406,22 @@ "description": "Embedding Credential", "schema": { "type": "array", - "items": { "$ref": "#/definitions/CredentialsEmbed" } + "items": { + "$ref": "#/definitions/CredentialsEmbed" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -15740,7 +19430,9 @@ }, "/users/{user_id}/credentials_looker_openid": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_looker_openid", "summary": "Get Looker OpenId Credential", "description": "### Looker Openid login information for the specified user. Used by Looker Analysts.", @@ -15764,22 +19456,30 @@ "responses": { "200": { "description": "Looker OpenId Credential", - "schema": { "$ref": "#/definitions/CredentialsLookerOpenid" } + "schema": { + "$ref": "#/definitions/CredentialsLookerOpenid" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_looker_openid", "summary": "Delete Looker OpenId Credential", "description": "### Looker Openid login information for the specified user. Used by Looker Analysts.", @@ -15796,19 +19496,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -15817,7 +19525,9 @@ }, "/users/{user_id}/sessions/{session_id}": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_session", "summary": "Get Web Login Session", "description": "### Web login session for the specified user.", @@ -15849,22 +19559,30 @@ "responses": { "200": { "description": "Web Login Session", - "schema": { "$ref": "#/definitions/Session" } + "schema": { + "$ref": "#/definitions/Session" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_session", "summary": "Delete Web Login Session", "description": "### Web login session for the specified user.", @@ -15889,19 +19607,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -15910,7 +19636,9 @@ }, "/users/{user_id}/sessions": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "all_user_sessions", "summary": "Get All Web Login Sessions", "description": "### Web login session for the specified user.", @@ -15936,16 +19664,22 @@ "description": "Web Login Session", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Session" } + "items": { + "$ref": "#/definitions/Session" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -15954,7 +19688,9 @@ }, "/users/{user_id}/credentials_email/password_reset": { "post": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "create_user_credentials_email_password_reset", "summary": "Create Password Reset Token", "description": "### Create a password reset token.\nThis will create a cryptographically secure random password reset token for the user.\nIf the user already has a password reset token then this invalidates the old token and creates a new one.\nThe token is expressed as the 'password_reset_url' of the user's email/password credential object.\nThis takes an optional 'expires' param to indicate if the new token should be an expiring token.\nTokens that expire are typically used for self-service password resets for existing users.\nInvitation emails for new users typically are not set to expire.\nThe expire period is always 60 minutes when expires is enabled.\nThis method can be called with an empty body.\n", @@ -15985,15 +19721,21 @@ "responses": { "200": { "description": "email/password credential", - "schema": { "$ref": "#/definitions/CredentialsEmail" } + "schema": { + "$ref": "#/definitions/CredentialsEmail" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -16002,7 +19744,9 @@ }, "/users/{user_id}/roles": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_roles", "summary": "Get User Roles", "description": "### Get information about roles of a given user\n", @@ -16035,23 +19779,31 @@ "description": "Roles of user.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Role" } + "items": { + "$ref": "#/definitions/Role" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "put": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "set_user_roles", "summary": "Set User Roles", "description": "### Set roles of the user with a specific id.\n", @@ -16071,7 +19823,10 @@ "required": true, "schema": { "type": "array", - "items": { "type": "integer", "format": "int64" } + "items": { + "type": "integer", + "format": "int64" + } } }, { @@ -16087,16 +19842,22 @@ "description": "Roles of user.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Role" } + "items": { + "$ref": "#/definitions/Role" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -16105,7 +19866,9 @@ }, "/users/{user_id}/attribute_values": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_attribute_user_values", "summary": "Get User Attribute Values", "description": "### Get user attribute values for a given user.\n\nReturns the values of specified user attributes (or all user attributes) for a certain user.\n\nA value for each user attribute is searched for in the following locations, in this order:\n\n1. in the user's account information\n1. in groups that the user is a member of\n1. the default value of the user attribute\n\nIf more than one group has a value defined for a user attribute, the group with the lowest rank wins.\n\nThe response will only include user attributes for which values were found. Use `include_unset=true` to include\nempty records for user attributes with no value.\n\nThe value of all hidden user attributes will be blank.\n", @@ -16131,7 +19894,10 @@ "description": "Specific user attributes to request. Omit or leave blank to request all user attributes.", "required": false, "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "collectionFormat": "csv" }, { @@ -16154,12 +19920,16 @@ "description": "Value of user attribute.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/UserAttributeWithValue" } + "items": { + "$ref": "#/definitions/UserAttributeWithValue" + } } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -16168,7 +19938,9 @@ }, "/users/{user_id}/attribute_values/{user_attribute_id}": { "patch": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "set_user_attribute_user_value", "summary": "Set User Attribute User Value", "description": "### Store a custom value for a user attribute in a user's account settings.\n\nPer-user user attribute values take precedence over group or default values.\n", @@ -16194,32 +19966,44 @@ "in": "body", "description": "New attribute value for user.", "required": true, - "schema": { "$ref": "#/definitions/UserAttributeWithValue" } + "schema": { + "$ref": "#/definitions/UserAttributeWithValue" + } } ], "responses": { "200": { "description": "User attribute value.", - "schema": { "$ref": "#/definitions/UserAttributeWithValue" } + "schema": { + "$ref": "#/definitions/UserAttributeWithValue" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_attribute_user_value", "summary": "Delete User Attribute User Value", "description": "### Delete a user attribute value from a user's account settings.\n\nAfter the user attribute value is deleted from the user's account settings, subsequent requests\nfor the user attribute value for this user will draw from the user's groups or the default\nvalue of the user attribute. See [Get User Attribute Values](#!/User/user_attribute_user_values) for more\ninformation about how user attribute values are resolved.\n", @@ -16242,14 +20026,20 @@ } ], "responses": { - "204": { "description": "Deleted" }, + "204": { + "description": "Deleted" + }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -16258,11 +20048,15 @@ }, "/vector_thumbnail/{type}/{resource_id}": { "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "vector_thumbnail", "summary": "Get Vector Thumbnail", "description": "### Get a vector image representing the contents of a dashboard or look.\n\n# DEPRECATED: Use [content_thumbnail()](#!/Content/content_thumbnail)\n\nThe returned thumbnail is an abstract representation of the contents of a dashbord or look and does not\nreflect the actual data displayed in the respective visualizations.\n", - "produces": ["image/svg+xml"], + "produces": [ + "image/svg+xml" + ], "parameters": [ { "name": "type", @@ -16289,15 +20083,21 @@ "responses": { "200": { "description": "Vector thumbnail", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -16307,7 +20107,9 @@ }, "/versions": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "versions", "summary": "Get ApiVersion", "description": "### Get information about all API versions supported by this Looker instance.\n", @@ -16323,15 +20125,21 @@ "responses": { "200": { "description": "ApiVersion", - "schema": { "$ref": "#/definitions/ApiVersion" } + "schema": { + "$ref": "#/definitions/ApiVersion" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -16340,7 +20148,9 @@ }, "/whitelabel_configuration": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "whitelabel_configuration", "summary": "Get Whitelabel configuration", "description": "### This feature is enabled only by special license.\n### Gets the whitelabel configuration, which includes hiding documentation links, custom favicon uploading, etc.\n", @@ -16356,22 +20166,30 @@ "responses": { "200": { "description": "Whitelabel configuration", - "schema": { "$ref": "#/definitions/WhitelabelConfiguration" } + "schema": { + "$ref": "#/definitions/WhitelabelConfiguration" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "put": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "update_whitelabel_configuration", "summary": "Update Whitelabel configuration", "description": "### Update the whitelabel configuration\n", @@ -16381,29 +20199,41 @@ "in": "body", "description": "Whitelabel configuration", "required": true, - "schema": { "$ref": "#/definitions/WhitelabelConfiguration" } + "schema": { + "$ref": "#/definitions/WhitelabelConfiguration" + } } ], "responses": { "200": { "description": "Whitelabel configuration", - "schema": { "$ref": "#/definitions/WhitelabelConfiguration" } + "schema": { + "$ref": "#/definitions/WhitelabelConfiguration" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -16412,7 +20242,9 @@ }, "/workspaces": { "get": { - "tags": ["Workspace"], + "tags": [ + "Workspace" + ], "operationId": "all_workspaces", "summary": "Get All Workspaces", "description": "### Get All Workspaces\n\nReturns all workspaces available to the calling user.\n", @@ -16421,16 +20253,22 @@ "description": "Workspace", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Workspace" } + "items": { + "$ref": "#/definitions/Workspace" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -16439,7 +20277,9 @@ }, "/workspaces/{workspace_id}": { "get": { - "tags": ["Workspace"], + "tags": [ + "Workspace" + ], "operationId": "workspace", "summary": "Get Workspace", "description": "### Get A Workspace\n\nReturns information about a workspace such as the git status and selected branches\nof all projects available to the caller's user account.\n\nA workspace defines which versions of project files will be used to evaluate expressions\nand operations that use model definitions - operations such as running queries or rendering dashboards.\nEach project has its own git repository, and each project in a workspace may be configured to reference\nparticular branch or revision within their respective repositories.\n\nThere are two predefined workspaces available: \"production\" and \"dev\".\n\nThe production workspace is shared across all Looker users. Models in the production workspace are read-only.\nChanging files in production is accomplished by modifying files in a git branch and using Pull Requests\nto merge the changes from the dev branch into the production branch, and then telling\nLooker to sync with production.\n\nThe dev workspace is local to each Looker user. Changes made to project/model files in the dev workspace only affect\nthat user, and only when the dev workspace is selected as the active workspace for the API session.\n(See set_session_workspace()).\n\nThe dev workspace is NOT unique to an API session. Two applications accessing the Looker API using\nthe same user account will see the same files in the dev workspace. To avoid collisions between\nAPI clients it's best to have each client login with API3 credentials for a different user account.\n\nChanges made to files in a dev workspace are persistent across API sessions. It's a good\nidea to commit any changes you've made to the git repository, but not strictly required. Your modified files\nreside in a special user-specific directory on the Looker server and will still be there when you login in again\nlater and use update_session(workspace_id: \"dev\") to select the dev workspace for the new API session.\n", @@ -16455,15 +20295,21 @@ "responses": { "200": { "description": "Workspace", - "schema": { "$ref": "#/definitions/Workspace" } + "schema": { + "$ref": "#/definitions/Workspace" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -16489,13 +20335,18 @@ } }, "x-looker-status": "stable", - "required": ["message", "documentation_url"] + "required": [ + "message", + "documentation_url" + ] }, "DashboardBase": { "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -16687,14 +20538,18 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false } }, "x-looker-status": "stable", - "required": ["name"] + "required": [ + "name" + ] }, "CreateSpace": { "properties": { @@ -16710,7 +20565,10 @@ } }, "x-looker-status": "stable", - "required": ["name", "parent_id"] + "required": [ + "name", + "parent_id" + ] }, "UpdateSpace": { "properties": { @@ -16823,34 +20681,44 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false }, "dashboards": { "type": "array", - "items": { "$ref": "#/definitions/DashboardBase" }, + "items": { + "$ref": "#/definitions/DashboardBase" + }, "readOnly": true, "description": "Dashboards", "x-looker-nullable": true }, "looks": { "type": "array", - "items": { "$ref": "#/definitions/LookWithDashboards" }, + "items": { + "$ref": "#/definitions/LookWithDashboards" + }, "readOnly": true, "description": "Looks", "x-looker-nullable": true } }, "x-looker-status": "stable", - "required": ["name"] + "required": [ + "name" + ] }, "Homepage": { "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -16882,7 +20750,9 @@ }, "homepage_sections": { "type": "array", - "items": { "$ref": "#/definitions/HomepageSection" }, + "items": { + "$ref": "#/definitions/HomepageSection" + }, "readOnly": true, "description": "Sections of the homepage", "x-looker-nullable": true @@ -16895,7 +20765,10 @@ }, "section_order": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "ids of the homepage sections in the order they should be displayed", "x-looker-nullable": true }, @@ -16931,7 +20804,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -16963,7 +20838,9 @@ }, "homepage_items": { "type": "array", - "items": { "$ref": "#/definitions/HomepageItem" }, + "items": { + "$ref": "#/definitions/HomepageItem" + }, "readOnly": true, "description": "Items in the homepage section", "x-looker-nullable": true @@ -16982,7 +20859,10 @@ }, "item_order": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "ids of the homepage items in the order they should be displayed", "x-looker-nullable": true }, @@ -17002,6 +20882,16 @@ "type": "string", "description": "Description of the content found in this section.", "x-looker-nullable": true + }, + "visible_item_order": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + }, + "readOnly": true, + "description": "ids of the homepage items the user can see in the order they should be displayed", + "x-looker-nullable": true } }, "x-looker-status": "stable" @@ -17010,7 +20900,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -17186,7 +21078,9 @@ }, "errors": { "type": "array", - "items": { "$ref": "#/definitions/ValidationErrorDetail" }, + "items": { + "$ref": "#/definitions/ValidationErrorDetail" + }, "readOnly": true, "description": "Error detail array", "x-looker-nullable": true @@ -17200,7 +21094,10 @@ } }, "x-looker-status": "stable", - "required": ["message", "documentation_url"] + "required": [ + "message", + "documentation_url" + ] }, "ValidationErrorDetail": { "properties": { @@ -17231,7 +21128,9 @@ } }, "x-looker-status": "stable", - "required": ["documentation_url"] + "required": [ + "documentation_url" + ] }, "AccessToken": { "properties": { @@ -17261,7 +21160,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -17285,7 +21186,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -17363,7 +21266,9 @@ }, "stops": { "type": "array", - "items": { "$ref": "#/definitions/ColorStop" }, + "items": { + "$ref": "#/definitions/ColorStop" + }, "description": "Array of ColorStops in the palette", "x-looker-nullable": false } @@ -17390,7 +21295,9 @@ }, "colors": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Array of colors in the palette", "x-looker-nullable": false } @@ -17412,19 +21319,25 @@ }, "categoricalPalettes": { "type": "array", - "items": { "$ref": "#/definitions/DiscretePalette" }, + "items": { + "$ref": "#/definitions/DiscretePalette" + }, "description": "Array of categorical palette definitions", "x-looker-nullable": false }, "sequentialPalettes": { "type": "array", - "items": { "$ref": "#/definitions/ContinuousPalette" }, + "items": { + "$ref": "#/definitions/ContinuousPalette" + }, "description": "Array of discrete palette definitions", "x-looker-nullable": false }, "divergingPalettes": { "type": "array", - "items": { "$ref": "#/definitions/ContinuousPalette" }, + "items": { + "$ref": "#/definitions/ContinuousPalette" + }, "description": "Array of diverging palette definitions", "x-looker-nullable": false } @@ -17485,7 +21398,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -17505,7 +21420,10 @@ "permission_type": { "type": "string", "readOnly": true, - "x-looker-values": ["view", "edit"], + "x-looker-values": [ + "view", + "edit" + ], "description": "Type of permission: \"view\" or \"edit\" Valid values are: \"view\", \"edit\".", "x-looker-nullable": true }, @@ -17530,7 +21448,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -17611,7 +21531,9 @@ "properties": { "content_with_errors": { "type": "array", - "items": { "$ref": "#/definitions/ContentValidatorError" }, + "items": { + "$ref": "#/definitions/ContentValidatorError" + }, "readOnly": true, "description": "A list of content errors", "x-looker-nullable": true @@ -17712,7 +21634,9 @@ }, "errors": { "type": "array", - "items": { "$ref": "#/definitions/ContentValidationError" }, + "items": { + "$ref": "#/definitions/ContentValidationError" + }, "readOnly": true, "description": "A list of errors found for this piece of content", "x-looker-nullable": true @@ -17741,7 +21665,9 @@ } }, "x-looker-status": "stable", - "required": ["name"] + "required": [ + "name" + ] }, "ContentValidationFolder": { "properties": { @@ -17758,7 +21684,9 @@ } }, "x-looker-status": "stable", - "required": ["name"] + "required": [ + "name" + ] }, "ContentValidationLook": { "properties": { @@ -18086,7 +22014,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -18172,7 +22102,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -18222,7 +22154,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -18288,7 +22222,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -18350,7 +22286,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -18411,7 +22349,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -18472,7 +22412,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -18534,7 +22476,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -18589,7 +22533,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -18644,7 +22590,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -18687,7 +22635,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -18778,7 +22728,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -18941,7 +22893,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -18995,7 +22949,10 @@ }, "field": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "readOnly": true, "description": "Field information", "x-looker-nullable": true @@ -19008,7 +22965,9 @@ }, "listens_to_filters": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Array of listeners for faceted filters", "x-looker-nullable": true }, @@ -19024,7 +22983,10 @@ }, "ui_config": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "description": "The visual configuration for this filter. Used to set up how the UI for this filter should appear.", "x-looker-nullable": true } @@ -19081,7 +23043,10 @@ }, "field": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "readOnly": true, "description": "Field information", "x-looker-nullable": true @@ -19094,7 +23059,9 @@ }, "listens_to_filters": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Array of listeners for faceted filters", "x-looker-nullable": true }, @@ -19110,19 +23077,29 @@ }, "ui_config": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "description": "The visual configuration for this filter. Used to set up how the UI for this filter should appear.", "x-looker-nullable": true } }, "x-looker-status": "stable", - "required": ["dashboard_id", "name", "title", "type"] + "required": [ + "dashboard_id", + "name", + "title", + "type" + ] }, "DashboardLayoutComponent": { "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -19198,7 +23175,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -19250,7 +23229,9 @@ }, "dashboard_layout_components": { "type": "array", - "items": { "$ref": "#/definitions/DashboardLayoutComponent" }, + "items": { + "$ref": "#/definitions/DashboardLayoutComponent" + }, "readOnly": true, "description": "Components", "x-looker-nullable": true @@ -19279,7 +23260,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -19386,21 +23369,27 @@ }, "dashboard_elements": { "type": "array", - "items": { "$ref": "#/definitions/DashboardElement" }, + "items": { + "$ref": "#/definitions/DashboardElement" + }, "readOnly": true, "description": "Elements", "x-looker-nullable": true }, "dashboard_filters": { "type": "array", - "items": { "$ref": "#/definitions/DashboardFilter" }, + "items": { + "$ref": "#/definitions/DashboardFilter" + }, "readOnly": true, "description": "Filters", "x-looker-nullable": true }, "dashboard_layouts": { "type": "array", - "items": { "$ref": "#/definitions/DashboardLayout" }, + "items": { + "$ref": "#/definitions/DashboardLayout" + }, "readOnly": true, "description": "Layouts", "x-looker-nullable": true @@ -19579,7 +23568,9 @@ }, "options": { "type": "array", - "items": { "$ref": "#/definitions/DataActionFormSelectOption" }, + "items": { + "$ref": "#/definitions/DataActionFormSelectOption" + }, "readOnly": true, "description": "If the form type is 'select', a list of options to be selected from.", "x-looker-nullable": true @@ -19597,7 +23588,9 @@ }, "fields": { "type": "array", - "items": { "$ref": "#/definitions/DataActionFormField" }, + "items": { + "$ref": "#/definitions/DataActionFormField" + }, "readOnly": true, "description": "Array of form fields.", "x-looker-nullable": true @@ -19626,13 +23619,17 @@ "properties": { "action": { "type": "object", - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "description": "The JSON describing the data action. This JSON should be considered opaque and should be passed through unmodified from the query result it came from.", "x-looker-nullable": true }, "form_values": { "type": "object", - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "description": "User input for any form values the data action might use.", "x-looker-nullable": true } @@ -19696,7 +23693,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -19764,7 +23763,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -19783,7 +23784,9 @@ }, "snippets": { "type": "array", - "items": { "$ref": "#/definitions/Snippet" }, + "items": { + "$ref": "#/definitions/Snippet" + }, "readOnly": true, "description": "SQL Runner snippets for this connection", "x-looker-nullable": false @@ -19801,7 +23804,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -19819,7 +23824,9 @@ }, "snippets": { "type": "array", - "items": { "$ref": "#/definitions/Snippet" }, + "items": { + "$ref": "#/definitions/Snippet" + }, "readOnly": true, "description": "SQL Runner snippets for this connection", "x-looker-nullable": false @@ -19956,7 +23963,9 @@ }, "user_attribute_fields": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Fields whose values map to user attribute names", "x-looker-nullable": true }, @@ -20079,7 +24088,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -20156,7 +24167,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -20270,7 +24283,9 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -20330,7 +24345,9 @@ }, "connection_tests": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Array of names of the tests that can be run on a connection using this dialect", "x-looker-nullable": false @@ -20423,19 +24440,26 @@ }, "permissions": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "List of Looker permission names to grant to the embed user. Requested permissions will be filtered to permissions allowed for embed sessions.", "x-looker-nullable": true }, "models": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "List of model names that the embed user may access", "x-looker-nullable": true }, "group_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "List of Looker group ids in which to enroll the embed user", "x-looker-nullable": true }, @@ -20446,7 +24470,10 @@ }, "user_attributes": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "description": "A dictionary of name-value pairs associating a Looker user attribute name with a value.", "x-looker-nullable": true }, @@ -20458,7 +24485,9 @@ } }, "x-looker-status": "stable", - "required": ["target_url"] + "required": [ + "target_url" + ] }, "EmbedUrlResponse": { "properties": { @@ -20567,14 +24596,18 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false } }, "x-looker-status": "stable", - "required": ["name"] + "required": [ + "name" + ] }, "CreateFolder": { "properties": { @@ -20590,7 +24623,10 @@ } }, "x-looker-status": "stable", - "required": ["name", "parent_id"] + "required": [ + "name", + "parent_id" + ] }, "UpdateFolder": { "properties": { @@ -20703,34 +24739,44 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false }, "dashboards": { "type": "array", - "items": { "$ref": "#/definitions/DashboardBase" }, + "items": { + "$ref": "#/definitions/DashboardBase" + }, "readOnly": true, "description": "Dashboards", "x-looker-nullable": true }, "looks": { "type": "array", - "items": { "$ref": "#/definitions/LookWithDashboards" }, + "items": { + "$ref": "#/definitions/LookWithDashboards" + }, "readOnly": true, "description": "Looks", "x-looker-nullable": true } }, "x-looker-status": "stable", - "required": ["name"] + "required": [ + "name" + ] }, "GitBranch": { "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -20839,7 +24885,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -20863,7 +24911,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -20917,7 +24967,9 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -20941,7 +24993,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -21037,7 +25091,9 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -21049,7 +25105,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -21121,7 +25179,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -21158,13 +25218,17 @@ }, "params": { "type": "array", - "items": { "$ref": "#/definitions/IntegrationParam" }, + "items": { + "$ref": "#/definitions/IntegrationParam" + }, "description": "Array of params for the integration.", "x-looker-nullable": false }, "supported_formats": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "x-looker-values": [ "txt", @@ -21186,33 +25250,54 @@ }, "supported_action_types": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, - "x-looker-values": ["cell", "query", "dashboard"], + "x-looker-values": [ + "cell", + "query", + "dashboard" + ], "description": "A list of action types the integration supports. Valid values are: \"cell\", \"query\", \"dashboard\".", "x-looker-nullable": false }, "supported_formattings": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, - "x-looker-values": ["formatted", "unformatted"], + "x-looker-values": [ + "formatted", + "unformatted" + ], "description": "A list of formatting options the integration supports. If unspecified, defaults to all formats. Valid values are: \"formatted\", \"unformatted\".", "x-looker-nullable": false }, "supported_visualization_formattings": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, - "x-looker-values": ["apply", "noapply"], + "x-looker-values": [ + "apply", + "noapply" + ], "description": "A list of visualization formatting options the integration supports. If unspecified, defaults to all formats. Valid values are: \"apply\", \"noapply\".", "x-looker-nullable": false }, "supported_download_settings": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, - "x-looker-values": ["push", "url"], + "x-looker-values": [ + "push", + "url" + ], "description": "A list of all the download mechanisms the integration supports. The order of values is not significant: Looker will select the most appropriate supported download mechanism for a given query. The integration must ensure it can handle any of the mechanisms it claims to support. If unspecified, this defaults to all download setting values. Valid values are: \"push\", \"url\".", "x-looker-nullable": false }, @@ -21230,7 +25315,9 @@ }, "required_fields": { "type": "array", - "items": { "$ref": "#/definitions/IntegrationRequiredField" }, + "items": { + "$ref": "#/definitions/IntegrationRequiredField" + }, "readOnly": true, "description": "A list of descriptions of required fields that this integration is compatible with. If there are multiple entries in this list, the integration requires more than one field. If unspecified, no fields will be required.", "x-looker-nullable": false @@ -21243,7 +25330,10 @@ }, "installed_delegate_oauth_targets": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "Whether the integration is available to users.", "x-looker-nullable": false } @@ -21322,14 +25412,18 @@ }, "any_tag": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "If present, supercedes 'tag' and matches a field that has any of the provided tags.", "x-looker-nullable": true }, "all_tags": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "If present, supercedes 'tag' and matches a field that has all of the provided tags.", "x-looker-nullable": true @@ -21353,7 +25447,9 @@ }, "delegate_oauth_result": { "type": "array", - "items": { "$ref": "#/definitions/DelegateOauthTest" }, + "items": { + "$ref": "#/definitions/DelegateOauthTest" + }, "readOnly": true, "description": "An array of connection test result for delegate oauth actions.", "x-looker-nullable": true @@ -21365,7 +25461,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -21387,7 +25485,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -21404,7 +25504,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -21452,28 +25554,38 @@ }, "default_new_user_group_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "x-looker-write-only": true, "description": "(Write-Only) Array of ids of groups that will be applied to new users the first time they login via LDAP", "x-looker-nullable": true }, "default_new_user_groups": { "type": "array", - "items": { "$ref": "#/definitions/Group" }, + "items": { + "$ref": "#/definitions/Group" + }, "readOnly": true, "description": "(Read-only) Groups that will be applied to new users the first time they login via LDAP", "x-looker-nullable": true }, "default_new_user_role_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "x-looker-write-only": true, "description": "(Write-Only) Array of ids of roles that will be applied to new users the first time they login via LDAP", "x-looker-nullable": true }, "default_new_user_roles": { "type": "array", - "items": { "$ref": "#/definitions/Role" }, + "items": { + "$ref": "#/definitions/Role" + }, "readOnly": true, "description": "(Read-only) Roles that will be applied to new users the first time they login via LDAP", "x-looker-nullable": true @@ -21490,7 +25602,9 @@ }, "groups": { "type": "array", - "items": { "$ref": "#/definitions/LDAPGroupRead" }, + "items": { + "$ref": "#/definitions/LDAPGroupRead" + }, "readOnly": true, "description": "(Read-only) Array of mappings between LDAP Groups and Looker Roles", "x-looker-nullable": true @@ -21522,7 +25636,9 @@ }, "groups_with_role_ids": { "type": "array", - "items": { "$ref": "#/definitions/LDAPGroupWrite" }, + "items": { + "$ref": "#/definitions/LDAPGroupWrite" + }, "description": "(Read/Write) Array of mappings between LDAP Groups and arrays of Looker Role ids", "x-looker-nullable": true }, @@ -21588,14 +25704,18 @@ }, "user_attributes": { "type": "array", - "items": { "$ref": "#/definitions/LDAPUserAttributeRead" }, + "items": { + "$ref": "#/definitions/LDAPUserAttributeRead" + }, "readOnly": true, "description": "(Read-only) Array of mappings between LDAP User Attributes and Looker User Attributes", "x-looker-nullable": true }, "user_attributes_with_ids": { "type": "array", - "items": { "$ref": "#/definitions/LDAPUserAttributeWrite" }, + "items": { + "$ref": "#/definitions/LDAPUserAttributeWrite" + }, "description": "(Read/Write) Array of mappings between LDAP User Attributes and arrays of Looker User Attribute ids", "x-looker-nullable": true }, @@ -21654,7 +25774,9 @@ }, "issues": { "type": "array", - "items": { "$ref": "#/definitions/LDAPConfigTestIssue" }, + "items": { + "$ref": "#/definitions/LDAPConfigTestIssue" + }, "readOnly": true, "description": "Array of issues/considerations about the result", "x-looker-nullable": true @@ -21709,7 +25831,9 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -21747,7 +25871,9 @@ }, "roles": { "type": "array", - "items": { "$ref": "#/definitions/Role" }, + "items": { + "$ref": "#/definitions/Role" + }, "readOnly": true, "description": "Looker Roles", "x-looker-nullable": true @@ -21789,7 +25915,10 @@ }, "role_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "Looker Role Ids", "x-looker-nullable": true }, @@ -21819,7 +25948,9 @@ }, "user_attributes": { "type": "array", - "items": { "$ref": "#/definitions/UserAttribute" }, + "items": { + "$ref": "#/definitions/UserAttribute" + }, "readOnly": true, "description": "Looker User Attributes", "x-looker-nullable": true @@ -21848,7 +25979,10 @@ }, "user_attribute_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "Looker User Attribute Ids", "x-looker-nullable": true }, @@ -21866,14 +26000,18 @@ "properties": { "all_emails": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Array of user's email addresses and aliases for use in migration", "x-looker-nullable": true }, "attributes": { "type": "object", - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "readOnly": true, "description": "Dictionary of user's attributes (name/value)", "x-looker-nullable": true @@ -21892,7 +26030,9 @@ }, "groups": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Array of user's groups (group names only)", "x-looker-nullable": true @@ -21917,14 +26057,18 @@ }, "roles": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Array of user's roles (role names only)", "x-looker-nullable": true }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -21943,7 +26087,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -22063,7 +26209,9 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -22075,7 +26223,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -22107,7 +26257,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -22317,7 +26469,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -22539,7 +26693,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -22744,7 +26900,9 @@ }, "dashboards": { "type": "array", - "items": { "$ref": "#/definitions/DashboardBase" }, + "items": { + "$ref": "#/definitions/DashboardBase" + }, "readOnly": true, "description": "Dashboards", "x-looker-nullable": true @@ -22803,7 +26961,9 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -22839,7 +26999,9 @@ }, "scopes": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Scopes", "x-looker-nullable": true @@ -22900,7 +27062,9 @@ }, "files": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "List of model source files", "x-looker-nullable": true @@ -22943,7 +27107,9 @@ }, "access_filter_fields": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "x-looker-deprecated": true, "description": "(DEPRECATED) Array of access filter field names", @@ -22951,21 +27117,27 @@ }, "access_filters": { "type": "array", - "items": { "$ref": "#/definitions/LookmlModelExploreAccessFilter" }, + "items": { + "$ref": "#/definitions/LookmlModelExploreAccessFilter" + }, "readOnly": true, "description": "Access filters", "x-looker-nullable": true }, "aliases": { "type": "array", - "items": { "$ref": "#/definitions/LookmlModelExploreAlias" }, + "items": { + "$ref": "#/definitions/LookmlModelExploreAlias" + }, "readOnly": true, "description": "Aliases", "x-looker-nullable": true }, "always_filter": { "type": "array", - "items": { "$ref": "#/definitions/LookmlModelExploreAlwaysFilter" }, + "items": { + "$ref": "#/definitions/LookmlModelExploreAlwaysFilter" + }, "readOnly": true, "description": "Always filter", "x-looker-nullable": true @@ -22981,28 +27153,36 @@ }, "index_fields": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Array of index fields", "x-looker-nullable": true }, "sets": { "type": "array", - "items": { "$ref": "#/definitions/LookmlModelExploreSet" }, + "items": { + "$ref": "#/definitions/LookmlModelExploreSet" + }, "readOnly": true, "description": "Sets", "x-looker-nullable": true }, "tags": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "An array of arbitrary string tags provided in the model for this explore.", "x-looker-nullable": true }, "errors": { "type": "array", - "items": { "$ref": "#/definitions/LookmlModelExploreError" }, + "items": { + "$ref": "#/definitions/LookmlModelExploreError" + }, "readOnly": true, "description": "Errors", "x-looker-nullable": true @@ -23015,7 +27195,9 @@ }, "joins": { "type": "array", - "items": { "$ref": "#/definitions/LookmlModelExploreJoins" }, + "items": { + "$ref": "#/definitions/LookmlModelExploreJoins" + }, "readOnly": true, "description": "Views joined into this explore", "x-looker-nullable": true @@ -23047,7 +27229,9 @@ }, "measure_types": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "x-looker-nullable": true } @@ -23132,7 +27316,9 @@ }, "value": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Value set", "x-looker-nullable": true @@ -23174,28 +27360,36 @@ "properties": { "dimensions": { "type": "array", - "items": { "$ref": "#/definitions/LookmlModelExploreField" }, + "items": { + "$ref": "#/definitions/LookmlModelExploreField" + }, "readOnly": true, "description": "Array of dimensions", "x-looker-nullable": true }, "measures": { "type": "array", - "items": { "$ref": "#/definitions/LookmlModelExploreField" }, + "items": { + "$ref": "#/definitions/LookmlModelExploreField" + }, "readOnly": true, "description": "Array of measures", "x-looker-nullable": true }, "filters": { "type": "array", - "items": { "$ref": "#/definitions/LookmlModelExploreField" }, + "items": { + "$ref": "#/definitions/LookmlModelExploreField" + }, "readOnly": true, "description": "Array of filters", "x-looker-nullable": true }, "parameters": { "type": "array", - "items": { "$ref": "#/definitions/LookmlModelExploreField" }, + "items": { + "$ref": "#/definitions/LookmlModelExploreField" + }, "readOnly": true, "description": "Array of parameters", "x-looker-nullable": true @@ -23208,7 +27402,10 @@ "align": { "type": "string", "readOnly": true, - "x-looker-values": ["left", "right"], + "x-looker-values": [ + "left", + "right" + ], "description": "The appropriate horizontal text alignment the values of this field should be displayed in. Valid values are: \"left\", \"right\".", "x-looker-nullable": false }, @@ -23221,7 +27418,12 @@ "category": { "type": "string", "readOnly": true, - "x-looker-values": ["parameter", "filter", "measure", "dimension"], + "x-looker-values": [ + "parameter", + "filter", + "measure", + "dimension" + ], "description": "Field category Valid values are: \"parameter\", \"filter\", \"measure\", \"dimension\".", "x-looker-nullable": true }, @@ -23273,7 +27475,10 @@ "fill_style": { "type": "string", "readOnly": true, - "x-looker-values": ["enumeration", "range"], + "x-looker-values": [ + "enumeration", + "range" + ], "description": "The style of dimension fill that is possible for this field. Null if no dimension fill is possible. Valid values are: \"enumeration\", \"range\".", "x-looker-nullable": true }, @@ -23442,7 +27647,9 @@ }, "sql_case": { "type": "array", - "items": { "$ref": "#/definitions/LookmlModelExploreFieldSqlCase" }, + "items": { + "$ref": "#/definitions/LookmlModelExploreFieldSqlCase" + }, "readOnly": true, "description": "An array of conditions and values that make up a SQL Case expression, as defined in the LookML model. The SQL syntax shown here is a representation intended for auditability, and is not neccessarily an exact match for what will ultimately be run in the database. It may contain special LookML syntax or annotations that are not valid SQL. This will be null if the current user does not have the see_lookml permission for the field's model.", "x-looker-nullable": true @@ -23476,14 +27683,18 @@ }, "suggestions": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "If available, a list of suggestions for this field. For most fields, a suggest query is a more appropriate way to get an up-to-date list of suggestions. Or use enumerations to list all the possible values.", "x-looker-nullable": true }, "tags": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "An array of arbitrary string tags provided in the model for this field.", "x-looker-nullable": false @@ -23496,7 +27707,9 @@ }, "user_attribute_filter_types": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "x-looker-values": [ "advanced_filter_string", @@ -23566,8 +27779,13 @@ "type": "string", "format": "any", "x-looker-polymorphic-types": [ - { "type": "string" }, - { "type": "number", "format": "float" } + { + "type": "string" + }, + { + "type": "number", + "format": "float" + } ], "readOnly": true, "description": "Value", @@ -23681,7 +27899,10 @@ "format": { "type": "string", "readOnly": true, - "x-looker-values": ["topojson", "vector_tile_region"], + "x-looker-values": [ + "topojson", + "vector_tile_region" + ], "description": "Specifies the data format of the region information. Valid values are: \"topojson\", \"vector_tile_region\".", "x-looker-nullable": false }, @@ -23718,14 +27939,18 @@ }, "dependent_fields": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Fields referenced by the join", "x-looker-nullable": true }, "fields": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Fields of the joined view to pull into this explore", "x-looker-nullable": false @@ -23756,7 +27981,9 @@ }, "required_joins": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Names of joins that must always be included in SQL queries", "x-looker-nullable": false @@ -23798,20 +28025,26 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false }, "allowed_db_connection_names": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Array of names of connections this model is allowed to use", "x-looker-nullable": true }, "explores": { "type": "array", - "items": { "$ref": "#/definitions/LookmlModelNavExplore" }, + "items": { + "$ref": "#/definitions/LookmlModelNavExplore" + }, "readOnly": true, "description": "Array of explores (if has_content)", "x-looker-nullable": true @@ -23850,7 +28083,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -23899,7 +28134,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -23932,14 +28169,18 @@ }, "errors": { "type": "array", - "items": { "$ref": "#/definitions/ProjectError" }, + "items": { + "$ref": "#/definitions/ProjectError" + }, "readOnly": true, "description": "A list of any errors encountered by the test.", "x-looker-nullable": true }, "warnings": { "type": "array", - "items": { "$ref": "#/definitions/ProjectError" }, + "items": { + "$ref": "#/definitions/ProjectError" + }, "readOnly": true, "description": "A list of any warnings encountered by the test.", "x-looker-nullable": true @@ -23957,7 +28198,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -23970,7 +28213,9 @@ }, "imports": { "type": "array", - "items": { "$ref": "#/definitions/ImportedProject" }, + "items": { + "$ref": "#/definitions/ImportedProject" + }, "readOnly": true, "description": "Imports for a project", "x-looker-nullable": true @@ -23988,7 +28233,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -24011,7 +28258,9 @@ }, "pivots": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Pivots", "x-looker-nullable": true }, @@ -24024,13 +28273,17 @@ }, "sorts": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Sorts", "x-looker-nullable": true }, "source_queries": { "type": "array", - "items": { "$ref": "#/definitions/MergeQuerySourceQuery" }, + "items": { + "$ref": "#/definitions/MergeQuerySourceQuery" + }, "description": "Source Queries defining the results to be merged.", "x-looker-nullable": true }, @@ -24041,7 +28294,9 @@ }, "vis_config": { "type": "object", - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "description": "Visualization Config", "x-looker-nullable": true } @@ -24052,7 +28307,9 @@ "properties": { "merge_fields": { "type": "array", - "items": { "$ref": "#/definitions/MergeFields" }, + "items": { + "$ref": "#/definitions/MergeFields" + }, "description": "An array defining which fields of the source query are mapped onto fields of the merge query", "x-looker-nullable": true }, @@ -24089,7 +28346,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -24113,7 +28372,9 @@ }, "models": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "x-looker-nullable": true }, "name": { @@ -24135,7 +28396,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -24163,28 +28426,38 @@ }, "default_new_user_group_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "x-looker-write-only": true, "description": "(Write-Only) Array of ids of groups that will be applied to new users the first time they login via OIDC", "x-looker-nullable": true }, "default_new_user_groups": { "type": "array", - "items": { "$ref": "#/definitions/Group" }, + "items": { + "$ref": "#/definitions/Group" + }, "readOnly": true, "description": "(Read-only) Groups that will be applied to new users the first time they login via OIDC", "x-looker-nullable": true }, "default_new_user_role_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "x-looker-write-only": true, "description": "(Write-Only) Array of ids of roles that will be applied to new users the first time they login via OIDC", "x-looker-nullable": true }, "default_new_user_roles": { "type": "array", - "items": { "$ref": "#/definitions/Role" }, + "items": { + "$ref": "#/definitions/Role" + }, "readOnly": true, "description": "(Read-only) Roles that will be applied to new users the first time they login via OIDC", "x-looker-nullable": true @@ -24196,7 +28469,9 @@ }, "groups": { "type": "array", - "items": { "$ref": "#/definitions/OIDCGroupRead" }, + "items": { + "$ref": "#/definitions/OIDCGroupRead" + }, "readOnly": true, "description": "(Read-only) Array of mappings between OIDC Groups and Looker Roles", "x-looker-nullable": true @@ -24208,7 +28483,9 @@ }, "groups_with_role_ids": { "type": "array", - "items": { "$ref": "#/definitions/OIDCGroupWrite" }, + "items": { + "$ref": "#/definitions/OIDCGroupWrite" + }, "description": "(Read/Write) Array of mappings between OIDC Groups and arrays of Looker Role ids", "x-looker-nullable": true }, @@ -24243,7 +28520,9 @@ }, "scopes": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Array of scopes to request.", "x-looker-nullable": true }, @@ -24286,14 +28565,18 @@ }, "user_attributes": { "type": "array", - "items": { "$ref": "#/definitions/OIDCUserAttributeRead" }, + "items": { + "$ref": "#/definitions/OIDCUserAttributeRead" + }, "readOnly": true, "description": "(Read-only) Array of mappings between OIDC User Attributes and Looker User Attributes", "x-looker-nullable": true }, "user_attributes_with_ids": { "type": "array", - "items": { "$ref": "#/definitions/OIDCUserAttributeWrite" }, + "items": { + "$ref": "#/definitions/OIDCUserAttributeWrite" + }, "description": "(Read/Write) Array of mappings between OIDC User Attributes and arrays of Looker User Attribute ids", "x-looker-nullable": true }, @@ -24358,7 +28641,9 @@ }, "roles": { "type": "array", - "items": { "$ref": "#/definitions/Role" }, + "items": { + "$ref": "#/definitions/Role" + }, "readOnly": true, "description": "Looker Roles", "x-looker-nullable": true @@ -24393,13 +28678,18 @@ }, "role_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "Looker Role Ids", "x-looker-nullable": true }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -24423,7 +28713,9 @@ }, "user_attributes": { "type": "array", - "items": { "$ref": "#/definitions/UserAttribute" }, + "items": { + "$ref": "#/definitions/UserAttribute" + }, "readOnly": true, "description": "Looker User Attributes", "x-looker-nullable": true @@ -24445,13 +28737,18 @@ }, "user_attribute_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "Looker User Attribute Ids", "x-looker-nullable": true }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -24463,7 +28760,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -24496,7 +28795,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -24526,7 +28827,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -24555,7 +28858,9 @@ }, "permissions": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "x-looker-nullable": true }, "url": { @@ -24572,7 +28877,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -24632,7 +28939,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -24675,10 +28984,10 @@ "description": "Git production branch name. Defaults to master. Supported only in Looker 21.0 and higher.", "x-looker-nullable": false }, - "git_auth_cookie": { - "type": "string", - "description": "Git http cookie file path.", - "x-looker-nullable": true + "use_git_cookie_auth": { + "type": "boolean", + "description": "If true, the project uses a git cookie for authentication.", + "x-looker-nullable": false }, "git_username_user_attribute": { "type": "string", @@ -24703,7 +29012,10 @@ }, "git_application_server_http_scheme": { "type": "string", - "x-looker-values": ["http", "https"], + "x-looker-values": [ + "http", + "https" + ], "description": "Scheme that is running on application server (for PRs, file browsing, etc.) Valid values are: \"http\", \"https\".", "x-looker-nullable": true }, @@ -24721,7 +29033,12 @@ }, "pull_request_mode": { "type": "string", - "x-looker-values": ["off", "links", "recommended", "required"], + "x-looker-values": [ + "off", + "links", + "recommended", + "required" + ], "description": "The git pull request policy for this project. Valid values are: \"off\", \"links\", \"recommended\", \"required\".", "x-looker-nullable": false }, @@ -24814,7 +29131,9 @@ }, "params": { "type": "object", - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "readOnly": true, "description": "Error parameters", "x-looker-nullable": true @@ -24849,7 +29168,9 @@ "properties": { "errors": { "type": "array", - "items": { "$ref": "#/definitions/ProjectError" }, + "items": { + "$ref": "#/definitions/ProjectError" + }, "readOnly": true, "description": "A list of project errors", "x-looker-nullable": true @@ -24862,7 +29183,9 @@ }, "models_not_validated": { "type": "array", - "items": { "$ref": "#/definitions/ModelsNotValidated" }, + "items": { + "$ref": "#/definitions/ModelsNotValidated" + }, "readOnly": true, "description": "A list of models which were not fully validated", "x-looker-nullable": true @@ -24881,7 +29204,9 @@ "properties": { "errors": { "type": "array", - "items": { "$ref": "#/definitions/ProjectError" }, + "items": { + "$ref": "#/definitions/ProjectError" + }, "readOnly": true, "description": "A list of project errors", "x-looker-nullable": true @@ -24894,7 +29219,9 @@ }, "models_not_validated": { "type": "array", - "items": { "$ref": "#/definitions/ModelsNotValidated" }, + "items": { + "$ref": "#/definitions/ModelsNotValidated" + }, "readOnly": true, "description": "A list of models which were not fully validated", "x-looker-nullable": true @@ -24919,7 +29246,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -24979,7 +29308,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -25003,25 +29334,33 @@ }, "fields": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Fields", "x-looker-nullable": true }, "pivots": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Pivots", "x-looker-nullable": true }, "fill_fields": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Fill Fields", "x-looker-nullable": true }, "filters": { "type": "object", - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "description": "Filters", "x-looker-nullable": true }, @@ -25032,7 +29371,9 @@ }, "sorts": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Sorting for the query results. Use the format `[\"view.field\", ...]` to sort on fields in ascending order. Use the format `[\"view.field desc\", ...]` to sort on fields in descending order. Use `[\"__UNSORTED__\"]` (2 underscores before and after) to disable sorting entirely. Empty sorts `[]` will trigger a default sort.", "x-looker-nullable": true }, @@ -25058,19 +29399,27 @@ }, "subtotals": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Fields on which to run subtotals", "x-looker-nullable": true }, "vis_config": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "description": "Visualization configuration properties. These properties are typically opaque and differ based on the type of visualization used. There is no specified set of allowed keys. The values can be any type supported by JSON. A \"type\" key with a string value is often present, and is used by Looker to determine which visualization to present. Visualizations ignore unknown vis_config properties.", "x-looker-nullable": true }, "filter_config": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "description": "The filter_config represents the state of the filter UI on the explore page for a given query. When running a query via the Looker UI, this parameter takes precedence over \"filters\". When creating a query or modifying an existing query, \"filter_config\" should be set to null. Setting it to any other value could cause unexpected filtering behavior. The format should be considered opaque.", "x-looker-nullable": true }, @@ -25133,13 +29482,18 @@ } }, "x-looker-status": "stable", - "required": ["model", "view"] + "required": [ + "model", + "view" + ] }, "CreateQueryTask": { "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -25190,13 +29544,18 @@ } }, "x-looker-status": "stable", - "required": ["query_id", "result_format"] + "required": [ + "query_id", + "result_format" + ] }, "QueryTask": { "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -25307,7 +29666,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -25451,7 +29812,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -25536,7 +29899,9 @@ }, "listen": { "type": "array", - "items": { "$ref": "#/definitions/ResultMakerFilterablesListen" }, + "items": { + "$ref": "#/definitions/ResultMakerFilterablesListen" + }, "readOnly": true, "description": "array of dashboard_filter_name: and field: objects.", "x-looker-nullable": true @@ -25561,14 +29926,18 @@ }, "filterables": { "type": "array", - "items": { "$ref": "#/definitions/ResultMakerFilterables" }, + "items": { + "$ref": "#/definitions/ResultMakerFilterables" + }, "readOnly": true, "description": "array of items that can be filtered and information about them.", "x-looker-nullable": true }, "sorts": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Sorts of the constituent Look, Query, or Merge Query", "x-looker-nullable": true @@ -25606,7 +29975,9 @@ }, "vis_config": { "type": "object", - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "readOnly": true, "description": "Vis config of the constituent Query, or Merge Query.", "x-looker-nullable": true @@ -25618,7 +29989,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -25682,7 +30055,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -25816,7 +30191,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -25897,28 +30274,38 @@ }, "default_new_user_roles": { "type": "array", - "items": { "$ref": "#/definitions/Role" }, + "items": { + "$ref": "#/definitions/Role" + }, "readOnly": true, "description": "(Read-only) Roles that will be applied to new users the first time they login via Saml", "x-looker-nullable": true }, "default_new_user_groups": { "type": "array", - "items": { "$ref": "#/definitions/Group" }, + "items": { + "$ref": "#/definitions/Group" + }, "readOnly": true, "description": "(Read-only) Groups that will be applied to new users the first time they login via Saml", "x-looker-nullable": true }, "default_new_user_role_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "x-looker-write-only": true, "description": "(Write-Only) Array of ids of roles that will be applied to new users the first time they login via Saml", "x-looker-nullable": true }, "default_new_user_group_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "x-looker-write-only": true, "description": "(Write-Only) Array of ids of groups that will be applied to new users the first time they login via Saml", "x-looker-nullable": true @@ -25935,14 +30322,18 @@ }, "groups": { "type": "array", - "items": { "$ref": "#/definitions/SamlGroupRead" }, + "items": { + "$ref": "#/definitions/SamlGroupRead" + }, "readOnly": true, "description": "(Read-only) Array of mappings between Saml Groups and Looker Roles", "x-looker-nullable": true }, "groups_with_role_ids": { "type": "array", - "items": { "$ref": "#/definitions/SamlGroupWrite" }, + "items": { + "$ref": "#/definitions/SamlGroupWrite" + }, "description": "(Read/Write) Array of mappings between Saml Groups and arrays of Looker Role ids", "x-looker-nullable": true }, @@ -25953,14 +30344,18 @@ }, "user_attributes": { "type": "array", - "items": { "$ref": "#/definitions/SamlUserAttributeRead" }, + "items": { + "$ref": "#/definitions/SamlUserAttributeRead" + }, "readOnly": true, "description": "(Read-only) Array of mappings between Saml User Attributes and Looker User Attributes", "x-looker-nullable": true }, "user_attributes_with_ids": { "type": "array", - "items": { "$ref": "#/definitions/SamlUserAttributeWrite" }, + "items": { + "$ref": "#/definitions/SamlUserAttributeWrite" + }, "description": "(Read/Write) Array of mappings between Saml User Attributes and arrays of Looker User Attribute ids", "x-looker-nullable": true }, @@ -26034,7 +30429,9 @@ }, "roles": { "type": "array", - "items": { "$ref": "#/definitions/Role" }, + "items": { + "$ref": "#/definitions/Role" + }, "readOnly": true, "description": "Looker Roles", "x-looker-nullable": true @@ -26076,7 +30473,10 @@ }, "role_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "Looker Role Ids", "x-looker-nullable": true }, @@ -26094,7 +30494,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -26136,7 +30538,9 @@ }, "user_attributes": { "type": "array", - "items": { "$ref": "#/definitions/UserAttribute" }, + "items": { + "$ref": "#/definitions/UserAttribute" + }, "readOnly": true, "description": "Looker User Attributes", "x-looker-nullable": true @@ -26165,7 +30569,10 @@ }, "user_attribute_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "Looker User Attribute Ids", "x-looker-nullable": true }, @@ -26337,7 +30744,9 @@ }, "scheduled_plan_destination": { "type": "array", - "items": { "$ref": "#/definitions/ScheduledPlanDestination" }, + "items": { + "$ref": "#/definitions/ScheduledPlanDestination" + }, "description": "Scheduled plan destinations", "x-looker-nullable": true }, @@ -26478,7 +30887,9 @@ }, "scheduled_plan_destination": { "type": "array", - "items": { "$ref": "#/definitions/ScheduledPlanDestination" }, + "items": { + "$ref": "#/definitions/ScheduledPlanDestination" + }, "description": "Scheduled plan destinations", "x-looker-nullable": true }, @@ -26572,7 +30983,9 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -26584,7 +30997,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -26622,7 +31037,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -26740,7 +31157,9 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -26773,7 +31192,10 @@ }, "vis_config": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "description": "Visualization configuration properties. These properties are typically opaque and differ based on the type of visualization used. There is no specified set of allowed keys. The values can be any type supported by JSON. A \"type\" key with a string value is often present, and is used by Looker to determine which visualization to present. Visualizations ignore unknown vis_config properties.", "x-looker-nullable": true } @@ -26784,7 +31206,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -26860,7 +31284,10 @@ }, "vis_config": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "description": "Visualization configuration properties. These properties are typically opaque and differ based on the type of visualization used. There is no specified set of allowed keys. The values can be any type supported by JSON. A \"type\" key with a string value is often present, and is used by Looker to determine which visualization to present. Visualizations ignore unknown vis_config properties.", "x-looker-nullable": true }, @@ -26967,7 +31394,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -27031,7 +31460,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -27102,7 +31533,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -27154,7 +31587,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -27240,7 +31675,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -27309,7 +31746,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -27330,7 +31769,9 @@ }, "credentials_api3": { "type": "array", - "items": { "$ref": "#/definitions/CredentialsApi3" }, + "items": { + "$ref": "#/definitions/CredentialsApi3" + }, "readOnly": true, "description": "API 3 credentials", "x-looker-nullable": true @@ -27343,7 +31784,9 @@ }, "credentials_embed": { "type": "array", - "items": { "$ref": "#/definitions/CredentialsEmbed" }, + "items": { + "$ref": "#/definitions/CredentialsEmbed" + }, "readOnly": true, "description": "Embed credentials", "x-looker-nullable": true @@ -27410,7 +31853,10 @@ }, "group_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "readOnly": true, "description": "Array of ids of the groups for this user", "x-looker-nullable": true @@ -27449,7 +31895,9 @@ }, "looker_versions": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Array of strings representing the Looker versions that this user has used (this only goes back as far as '3.54.0')", "x-looker-nullable": true @@ -27481,21 +31929,28 @@ }, "role_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "readOnly": true, "description": "Array of ids of the roles for this user", "x-looker-nullable": true }, "sessions": { "type": "array", - "items": { "$ref": "#/definitions/Session" }, + "items": { + "$ref": "#/definitions/Session" + }, "readOnly": true, "description": "Active sessions", "x-looker-nullable": true }, "ui_state": { "type": "object", - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "description": "Per user dictionary of undocumented state information owned by the Looker UI.", "x-looker-nullable": true }, @@ -27543,7 +31998,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -27636,7 +32093,9 @@ }, "supported_versions": { "type": "array", - "items": { "$ref": "#/definitions/ApiVersionElement" }, + "items": { + "$ref": "#/definitions/ApiVersionElement" + }, "readOnly": true, "description": "Array of versions supported by this Looker instance", "x-looker-nullable": true @@ -27674,7 +32133,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -27770,7 +32231,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -27783,7 +32246,9 @@ }, "projects": { "type": "array", - "items": { "$ref": "#/definitions/Project" }, + "items": { + "$ref": "#/definitions/Project" + }, "readOnly": true, "description": "The local state of each project in the workspace", "x-looker-nullable": true @@ -27792,4 +32257,4 @@ "x-looker-status": "stable" } } -} +} \ No newline at end of file diff --git a/spec/Looker.3.1.oas.json b/spec/Looker.3.1.oas.json index 60df49c33..0e78de041 100644 --- a/spec/Looker.3.1.oas.json +++ b/spec/Looker.3.1.oas.json @@ -2,47 +2,130 @@ "openapi": "3.0.0", "info": { "version": "3.1.0", - "x-looker-release-version": "21.3.0", + "x-looker-release-version": "21.4.0", "title": "Looker API 3.1 Reference", "description": "### Authorization\n\nThe Looker API uses Looker **API3** credentials for authorization and access control. Looker admins can\ncreate API3 credentials on Looker's **Admin/Users** page. Pass API3 credentials to the **/login** endpoint to\nobtain a temporary access_token. Include that access_token in the Authorization header of Looker API requests.\nFor details, see [Looker API Authorization](https://looker.com/docs/r/api/authorization)\n\n### Client SDKs\n\nThe Looker API is a RESTful system that should be usable by any programming language capable of making\nHTTPS requests. Client SDKs for a variety of programming languages can be generated from the Looker API's Swagger\nJSON metadata to streamline use of the Looker API in your applications. A client SDK for Ruby is available\nas an example. For more information, see [Looker API Client SDKs](https://looker.com/docs/r/api/client_sdks)\n\n### Try It Out!\n\nThe 'api-docs' page served by the Looker instance includes 'Try It Out!' buttons for each API method. After logging\nin with API3 credentials, you can use the \"Try It Out!\" buttons to call the API directly from the documentation\npage to interactively explore API features and responses.\n\nNote! With great power comes great responsibility: The \"Try It Out!\" button makes API calls to your live Looker\ninstance. Be especially careful with destructive API operations such as `delete_user` or similar.\nThere is no \"undo\" for API operations.\n\n### Versioning\n\nFuture releases of Looker will expand this API release-by-release to securely expose more and more of the core\npower of Looker to API client applications. API endpoints marked as \"beta\" may receive breaking changes without\nwarning (but we will try to avoid doing that). Stable (non-beta) API endpoints should not receive breaking\nchanges in future releases.\nFor more information, see [Looker API Versioning](https://looker.com/docs/r/api/versioning)\n\n### In This Release\n\nThe following are a few examples of noteworthy items that have changed between API 3.0 and API 3.1.\nFor more comprehensive coverage of API changes, please see the release notes for your Looker release.\n\n### Examples of new things added in API 3.1 (compared to API 3.0):\n\n* [Dashboard construction](#!/3.1/Dashboard/) APIs\n* [Themes](#!/3.1/Theme/) and [custom color collections](#!/3.1/ColorCollection) APIs\n* Create and run [SQL Runner](#!/3.1/Query/run_sql_query) queries\n* Create and run [merged results](#!/3.1/Query/create_merge_query) queries\n* Create and modify [dashboard filters](#!/3.1/Dashboard/create_dashboard_filter)\n* Create and modify [password requirements](#!/3.1/Auth/password_config)\n\n### Deprecated in API 3.0\n\nThe following functions and properties have been deprecated in API 3.0. They continue to exist and work in API 3.0\nfor the next several Looker releases but they have not been carried forward to API 3.1:\n\n* Dashboard Prefetch functions\n* User access_filter functions\n* User API 1.0 credentials functions\n* Space.is_root and Space.is_user_root properties. Use Space.is_shared_root and Space.is_users_root instead.\n\n### Semantic changes in API 3.1:\n\n* [all_looks()](#!/3.1/Look/all_looks) no longer includes soft-deleted looks, matching [all_dashboards()](#!/3.1/Dashboard/all_dashboards) behavior.\nYou can find soft-deleted looks using [search_looks()](#!/3.1/Look/search_looks) with the `deleted` param set to True.\n* [all_spaces()](#!/3.1/Space/all_spaces) no longer includes duplicate items\n* [search_users()](#!/3.1/User/search_users) no longer accepts Y,y,1,0,N,n for Boolean params, only \"true\" and \"false\".\n* For greater client and network compatibility, [render_task_results](#!/3.1/RenderTask/render_task_results) now returns\nHTTP status **202 Accepted** instead of HTTP status **102 Processing**\n* [all_running_queries()](#!/3.1/Query/all_running_queries) and [kill_query](#!/3.1/Query/kill_query) functions have moved into the [Query](#!/3.1/Query/) function group.\n\n\nIf you have application code which relies on the old behavior of the APIs above, you may\ncontinue using the API 3.0 functions in this Looker release. We strongly suggest you\nupdate your code to use API 3.1 analogs as soon as possible.\n\n", - "contact": { "name": "Looker Team", "url": "https://help.looker.com" }, - "license": { "name": "EULA", "url": "http://localhost:9999/eula" } + "contact": { + "name": "Looker Team", + "url": "https://help.looker.com" + }, + "license": { + "name": "EULA", + "url": "https://localhost:10000/eula" + } }, "tags": [ - { "name": "ApiAuth", "description": "API Authentication" }, + { + "name": "ApiAuth", + "description": "API Authentication" + }, { "name": "Auth", "description": "Manage User Authentication Configuration" }, - { "name": "ColorCollection", "description": "Manage Color Collections" }, - { "name": "Config", "description": "Manage General Configuration" }, - { "name": "Connection", "description": "Manage Database Connections" }, - { "name": "Content", "description": "Manage Content" }, - { "name": "Dashboard", "description": "Manage Dashboards" }, - { "name": "DataAction", "description": "Run Data Actions" }, - { "name": "Datagroup", "description": "Manage Datagroups" }, - { "name": "Folder", "description": "Manage Folders" }, - { "name": "Group", "description": "Manage Groups" }, - { "name": "Homepage", "description": "Manage Homepage" }, - { "name": "Integration", "description": "Manage Integrations" }, - { "name": "Look", "description": "Run and Manage Looks" }, - { "name": "LookmlModel", "description": "Manage LookML Models" }, - { "name": "Project", "description": "Manage Projects" }, - { "name": "Query", "description": "Run and Manage Queries" }, - { "name": "RenderTask", "description": "Manage Render Tasks" }, - { "name": "Role", "description": "Manage Roles" }, - { "name": "ScheduledPlan", "description": "Manage Scheduled Plans" }, - { "name": "Session", "description": "Session Information" }, - { "name": "Space", "description": "Manage Spaces" }, - { "name": "Theme", "description": "Manage Themes" }, - { "name": "User", "description": "Manage Users" }, - { "name": "UserAttribute", "description": "Manage User Attributes" }, - { "name": "Workspace", "description": "Manage Workspaces" } + { + "name": "ColorCollection", + "description": "Manage Color Collections" + }, + { + "name": "Config", + "description": "Manage General Configuration" + }, + { + "name": "Connection", + "description": "Manage Database Connections" + }, + { + "name": "Content", + "description": "Manage Content" + }, + { + "name": "Dashboard", + "description": "Manage Dashboards" + }, + { + "name": "DataAction", + "description": "Run Data Actions" + }, + { + "name": "Datagroup", + "description": "Manage Datagroups" + }, + { + "name": "Folder", + "description": "Manage Folders" + }, + { + "name": "Group", + "description": "Manage Groups" + }, + { + "name": "Homepage", + "description": "Manage Homepage" + }, + { + "name": "Integration", + "description": "Manage Integrations" + }, + { + "name": "Look", + "description": "Run and Manage Looks" + }, + { + "name": "LookmlModel", + "description": "Manage LookML Models" + }, + { + "name": "Project", + "description": "Manage Projects" + }, + { + "name": "Query", + "description": "Run and Manage Queries" + }, + { + "name": "RenderTask", + "description": "Manage Render Tasks" + }, + { + "name": "Role", + "description": "Manage Roles" + }, + { + "name": "ScheduledPlan", + "description": "Manage Scheduled Plans" + }, + { + "name": "Session", + "description": "Session Information" + }, + { + "name": "Space", + "description": "Manage Spaces" + }, + { + "name": "Theme", + "description": "Manage Themes" + }, + { + "name": "User", + "description": "Manage Users" + }, + { + "name": "UserAttribute", + "description": "Manage User Attributes" + }, + { + "name": "Workspace", + "description": "Manage Workspaces" + } ], "paths": { "/query_tasks": { "post": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "create_query_task", "summary": "Run Query Async", "description": "### Create an async query task\n\nCreates a query task (job) to run a previously created query asynchronously. Returns a Query Task ID.\n\nUse [query_task(query_task_id)](#!/Query/query_task) to check the execution status of the query task.\nAfter the query task status reaches \"Complete\", use [query_task_results(query_task_id)](#!/Query/query_task_results) to fetch the results of the query.\n", @@ -52,108 +135,130 @@ "in": "query", "description": "Row limit (may override the limit in the saved query).", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "apply_formatting", "in": "query", "description": "Apply model-specified formatting to each result.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "apply_vis", "in": "query", "description": "Apply visualization options to results.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "cache", "in": "query", "description": "Get results from cache if available.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "image_width", "in": "query", "description": "Render width for image formats.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "image_height", "in": "query", "description": "Render height for image formats.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "generate_drill_links", "in": "query", "description": "Generate drill links (only applicable to 'json_detail' format.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "force_production", "in": "query", "description": "Force use of production models even if the user is in development mode.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "cache_only", "in": "query", "description": "Retrieve any results from cache even if the results have expired.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "path_prefix", "in": "query", "description": "Prefix to use for drill links (url encoded).", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "rebuild_pdts", "in": "query", "description": "Rebuild PDTS used in query.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "server_table_calcs", "in": "query", "description": "Perform table calculations on query results", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "fields", "in": "query", "description": "Requested fields", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CreateQueryTask" } - } - }, - "description": "Query parameters", - "required": true - }, "responses": { "200": { "description": "query_task", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/QueryTask" } + "schema": { + "$ref": "#/components/schemas/QueryTask" + } } } }, @@ -161,7 +266,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -169,7 +276,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -177,7 +286,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -185,7 +296,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -193,18 +306,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "db_query" + "x-looker-activity-type": "db_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateQueryTask" + } + } + }, + "description": "Query parameters", + "required": true + } } }, "/query_tasks/multi_results": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "query_task_multi_results", "summary": "Get Multiple Async Query Results", "description": "### Fetch results of multiple async queries\n\nReturns the results of multiple async queries in one request.\n\nFor Query Tasks that are not completed, the response will include the execution status of the Query Task but will not include query results.\nQuery Tasks whose results have expired will have a status of 'expired'.\nIf 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'\n", @@ -216,7 +344,12 @@ "required": true, "style": "simple", "explode": false, - "schema": { "type": "array", "items": { "type": "string" } } + "schema": { + "type": "array", + "items": { + "type": "string" + } + } } ], "responses": { @@ -226,7 +359,9 @@ "application/json": { "schema": { "type": "object", - "additionalProperties": { "type": "string" } + "additionalProperties": { + "type": "string" + } } } } @@ -235,7 +370,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -243,7 +380,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -254,7 +393,9 @@ }, "/query_tasks/{query_task_id}": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "query_task", "summary": "Get Async Query Info", "description": "### Get Query Task details\n\nUse this function to check the status of an async query task. After the status\nreaches \"Complete\", you can call [query_task_results(query_task_id)](#!/Query/query_task_results) to\nretrieve the results of the query.\n\nUse [create_query_task()](#!/Query/create_query_task) to create an async query task.\n", @@ -264,14 +405,18 @@ "in": "path", "description": "ID of the Query Task", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -279,7 +424,9 @@ "description": "query_task", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/QueryTask" } + "schema": { + "$ref": "#/components/schemas/QueryTask" + } } } }, @@ -287,7 +434,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -295,7 +444,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -306,7 +457,9 @@ }, "/query_tasks/{query_task_id}/results": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "query_task_results", "summary": "Get Async Query Results", "description": "### Get Async Query Results\n\nReturns the results of an async query task if the query has completed.\n\nIf the query task is still running or waiting to run, this function returns 204 No Content.\n\nIf the query task ID is invalid or the cached results of the query task have expired, this function returns 404 Not Found.\n\nUse [query_task(query_task_id)](#!/Query/query_task) to check the execution status of the query task\nCall query_task_results only after the query task status reaches \"Complete\".\n\nYou can also use [query_task_multi_results()](#!/Query/query_task_multi_results) retrieve the\nresults of multiple async query tasks at the same time.\n\n#### SQL Error Handling:\nIf the query fails due to a SQL db error, how this is communicated depends on the result_format you requested in `create_query_task()`.\n\nFor `json_detail` result_format: `query_task_results()` will respond with HTTP status '200 OK' and db SQL error info\nwill be in the `errors` property of the response object. The 'data' property will be empty.\n\nFor all other result formats: `query_task_results()` will respond with HTTP status `400 Bad Request` and some db SQL error info\nwill be in the message of the 400 error response, but not as detailed as expressed in `json_detail.errors`.\nThese data formats can only carry row data, and error info is not row data.\n", @@ -316,39 +469,69 @@ "in": "path", "description": "ID of the Query Task", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "200": { "description": "The query results.", "content": { - "text": { "schema": { "type": "string" } }, - "application/json": { "schema": { "type": "string" } } + "text": { + "schema": { + "type": "string" + } + }, + "application/json": { + "schema": { + "type": "string" + } + } } }, "204": { "description": "The query is not finished", "content": { - "text": { "schema": { "type": "string" } }, - "application/json": { "schema": { "type": "string" } } + "text": { + "schema": { + "type": "string" + } + }, + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, + "text": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, "404": { "description": "The Query Task Id was not found or the results have expired.", "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, + "text": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -359,7 +542,9 @@ }, "/queries/{query_id}": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "query", "summary": "Get Query", "description": "### Get a previously created query by id.\n\nA Looker query object includes the various parameters that define a database query that has been run or\ncould be run in the future. These parameters include: model, view, fields, filters, pivots, etc.\nQuery *results* are not part of the query object.\n\nQuery objects are unique and immutable. Query objects are created automatically in Looker as users explore data.\nLooker does not delete them; they become part of the query history. When asked to create a query for\nany given set of parameters, Looker will first try to find an existing query object with matching\nparameters and will only create a new object when an appropriate object can not be found.\n\nThis 'get' method is used to get the details about a query for a given id. See the other methods here\nto 'create' and 'run' queries.\n\nNote that some fields like 'filter_config' and 'vis_config' etc are specific to how the Looker UI\nbuilds queries and visualizations and are not generally useful for API use. They are not required when\ncreating new queries and can usually just be ignored.\n\n", @@ -369,14 +554,19 @@ "in": "path", "description": "Id of query", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -384,7 +574,9 @@ "description": "Query", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Query" } + "schema": { + "$ref": "#/components/schemas/Query" + } } } }, @@ -392,7 +584,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -400,7 +594,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -411,7 +607,9 @@ }, "/queries/slug/{slug}": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "query_for_slug", "summary": "Get Query for Slug", "description": "### Get the query for a given query slug.\n\nThis returns the query for the 'slug' in a query share URL.\n\nThe 'slug' is a randomly chosen short string that is used as an alternative to the query's id value\nfor use in URLs etc. This method exists as a convenience to help you use the API to 'find' queries that\nhave been created using the Looker UI.\n\nYou can use the Looker explore page to build a query and then choose the 'Share' option to\nshow the share url for the query. Share urls generally look something like 'https://looker.yourcompany/x/vwGSbfc'.\nThe trailing 'vwGSbfc' is the share slug. You can pass that string to this api method to get details about the query.\nThose details include the 'id' that you can use to run the query. Or, you can copy the query body\n(perhaps with your own modification) and use that as the basis to make/run new queries.\n\nThis will also work with slugs from Looker explore urls like\n'https://looker.yourcompany/explore/ecommerce/orders?qid=aogBgL6o3cKK1jN3RoZl5s'. In this case\n'aogBgL6o3cKK1jN3RoZl5s' is the slug.\n", @@ -421,14 +619,18 @@ "in": "path", "description": "Slug of query", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -436,7 +638,9 @@ "description": "Query", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Query" } + "schema": { + "$ref": "#/components/schemas/Query" + } } } }, @@ -444,7 +648,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -452,7 +658,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -463,7 +671,9 @@ }, "/queries": { "post": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "create_query", "summary": "Create Query", "description": "### Create a query.\n\nThis allows you to create a new query that you can later run. Looker queries are immutable once created\nand are not deleted. If you create a query that is exactly like an existing query then the existing query\nwill be returned and no new query will be created. Whether a new query is created or not, you can use\nthe 'id' in the returned query with the 'run' method.\n\nThe query parameters are passed as json in the body of the request.\n\n", @@ -473,24 +683,19 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Query" } - } - }, - "description": "Query", - "required": true - }, "responses": { "200": { "description": "Query", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Query" } + "schema": { + "$ref": "#/components/schemas/Query" + } } } }, @@ -498,7 +703,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -506,7 +713,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -514,7 +723,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -522,7 +733,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -530,18 +743,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "db_query" + "x-looker-activity-type": "db_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Query" + } + } + }, + "description": "Query", + "required": true + } } }, "/queries/{query_id}/run/{result_format}": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "run_query", "summary": "Run Query", "description": "### Run a saved query.\n\nThis runs a previously saved query. You can use this on a query that was generated in the Looker UI\nor one that you have explicitly created using the API. You can also use a query 'id' from a saved 'Look'.\n\nThe 'result_format' parameter specifies the desired structure and format of the response.\n\nSupported formats:\n\n| result_format | Description\n| :-----------: | :--- |\n| json | Plain json\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| md | Simple markdown\n| xlsx | MS Excel spreadsheet\n| sql | Returns the generated SQL rather than running the query\n| png | A PNG image of the visualization of the query\n| jpg | A JPG image of the visualization of the query\n\n\n", @@ -551,137 +779,205 @@ "in": "path", "description": "Id of query", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "result_format", "in": "path", "description": "Format of result", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "limit", "in": "query", "description": "Row limit (may override the limit in the saved query).", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "apply_formatting", "in": "query", "description": "Apply model-specified formatting to each result.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "apply_vis", "in": "query", "description": "Apply visualization options to results.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "cache", "in": "query", "description": "Get results from cache if available.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "image_width", "in": "query", "description": "Render width for image formats.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "image_height", "in": "query", "description": "Render height for image formats.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "generate_drill_links", "in": "query", "description": "Generate drill links (only applicable to 'json_detail' format.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "force_production", "in": "query", "description": "Force use of production models even if the user is in development mode.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "cache_only", "in": "query", "description": "Retrieve any results from cache even if the results have expired.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "path_prefix", "in": "query", "description": "Prefix to use for drill links (url encoded).", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "rebuild_pdts", "in": "query", "description": "Rebuild PDTS used in query.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "server_table_calcs", "in": "query", "description": "Perform table calculations on query results", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], "responses": { "200": { "description": "Query", "content": { - "text": { "schema": { "type": "string" } }, - "application/json": { "schema": { "type": "string" } }, - "image/png": { "schema": { "type": "string" } }, - "image/jpeg": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "text": { + "schema": { + "type": "string" + } + }, + "application/json": { + "schema": { + "type": "string" + } + }, + "image/png": { + "schema": { + "type": "string" + } + }, + "image/jpeg": { + "schema": { + "type": "string" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "text": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, "404": { "description": "Not Found", "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, + "text": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -689,31 +985,49 @@ "description": "Validation Error", "content": { "text": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } }, "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } }, "image/png": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } }, "image/jpeg": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, "429": { "description": "Too Many Requests", "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, + "text": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -724,7 +1038,9 @@ }, "/queries/run/{result_format}": { "post": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "run_inline_query", "summary": "Run Inline Query", "description": "### Run the query that is specified inline in the posted body.\n\nThis allows running a query as defined in json in the posted body. This combines\nthe two actions of posting & running a query into one step.\n\nHere is an example body in json:\n```\n{\n \"model\":\"thelook\",\n \"view\":\"inventory_items\",\n \"fields\":[\"category.name\",\"inventory_items.days_in_inventory_tier\",\"products.count\"],\n \"filters\":{\"category.name\":\"socks\"},\n \"sorts\":[\"products.count desc 0\"],\n \"limit\":\"500\",\n \"query_timezone\":\"America/Los_Angeles\"\n}\n```\n\nWhen using the Ruby SDK this would be passed as a Ruby hash like:\n```\n{\n :model=>\"thelook\",\n :view=>\"inventory_items\",\n :fields=>\n [\"category.name\",\n \"inventory_items.days_in_inventory_tier\",\n \"products.count\"],\n :filters=>{:\"category.name\"=>\"socks\"},\n :sorts=>[\"products.count desc 0\"],\n :limit=>\"500\",\n :query_timezone=>\"America/Los_Angeles\",\n}\n```\n\nThis will return the result of running the query in the format specified by the 'result_format' parameter.\n\nSupported formats:\n\n| result_format | Description\n| :-----------: | :--- |\n| json | Plain json\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| md | Simple markdown\n| xlsx | MS Excel spreadsheet\n| sql | Returns the generated SQL rather than running the query\n| png | A PNG image of the visualization of the query\n| jpg | A JPG image of the visualization of the query\n\n\n", @@ -734,139 +1050,195 @@ "in": "path", "description": "Format of result", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "limit", "in": "query", "description": "Row limit (may override the limit in the saved query).", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "apply_formatting", "in": "query", "description": "Apply model-specified formatting to each result.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "apply_vis", "in": "query", "description": "Apply visualization options to results.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "cache", "in": "query", "description": "Get results from cache if available.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "image_width", "in": "query", "description": "Render width for image formats.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "image_height", "in": "query", "description": "Render height for image formats.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "generate_drill_links", "in": "query", "description": "Generate drill links (only applicable to 'json_detail' format.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "force_production", "in": "query", "description": "Force use of production models even if the user is in development mode.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "cache_only", "in": "query", "description": "Retrieve any results from cache even if the results have expired.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "path_prefix", "in": "query", "description": "Prefix to use for drill links (url encoded).", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "rebuild_pdts", "in": "query", "description": "Rebuild PDTS used in query.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "server_table_calcs", "in": "query", "description": "Perform table calculations on query results", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Query" } - } - }, - "description": "inline query", - "required": true - }, "responses": { "200": { "description": "Query Result", "content": { - "text": { "schema": { "type": "string" } }, - "application/json": { "schema": { "type": "string" } }, - "image/png": { "schema": { "type": "string" } }, - "image/jpeg": { "schema": { "type": "string" } } + "text": { + "schema": { + "type": "string" + } + }, + "application/json": { + "schema": { + "type": "string" + } + }, + "image/png": { + "schema": { + "type": "string" + } + }, + "image/jpeg": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, + "text": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, "404": { "description": "Not Found", "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, + "text": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -874,42 +1246,73 @@ "description": "Validation Error", "content": { "text": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } }, "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } }, "image/png": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } }, "image/jpeg": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, "429": { "description": "Too Many Requests", "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, + "text": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "db_query" + "x-looker-activity-type": "db_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Query" + } + } + }, + "description": "inline query", + "required": true + } } }, "/queries/models/{model_name}/views/{view_name}/run/{result_format}": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "run_url_encoded_query", "summary": "Run Url Encoded Query", "description": "### Run an URL encoded query.\n\nThis requires the caller to encode the specifiers for the query into the URL query part using\nLooker-specific syntax as explained below.\n\nGenerally, you would want to use one of the methods that takes the parameters as json in the POST body\nfor creating and/or running queries. This method exists for cases where one really needs to encode the\nparameters into the URL of a single 'GET' request. This matches the way that the Looker UI formats\n'explore' URLs etc.\n\nThe parameters here are very similar to the json body formatting except that the filter syntax is\ntricky. Unfortunately, this format makes this method not currently callable via the 'Try it out!' button\nin this documentation page. But, this is callable when creating URLs manually or when using the Looker SDK.\n\nHere is an example inline query URL:\n\n```\nhttps://looker.mycompany.com:19999/api/3.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\n```\n\nWhen invoking this endpoint with the Ruby SDK, pass the query parameter parts as a hash. The hash to match the above would look like:\n\n```ruby\nquery_params =\n{\n :fields => \"category.name,inventory_items.days_in_inventory_tier,products.count\",\n :\"f[category.name]\" => \"socks\",\n :sorts => \"products.count desc 0\",\n :limit => \"500\",\n :query_timezone => \"America/Los_Angeles\"\n}\nresponse = ruby_sdk.run_url_encoded_query('thelook','inventory_items','json', query_params)\n\n```\n\nAgain, it is generally easier to use the variant of this method that passes the full query in the POST body.\nThis method is available for cases where other alternatives won't fit the need.\n\nSupported formats:\n\n| result_format | Description\n| :-----------: | :--- |\n| json | Plain json\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| md | Simple markdown\n| xlsx | MS Excel spreadsheet\n| sql | Returns the generated SQL rather than running the query\n| png | A PNG image of the visualization of the query\n| jpg | A JPG image of the visualization of the query\n\n\n", @@ -919,60 +1322,102 @@ "in": "path", "description": "Model name", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "view_name", "in": "path", "description": "View name", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "result_format", "in": "path", "description": "Format of result", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "200": { "description": "Query", "content": { - "text": { "schema": { "type": "string" } }, - "application/json": { "schema": { "type": "string" } }, - "image/png": { "schema": { "type": "string" } }, - "image/jpeg": { "schema": { "type": "string" } } + "text": { + "schema": { + "type": "string" + } + }, + "application/json": { + "schema": { + "type": "string" + } + }, + "image/png": { + "schema": { + "type": "string" + } + }, + "image/jpeg": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, + "text": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, "404": { "description": "Not Found", "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, + "text": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -980,31 +1425,49 @@ "description": "Validation Error", "content": { "text": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } }, "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } }, "image/png": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } }, "image/jpeg": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, "429": { "description": "Too Many Requests", "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, + "text": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -1015,7 +1478,9 @@ }, "/login": { "post": { - "tags": ["ApiAuth"], + "tags": [ + "ApiAuth" + ], "operationId": "login", "summary": "Login", "description": "### Present client credentials to obtain an authorization token\n\nLooker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://looker.com/docs/r/api/outh2_resource_owner_pc) pattern.\nThe client credentials required for this login must be obtained by creating an API3 key on a user account\nin the Looker Admin console. The API3 key consists of a public `client_id` and a private `client_secret`.\n\nThe access token returned by `login` must be used in the HTTP Authorization header of subsequent\nAPI requests, like this:\n```\nAuthorization: token 4QDkCyCtZzYgj4C2p2cj3csJH7zqS5RzKs2kTnG4\n```\nReplace \"4QDkCy...\" with the `access_token` value returned by `login`.\nThe word `token` is a string literal and must be included exactly as shown.\n\nThis 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.\n\nExample of passing credentials in the HTTP request body:\n````\nPOST HTTP /login\nContent-Type: application/x-www-form-urlencoded\n\nclient_id=CGc9B7v7J48dQSJvxxx&client_secret=nNVS9cSS3xNpSC9JdsBvvvvv\n````\n\n### Best Practice:\nAlways 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.\n\nFor more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API3](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md).\n", @@ -1025,14 +1490,18 @@ "in": "query", "description": "client_id part of API3 Key.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "client_secret", "in": "query", "description": "client_secret part of API3 Key.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -1040,7 +1509,9 @@ "description": "Access token with metadata.", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/AccessToken" } + "schema": { + "$ref": "#/components/schemas/AccessToken" + } } } }, @@ -1048,7 +1519,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1056,7 +1529,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -1067,7 +1542,9 @@ }, "/login/{user_id}": { "post": { - "tags": ["ApiAuth"], + "tags": [ + "ApiAuth" + ], "operationId": "login_user", "summary": "Login user", "description": "### Create an access token that runs as a given user.\n\nThis can only be called by an authenticated admin user. It allows that admin to generate a new\nauthentication token for the user with the given user id. That token can then be used for subsequent\nAPI calls - which are then performed *as* that target user.\n\nThe target user does *not* need to have a pre-existing API client_id/client_secret pair. And, no such\ncredentials are created by this call.\n\nThis allows for building systems where api user authentication for an arbitrary number of users is done\noutside of Looker and funneled through a single 'service account' with admin permissions. Note that a\nnew access token is generated on each call. If target users are going to be making numerous API\ncalls in a short period then it is wise to cache this authentication token rather than call this before\neach of those API calls.\n\nSee 'login' for more detail on the access token and how to use it.\n", @@ -1077,14 +1554,19 @@ "in": "path", "description": "Id of user.", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "associative", "in": "query", "description": "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.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], "responses": { @@ -1092,7 +1574,9 @@ "description": "Access token with metadata.", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/AccessToken" } + "schema": { + "$ref": "#/components/schemas/AccessToken" + } } } }, @@ -1100,7 +1584,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1108,7 +1594,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -1119,7 +1607,9 @@ }, "/logout": { "delete": { - "tags": ["ApiAuth"], + "tags": [ + "ApiAuth" + ], "operationId": "logout", "summary": "Logout", "description": "### Logout of the API and invalidate the current access token.\n", @@ -1127,14 +1617,20 @@ "204": { "description": "Logged out successfully.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1142,7 +1638,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -1153,7 +1651,9 @@ }, "/backup_configuration": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "backup_configuration", "summary": "Get Backup Configuration", "description": "### WARNING: The Looker internal database backup function has been deprecated.\n", @@ -1162,7 +1662,9 @@ "description": "Current Backup Configuration", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/BackupConfiguration" } + "schema": { + "$ref": "#/components/schemas/BackupConfiguration" + } } } }, @@ -1170,7 +1672,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1178,7 +1682,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -1188,25 +1694,20 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "update_backup_configuration", "summary": "Update Backup Configuration", "description": "### WARNING: The Looker internal database backup function has been deprecated.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BackupConfiguration" } - } - }, - "description": "Options for Backup Configuration", - "required": true - }, "responses": { "200": { "description": "New state for specified model set.", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/BackupConfiguration" } + "schema": { + "$ref": "#/components/schemas/BackupConfiguration" + } } } }, @@ -1214,7 +1715,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1222,7 +1725,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1230,19 +1735,34 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } } }, "deprecated": true, "x-looker-status": "deprecated", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BackupConfiguration" + } + } + }, + "description": "Options for Backup Configuration", + "required": true + } } }, "/cloud_storage": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "cloud_storage_configuration", "summary": "Get Cloud Storage", "description": "Get the current Cloud Storage Configuration.\n", @@ -1251,7 +1771,9 @@ "description": "Current Cloud Storage Configuration", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/BackupConfiguration" } + "schema": { + "$ref": "#/components/schemas/BackupConfiguration" + } } } }, @@ -1259,7 +1781,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1267,7 +1791,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -1276,25 +1802,20 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "update_cloud_storage_configuration", "summary": "Update Cloud Storage", "description": "Update the current Cloud Storage Configuration.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BackupConfiguration" } - } - }, - "description": "Options for Cloud Storage Configuration", - "required": true - }, "responses": { "200": { "description": "New state for specified model set.", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/BackupConfiguration" } + "schema": { + "$ref": "#/components/schemas/BackupConfiguration" + } } } }, @@ -1302,7 +1823,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1310,7 +1833,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1318,18 +1843,33 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BackupConfiguration" + } + } + }, + "description": "Options for Cloud Storage Configuration", + "required": true + } } }, "/color_collections": { "get": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "all_color_collections", "summary": "Get all Color Collections", "description": "### Get an array of all existing Color Collections\nGet a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n\nGet all **standard** color collections with [ColorCollection](#!/ColorCollection/color_collections_standard)\n\nGet all **custom** color collections with [ColorCollection](#!/ColorCollection/color_collections_custom)\n\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", @@ -1339,7 +1879,9 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -1349,7 +1891,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/ColorCollection" } + "items": { + "$ref": "#/components/schemas/ColorCollection" + } } } } @@ -1358,7 +1902,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1366,7 +1912,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -1375,20 +1923,20 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "create_color_collection", "summary": "Create ColorCollection", "description": "### Create a custom color collection with the specified information\n\nCreates a new custom color collection object, returning the details, including the created id.\n\n**Update** an existing color collection with [Update Color Collection](#!/ColorCollection/update_color_collection)\n\n**Permanently delete** an existing custom color collection with [Delete Color Collection](#!/ColorCollection/delete_color_collection)\n\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", - "requestBody": { - "$ref": "#/components/requestBodies/ColorCollection", - "required": true - }, "responses": { "200": { "description": "ColorCollection", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ColorCollection" } + "schema": { + "$ref": "#/components/schemas/ColorCollection" + } } } }, @@ -1396,7 +1944,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1404,7 +1954,9 @@ "description": "Permission Denied", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1412,7 +1964,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1420,7 +1974,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1428,7 +1984,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -1436,18 +1994,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ColorCollection" + } + } + }, + "description": "ColorCollection", + "required": true + } } }, "/color_collections/custom": { "get": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "color_collections_custom", "summary": "Get all Custom Color Collections", "description": "### Get an array of all existing **Custom** Color Collections\nGet a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n\nGet all **standard** color collections with [ColorCollection](#!/ColorCollection/color_collections_standard)\n\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", @@ -1457,7 +2030,9 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -1467,7 +2042,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/ColorCollection" } + "items": { + "$ref": "#/components/schemas/ColorCollection" + } } } } @@ -1476,7 +2053,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1484,7 +2063,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -1495,7 +2076,9 @@ }, "/color_collections/standard": { "get": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "color_collections_standard", "summary": "Get all Standard Color Collections", "description": "### Get an array of all existing **Standard** Color Collections\nGet a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n\nGet all **custom** color collections with [ColorCollection](#!/ColorCollection/color_collections_custom)\n\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", @@ -1505,7 +2088,9 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -1515,7 +2100,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/ColorCollection" } + "items": { + "$ref": "#/components/schemas/ColorCollection" + } } } } @@ -1524,7 +2111,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1532,7 +2121,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -1543,7 +2134,9 @@ }, "/color_collections/default": { "put": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "set_default_color_collection", "summary": "Set Default Color Collection", "description": "### Set the global default Color Collection by ID\n\nReturns the new specified default Color Collection object.\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", @@ -1553,7 +2146,9 @@ "in": "query", "description": "ID of color collection to set as default", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -1561,7 +2156,9 @@ "description": "ColorCollection", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ColorCollection" } + "schema": { + "$ref": "#/components/schemas/ColorCollection" + } } } }, @@ -1569,7 +2166,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1577,7 +2176,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1585,7 +2186,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -1593,7 +2196,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -1602,7 +2207,9 @@ "x-looker-activity-type": "non_query" }, "get": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "default_color_collection", "summary": "Get Default Color Collection", "description": "### Get the default color collection\n\nUse this to retrieve the default Color Collection.\n\nSet the default color collection with [ColorCollection](#!/ColorCollection/set_default_color_collection)\n", @@ -1611,7 +2218,9 @@ "description": "ColorCollection", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ColorCollection" } + "schema": { + "$ref": "#/components/schemas/ColorCollection" + } } } }, @@ -1619,7 +2228,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1627,7 +2238,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -1638,7 +2251,9 @@ }, "/color_collections/{collection_id}": { "get": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "color_collection", "summary": "Get Color Collection by ID", "description": "### Get a Color Collection by ID\n\nUse this to retrieve a specific Color Collection.\nGet a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n\nGet all **standard** color collections with [ColorCollection](#!/ColorCollection/color_collections_standard)\n\nGet all **custom** color collections with [ColorCollection](#!/ColorCollection/color_collections_custom)\n\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", @@ -1648,14 +2263,18 @@ "in": "path", "description": "Id of Color Collection", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -1663,7 +2282,9 @@ "description": "ColorCollection", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ColorCollection" } + "schema": { + "$ref": "#/components/schemas/ColorCollection" + } } } }, @@ -1671,7 +2292,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1679,7 +2302,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -1688,7 +2313,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "update_color_collection", "summary": "Update Custom Color collection", "description": "### Update a custom color collection by id.\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", @@ -1698,19 +2325,19 @@ "in": "path", "description": "Id of Custom Color Collection", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/ColorCollection", - "required": true - }, "responses": { "200": { "description": "ColorCollection", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ColorCollection" } + "schema": { + "$ref": "#/components/schemas/ColorCollection" + } } } }, @@ -1718,7 +2345,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1726,7 +2355,9 @@ "description": "Permission Denied", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1734,7 +2365,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1742,7 +2375,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -1750,16 +2385,31 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ColorCollection" + } + } + }, + "description": "ColorCollection", + "required": true + } }, "delete": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "delete_color_collection", "summary": "Delete ColorCollection", "description": "### Delete a custom color collection by id\n\nThis operation permanently deletes the identified **Custom** color collection.\n\n**Standard** color collections cannot be deleted\n\nBecause multiple color collections can have the same label, they must be deleted by ID, not name.\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", @@ -1769,22 +2419,32 @@ "in": "path", "description": "Id of Color Collection", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { - "200": { "description": "Success" }, + "200": { + "description": "Success" + }, "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1792,7 +2452,9 @@ "description": "Permission Denied", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1800,7 +2462,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1808,7 +2472,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -1819,7 +2485,9 @@ }, "/content_favorite/search": { "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "search_content_favorites", "summary": "Search Favorite Contents", "description": "### Search Favorite Content\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", @@ -1829,70 +2497,97 @@ "in": "query", "description": "Match content favorite id(s)", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "user_id", "in": "query", "description": "Match user id(s)", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "content_metadata_id", "in": "query", "description": "Match content metadata id(s)", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "dashboard_id", "in": "query", "description": "Match dashboard id(s)", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "look_id", "in": "query", "description": "Match look id(s)", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "limit", "in": "query", "description": "Number of results to return. (used with offset)", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "offset", "in": "query", "description": "Number of results to skip before returning any. (used with limit)", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "sorts", "in": "query", "description": "Fields to sort by.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "filter_or", "in": "query", "description": "Combine given search criteria in a boolean OR expression", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], "responses": { @@ -1902,7 +2597,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/ContentFavorite" } + "items": { + "$ref": "#/components/schemas/ContentFavorite" + } } } } @@ -1911,7 +2608,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1919,7 +2618,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -1930,7 +2631,9 @@ }, "/content_favorite/{content_favorite_id}": { "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "content_favorite", "summary": "Get Favorite Content", "description": "### Get favorite content by its id", @@ -1940,14 +2643,19 @@ "in": "path", "description": "Id of favorite content", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -1955,7 +2663,9 @@ "description": "Favorite Content", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ContentFavorite" } + "schema": { + "$ref": "#/components/schemas/ContentFavorite" + } } } }, @@ -1963,7 +2673,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -1971,7 +2683,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -1980,7 +2694,9 @@ "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "delete_content_favorite", "summary": "Delete Favorite Content", "description": "### Delete favorite content", @@ -1990,21 +2706,30 @@ "in": "path", "description": "Id of favorite content", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -2012,7 +2737,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -2020,7 +2747,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -2031,25 +2760,20 @@ }, "/content_favorite": { "post": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "create_content_favorite", "summary": "Create Favorite Content", "description": "### Create favorite content", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ContentFavorite" } - } - }, - "description": "Favorite Content", - "required": true - }, "responses": { "200": { "description": "Favorite Content", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ContentFavorite" } + "schema": { + "$ref": "#/components/schemas/ContentFavorite" + } } } }, @@ -2057,7 +2781,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -2065,7 +2791,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -2073,7 +2801,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -2081,7 +2811,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -2089,18 +2821,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ContentFavorite" + } + } + }, + "description": "Favorite Content", + "required": true + } } }, "/content_metadata": { "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "all_content_metadatas", "summary": "Get All Content Metadatas", "description": "### Get information about all content metadata in a space.\n", @@ -2110,14 +2857,19 @@ "in": "query", "description": "Parent space of content.", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -2127,7 +2879,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/ContentMeta" } + "items": { + "$ref": "#/components/schemas/ContentMeta" + } } } } @@ -2136,7 +2890,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -2144,7 +2900,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -2155,7 +2913,9 @@ }, "/content_metadata/{content_metadata_id}": { "patch": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "update_content_metadata", "summary": "Update Content Metadata", "description": "### Move a piece of content.\n", @@ -2165,24 +2925,20 @@ "in": "path", "description": "Id of content metadata", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ContentMeta" } - } - }, - "description": "Content Metadata", - "required": true - }, "responses": { "200": { "description": "Content Metadata", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ContentMeta" } + "schema": { + "$ref": "#/components/schemas/ContentMeta" + } } } }, @@ -2190,7 +2946,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -2198,7 +2956,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -2206,7 +2966,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -2214,16 +2976,31 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ContentMeta" + } + } + }, + "description": "Content Metadata", + "required": true + } }, "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "content_metadata", "summary": "Get Content Metadata", "description": "### Get information about an individual content metadata record.\n", @@ -2233,14 +3010,19 @@ "in": "path", "description": "Id of content metadata", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -2248,7 +3030,9 @@ "description": "Content Metadata", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ContentMeta" } + "schema": { + "$ref": "#/components/schemas/ContentMeta" + } } } }, @@ -2256,7 +3040,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -2264,7 +3050,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -2275,7 +3063,9 @@ }, "/content_metadata_access": { "post": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "create_content_metadata_access", "summary": "Create Content Metadata Access", "description": "### Create content metadata access.\n", @@ -2285,13 +3075,11 @@ "in": "query", "description": "Optionally sends notification email when granting access to a board.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/ContentMetaGroupUser", - "required": true - }, "responses": { "200": { "description": "Content Metadata Access", @@ -2307,7 +3095,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -2315,7 +3105,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -2323,7 +3115,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -2331,7 +3125,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -2339,17 +3135,32 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query", - "x-looker-rate-limited": true + "x-looker-rate-limited": true, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ContentMetaGroupUser" + } + } + }, + "description": "Content Metadata Access", + "required": true + } }, "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "all_content_metadata_accesses", "summary": "Get All Content Metadata Accesses", "description": "### All content metadata access records for a content metadata item.\n", @@ -2359,14 +3170,19 @@ "in": "query", "description": "Id of content metadata", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -2387,7 +3203,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -2395,7 +3213,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -2406,7 +3226,9 @@ }, "/content_metadata_access/{content_metadata_access_id}": { "put": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "update_content_metadata_access", "summary": "Update Content Metadata Access", "description": "### Update type of access for content metadata.\n", @@ -2416,13 +3238,12 @@ "in": "path", "description": "Id of content metadata access", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/ContentMetaGroupUser", - "required": true - }, "responses": { "200": { "description": "Content Metadata Access", @@ -2438,7 +3259,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -2446,7 +3269,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -2454,7 +3279,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -2462,16 +3289,31 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ContentMetaGroupUser" + } + } + }, + "description": "Content Metadata Access", + "required": true + } }, "delete": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "delete_content_metadata_access", "summary": "Delete Content Metadata Access", "description": "### Remove content metadata access.\n", @@ -2481,21 +3323,30 @@ "in": "path", "description": "Id of content metadata access", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -2503,7 +3354,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -2511,7 +3364,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -2522,7 +3377,9 @@ }, "/content_thumbnail/{type}/{resource_id}": { "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "content_thumbnail", "summary": "Get Content Thumbnail", "description": "### Get an image representing the contents of a dashboard or look.\n\nThe returned thumbnail is an abstract representation of the contents of a dashbord or look and does not\nreflect the actual data displayed in the respective visualizations.\n", @@ -2532,60 +3389,86 @@ "in": "path", "description": "Either dashboard or look", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "resource_id", "in": "path", "description": "ID of the dashboard or look to render", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "reload", "in": "query", "description": "Whether or not to refresh the rendered image with the latest content", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "format", "in": "query", "description": "A value of png produces a thumbnail in PNG format instead of SVG (default)", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "width", "in": "query", "description": "The width of the image if format is supplied", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "height", "in": "query", "description": "The height of the image if format is supplied", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { "200": { "description": "Content thumbnail", "content": { - "image/svg+xml": { "schema": { "type": "string" } }, - "image/png": { "schema": { "type": "string" } } + "image/svg+xml": { + "schema": { + "type": "string" + } + }, + "image/png": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "image/svg+xml": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -2593,10 +3476,14 @@ "description": "Not Found", "content": { "image/svg+xml": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -2607,7 +3494,9 @@ }, "/content_validation": { "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "content_validation", "summary": "Validate Content", "description": "### Validate All Content\n\nPerforms validation of all looks and dashboards\nReturns a list of errors found as well as metadata about the content validation run.\n", @@ -2617,7 +3506,9 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -2625,7 +3516,9 @@ "description": "Content validation results", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ContentValidation" } + "schema": { + "$ref": "#/components/schemas/ContentValidation" + } } } }, @@ -2633,7 +3526,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -2641,7 +3536,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -2649,7 +3546,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -2657,7 +3556,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -2668,7 +3569,9 @@ }, "/content_view/search": { "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "search_content_views", "summary": "Search Content Views", "description": "### Search Content Views\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", @@ -2678,91 +3581,123 @@ "in": "query", "description": "Match view count", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "group_id", "in": "query", "description": "Match Group Id", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "look_id", "in": "query", "description": "Match look_id", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "dashboard_id", "in": "query", "description": "Match dashboard_id", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "content_metadata_id", "in": "query", "description": "Match content metadata id", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "start_of_week_date", "in": "query", "description": "Match start of week date (format is \"YYYY-MM-DD\")", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "all_time", "in": "query", "description": "True if only all time view records should be returned", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "user_id", "in": "query", "description": "Match user id", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "limit", "in": "query", "description": "Number of results to return. Use with `offset` to manage pagination of results", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "offset", "in": "query", "description": "Number of results to skip before returning data", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "sorts", "in": "query", "description": "Fields to sort by", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "filter_or", "in": "query", "description": "Combine given search criteria in a boolean OR expression", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], "responses": { @@ -2772,7 +3707,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/ContentView" } + "items": { + "$ref": "#/components/schemas/ContentView" + } } } } @@ -2781,7 +3718,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -2789,7 +3728,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -2800,7 +3741,9 @@ }, "/custom_welcome_email": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "custom_welcome_email", "summary": "Get Custom Welcome Email", "description": "### Get the current status and content of custom welcome emails\n", @@ -2809,7 +3752,9 @@ "description": "Custom Welcome Email", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/CustomWelcomeEmail" } + "schema": { + "$ref": "#/components/schemas/CustomWelcomeEmail" + } } } }, @@ -2817,7 +3762,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -2825,7 +3772,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -2834,7 +3783,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "update_custom_welcome_email", "summary": "Update Custom Welcome Email Content", "description": "Update custom welcome email setting and values. Optionally send a test email with the new content to the currently logged in user.\n", @@ -2844,24 +3795,19 @@ "in": "query", "description": "If true a test email with the content from the request will be sent to the current user after saving", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CustomWelcomeEmail" } - } - }, - "description": "Custom Welcome Email setting and value to save", - "required": true - }, "responses": { "200": { "description": "Custom Welcome Email", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/CustomWelcomeEmail" } + "schema": { + "$ref": "#/components/schemas/CustomWelcomeEmail" + } } } }, @@ -2869,7 +3815,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -2877,7 +3825,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -2885,7 +3835,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -2893,36 +3845,44 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/custom_welcome_email_test": { - "put": { - "tags": ["Config"], - "operationId": "update_custom_welcome_email_test", - "summary": "Send a test welcome email to the currently logged in user with the supplied content ", - "description": "Requests to this endpoint will send a welcome email with the custom content provided in the body to the currently logged in user.\n", + "x-looker-activity-type": "non_query", "requestBody": { "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/WelcomeEmailTest" } + "schema": { + "$ref": "#/components/schemas/CustomWelcomeEmail" + } } }, - "description": "Subject, header, and Body of the email to be sent.", + "description": "Custom Welcome Email setting and value to save", "required": true - }, + } + } + }, + "/custom_welcome_email_test": { + "put": { + "tags": [ + "Config" + ], + "operationId": "update_custom_welcome_email_test", + "summary": "Send a test welcome email to the currently logged in user with the supplied content ", + "description": "Requests to this endpoint will send a welcome email with the custom content provided in the body to the currently logged in user.\n", "responses": { "200": { "description": "Send Test Welcome Email", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/WelcomeEmailTest" } + "schema": { + "$ref": "#/components/schemas/WelcomeEmailTest" + } } } }, @@ -2930,7 +3890,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -2938,7 +3900,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -2946,7 +3910,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -2954,18 +3920,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WelcomeEmailTest" + } + } + }, + "description": "Subject, header, and Body of the email to be sent.", + "required": true + } } }, "/dashboards": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "all_dashboards", "summary": "Get All Dashboards", "description": "### Get information about all active dashboards.\n\nReturns an array of **abbreviated dashboard objects**. Dashboards marked as deleted are excluded from this list.\n\nGet the **full details** of a specific dashboard by id with [dashboard()](#!/Dashboard/dashboard)\n\nFind **deleted dashboards** with [search_dashboards()](#!/Dashboard/search_dashboards)\n", @@ -2975,7 +3956,9 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -2985,7 +3968,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/DashboardBase" } + "items": { + "$ref": "#/components/schemas/DashboardBase" + } } } } @@ -2994,7 +3979,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -3002,7 +3989,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -3011,20 +4000,20 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "create_dashboard", "summary": "Create Dashboard", "description": "### Create a new dashboard\n\nCreates a new dashboard object and returns the details of the newly created dashboard.\n\n`Title`, `user_id`, and `space_id` are all required fields.\n`Space_id` and `user_id` must contain the id of an existing space or user, respectively.\nA dashboard's `title` must be unique within the space in which it resides.\n\nIf you receive a 422 error response when creating a dashboard, be sure to look at the\nresponse body for information about exactly which fields are missing or contain invalid data.\n\nYou can **update** an existing dashboard with [update_dashboard()](#!/Dashboard/update_dashboard)\n\nYou can **permanently delete** an existing dashboard with [delete_dashboard()](#!/Dashboard/delete_dashboard)\n", - "requestBody": { - "$ref": "#/components/requestBodies/Dashboard", - "required": true - }, "responses": { "200": { "description": "Dashboard", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Dashboard" } + "schema": { + "$ref": "#/components/schemas/Dashboard" + } } } }, @@ -3032,7 +4021,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -3040,7 +4031,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -3048,7 +4041,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -3056,7 +4051,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -3064,18 +4061,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Dashboard" + } + } + }, + "description": "Dashboard", + "required": true + } } }, "/dashboards/search": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "search_dashboards", "summary": "Search Dashboards", "description": "### Search Dashboards\n\nReturns an **array of dashboard objects** that match the specified search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\nThe parameters `limit`, and `offset` are recommended for fetching results in page-size chunks.\n\nGet a **single dashboard** by id with [dashboard()](#!/Dashboard/dashboard)\n", @@ -3085,133 +4097,178 @@ "in": "query", "description": "Match dashboard id.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "slug", "in": "query", "description": "Match dashboard slug.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "title", "in": "query", "description": "Match Dashboard title.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "description", "in": "query", "description": "Match Dashboard description.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "content_favorite_id", "in": "query", "description": "Filter on a content favorite id.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "space_id", "in": "query", "description": "Filter on a particular space.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "folder_id", "in": "query", "description": "Filter on a particular space.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "deleted", "in": "query", "description": "Filter on dashboards deleted status.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "user_id", "in": "query", "description": "Filter on dashboards created by a particular user.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "view_count", "in": "query", "description": "Filter on a particular value of view_count", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "content_metadata_id", "in": "query", "description": "Filter on a content favorite id.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "curate", "in": "query", "description": "Exclude items that exist only in personal spaces other than the users", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "page", "in": "query", "description": "Requested page.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "per_page", "in": "query", "description": "Results per page.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "limit", "in": "query", "description": "Number of results to return. (used with offset and takes priority over page and per_page)", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "offset", "in": "query", "description": "Number of results to skip before returning any. (used with limit and takes priority over page and per_page)", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "sorts", "in": "query", "description": "One or more fields to sort by. Sortable fields: [:title, :user_id, :id, :created_at, :space_id, :folder_id, :description, :view_count, :favorite_count, :slug, :content_favorite_id, :content_metadata_id, :deleted, :deleted_at, :last_viewed_at, :last_accessed_at]", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "filter_or", "in": "query", "description": "Combine given search criteria in a boolean OR expression", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], "responses": { @@ -3221,7 +4278,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Dashboard" } + "items": { + "$ref": "#/components/schemas/Dashboard" + } } } } @@ -3230,7 +4289,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -3238,7 +4299,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -3249,7 +4312,9 @@ }, "/dashboards/{lookml_dashboard_id}/import/{space_id}": { "post": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "import_lookml_dashboard", "summary": "Import LookML Dashboard", "description": "### Import a LookML dashboard to a space as a UDD\nCreates a UDD (a dashboard which exists in the Looker database rather than as a LookML file) from the LookML dashboard\nand places it in the space specified. The created UDD will have a lookml_link_id which links to the original LookML dashboard.\n\nTo give the imported dashboard specify a (e.g. title: \"my title\") in the body of your request, otherwise the imported\ndashboard will have the same title as the original LookML dashboard.\n\nFor this operation to succeed the user must have permission to see the LookML dashboard in question, and have permission to\ncreate content in the space the dashboard is being imported to.\n\n**Sync** a linked UDD with [sync_lookml_dashboard()](#!/Dashboard/sync_lookml_dashboard)\n**Unlink** a linked UDD by setting lookml_link_id to null with [update_dashboard()](#!/Dashboard/update_dashboard)\n", @@ -3259,38 +4324,37 @@ "in": "path", "description": "Id of LookML dashboard", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "space_id", "in": "path", "description": "Id of space to import the dashboard to", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "raw_locale", "in": "query", "description": "If true, and this dashboard is localized, export it with the raw keys, not localized.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Dashboard" } - } - }, - "description": "Dashboard", - "required": false - }, "responses": { "200": { "description": "Dashboard", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Dashboard" } + "schema": { + "$ref": "#/components/schemas/Dashboard" + } } } }, @@ -3298,7 +4362,9 @@ "description": "dashboard", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Dashboard" } + "schema": { + "$ref": "#/components/schemas/Dashboard" + } } } }, @@ -3306,7 +4372,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -3314,7 +4382,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -3322,7 +4392,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -3330,7 +4402,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -3338,18 +4412,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Dashboard" + } + } + }, + "description": "Dashboard", + "required": false + } } }, "/dashboards/{lookml_dashboard_id}/sync": { "patch": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "sync_lookml_dashboard", "summary": "Sync LookML Dashboard", "description": "### Update all linked dashboards to match the specified LookML dashboard.\n\nAny UDD (a dashboard which exists in the Looker database rather than as a LookML file) which has a `lookml_link_id`\nproperty value referring to a LookML dashboard's id (model::dashboardname) will be updated so that it matches the current state of the LookML dashboard.\n\nFor this operation to succeed the user must have permission to view the LookML dashboard, and only linked dashboards\nthat the user has permission to update will be synced.\n\nTo **link** or **unlink** a UDD set the `lookml_link_id` property with [update_dashboard()](#!/Dashboard/update_dashboard)\n", @@ -3359,20 +4448,20 @@ "in": "path", "description": "Id of LookML dashboard, in the form 'model::dashboardname'", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "raw_locale", "in": "query", "description": "If true, and this dashboard is localized, export it with the raw keys, not localized.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/Dashboard", - "required": true - }, "responses": { "200": { "description": "Ids of all the dashboards that were updated by this operation", @@ -3380,7 +4469,10 @@ "application/json": { "schema": { "type": "array", - "items": { "type": "integer", "format": "int64" } + "items": { + "type": "integer", + "format": "int64" + } } } } @@ -3389,7 +4481,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -3397,7 +4491,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -3405,7 +4501,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -3413,18 +4511,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Dashboard" + } + } + }, + "description": "Dashboard", + "required": true + } } }, "/dashboards/{dashboard_id}": { "delete": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "delete_dashboard", "summary": "Delete Dashboard", "description": "### Delete the dashboard with the specified id\n\nPermanently **deletes** a dashboard. (The dashboard cannot be recovered after this operation.)\n\n\"Soft\" delete or hide a dashboard by setting its `deleted` status to `True` with [update_dashboard()](#!/Dashboard/update_dashboard).\n\nNote: When a dashboard is deleted in the UI, it is soft deleted. Use this API call to permanently remove it, if desired.\n", @@ -3434,21 +4547,29 @@ "in": "path", "description": "Id of dashboard", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -3456,7 +4577,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -3464,7 +4587,9 @@ "description": "Resource Can't Be Modified", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -3472,7 +4597,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -3481,7 +4608,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "update_dashboard", "summary": "Update Dashboard", "description": "### Update a dashboard\n\nYou can use this function to change the string and integer properties of\na dashboard. Nested objects such as filters, dashboard elements, or dashboard layout components\ncannot be modified by this function - use the update functions for the respective\nnested object types (like [update_dashboard_filter()](#!/3.1/Dashboard/update_dashboard_filter) to change a filter)\nto modify nested objects referenced by a dashboard.\n\nIf you receive a 422 error response when updating a dashboard, be sure to look at the\nresponse body for information about exactly which fields are missing or contain invalid data.\n", @@ -3491,19 +4620,19 @@ "in": "path", "description": "Id of dashboard", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/Dashboard", - "required": true - }, "responses": { "200": { "description": "Dashboard", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Dashboard" } + "schema": { + "$ref": "#/components/schemas/Dashboard" + } } } }, @@ -3511,7 +4640,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -3519,7 +4650,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -3527,7 +4660,9 @@ "description": "Resource Can't Be Modified", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -3535,7 +4670,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -3543,16 +4680,31 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Dashboard" + } + } + }, + "description": "Dashboard", + "required": true + } }, "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard", "summary": "Get Dashboard", "description": "### Get information about a dashboard\n\nReturns the full details of the identified dashboard object\n\nGet a **summary list** of all active dashboards with [all_dashboards()](#!/Dashboard/all_dashboards)\n\nYou can **Search** for dashboards with [search_dashboards()](#!/Dashboard/search_dashboards)\n", @@ -3562,14 +4714,18 @@ "in": "path", "description": "Id of dashboard", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -3577,7 +4733,9 @@ "description": "Dashboard", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Dashboard" } + "schema": { + "$ref": "#/components/schemas/Dashboard" + } } } }, @@ -3585,7 +4743,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -3593,7 +4753,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -3604,7 +4766,9 @@ }, "/dashboards/aggregate_table_lookml/{dashboard_id}": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_aggregate_table_lookml", "summary": "Get Aggregate Table LookML for a dashboard", "description": "### Get Aggregate Table LookML for Each Query on a Dahboard\n\nReturns a JSON object that contains the dashboard id and Aggregate Table lookml\n\n", @@ -3614,7 +4778,9 @@ "in": "path", "description": "Id of dashboard", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -3632,7 +4798,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -3640,7 +4808,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -3651,7 +4821,9 @@ }, "/dashboards/lookml/{dashboard_id}": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_lookml", "summary": "Get lookml of a UDD", "description": "### Get lookml of a UDD\n\nReturns a JSON object that contains the dashboard id and the full lookml\n\n", @@ -3661,7 +4833,9 @@ "in": "path", "description": "Id of dashboard", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -3669,7 +4843,9 @@ "description": "json of dashboard", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/DashboardLookml" } + "schema": { + "$ref": "#/components/schemas/DashboardLookml" + } } } }, @@ -3677,7 +4853,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -3685,8 +4863,10 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } + "schema": { + "$ref": "#/components/schemas/Error" + } + } } } }, @@ -3696,7 +4876,9 @@ }, "/dashboard_elements/search": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "search_dashboard_elements", "summary": "Search Dashboard Elements", "description": "### Search Dashboard Elements\n\nReturns an **array of DashboardElement objects** that match the specified search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", @@ -3706,49 +4888,65 @@ "in": "query", "description": "Select elements that refer to a given dashboard id", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "look_id", "in": "query", "description": "Select elements that refer to a given look id", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "title", "in": "query", "description": "Match the title of element", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "deleted", "in": "query", "description": "Select soft-deleted dashboard elements", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "filter_or", "in": "query", "description": "Combine given search criteria in a boolean OR expression", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "sorts", "in": "query", "description": "Fields to sort by. Sortable fields: [:look_id, :dashboard_id, :deleted, :title]", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -3758,7 +4956,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/DashboardElement" } + "items": { + "$ref": "#/components/schemas/DashboardElement" + } } } } @@ -3767,7 +4967,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -3775,7 +4977,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -3786,7 +4990,9 @@ }, "/dashboard_elements/{dashboard_element_id}": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_element", "summary": "Get DashboardElement", "description": "### Get information about the dashboard element with a specific id.", @@ -3796,14 +5002,18 @@ "in": "path", "description": "Id of dashboard element", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -3811,7 +5021,9 @@ "description": "DashboardElement", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/DashboardElement" } + "schema": { + "$ref": "#/components/schemas/DashboardElement" + } } } }, @@ -3819,7 +5031,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -3827,7 +5041,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -3836,7 +5052,9 @@ "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "delete_dashboard_element", "summary": "Delete DashboardElement", "description": "### Delete a dashboard element with a specific id.", @@ -3846,21 +5064,29 @@ "in": "path", "description": "Id of dashboard element", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -3868,7 +5094,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -3876,7 +5104,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -3885,7 +5115,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "update_dashboard_element", "summary": "Update DashboardElement", "description": "### Update the dashboard element with a specific id.", @@ -3895,26 +5127,28 @@ "in": "path", "description": "Id of dashboard element", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/DashboardElement", - "required": true - }, "responses": { "200": { "description": "DashboardElement", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/DashboardElement" } + "schema": { + "$ref": "#/components/schemas/DashboardElement" + } } } }, @@ -3922,7 +5156,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -3930,7 +5166,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -3938,7 +5176,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -3946,18 +5186,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DashboardElement" + } + } + }, + "description": "DashboardElement", + "required": true + } } }, "/dashboards/{dashboard_id}/dashboard_elements": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_dashboard_elements", "summary": "Get All DashboardElements", "description": "### Get information about all the dashboard elements on a dashboard with a specific id.", @@ -3967,14 +5222,18 @@ "in": "path", "description": "Id of dashboard", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -3984,7 +5243,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/DashboardElement" } + "items": { + "$ref": "#/components/schemas/DashboardElement" + } } } } @@ -3993,7 +5254,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4001,7 +5264,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -4012,7 +5277,9 @@ }, "/dashboard_elements": { "post": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "create_dashboard_element", "summary": "Create DashboardElement", "description": "### Create a dashboard element on the dashboard with a specific id.", @@ -4022,19 +5289,19 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/DashboardElement", - "required": true - }, "responses": { "200": { "description": "DashboardElement", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/DashboardElement" } + "schema": { + "$ref": "#/components/schemas/DashboardElement" + } } } }, @@ -4042,7 +5309,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4050,7 +5319,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4058,7 +5329,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4066,7 +5339,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -4074,18 +5349,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DashboardElement" + } + } + }, + "description": "DashboardElement", + "required": true + } } }, "/dashboard_filters/{dashboard_filter_id}": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_filter", "summary": "Get Dashboard Filter", "description": "### Get information about the dashboard filters with a specific id.", @@ -4095,14 +5385,18 @@ "in": "path", "description": "Id of dashboard filters", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -4110,7 +5404,9 @@ "description": "Dashboard Filter", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/DashboardFilter" } + "schema": { + "$ref": "#/components/schemas/DashboardFilter" + } } } }, @@ -4118,7 +5414,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4126,7 +5424,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -4135,7 +5435,9 @@ "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "delete_dashboard_filter", "summary": "Delete Dashboard Filter", "description": "### Delete a dashboard filter with a specific id.", @@ -4145,21 +5447,29 @@ "in": "path", "description": "Id of dashboard filter", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4167,7 +5477,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4175,7 +5487,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -4184,7 +5498,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "update_dashboard_filter", "summary": "Update Dashboard Filter", "description": "### Update the dashboard filter with a specific id.", @@ -4194,31 +5510,28 @@ "in": "path", "description": "Id of dashboard filter", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DashboardFilter" } - } - }, - "description": "Dashboard Filter", - "required": true - }, "responses": { "200": { "description": "Dashboard Filter", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/DashboardFilter" } + "schema": { + "$ref": "#/components/schemas/DashboardFilter" + } } } }, @@ -4226,7 +5539,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4234,7 +5549,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4242,7 +5559,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -4250,18 +5569,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DashboardFilter" + } + } + }, + "description": "Dashboard Filter", + "required": true + } } }, "/dashboards/{dashboard_id}/dashboard_filters": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_dashboard_filters", "summary": "Get All Dashboard Filters", "description": "### Get information about all the dashboard filters on a dashboard with a specific id.", @@ -4271,14 +5605,18 @@ "in": "path", "description": "Id of dashboard", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -4288,7 +5626,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/DashboardFilter" } + "items": { + "$ref": "#/components/schemas/DashboardFilter" + } } } } @@ -4297,7 +5637,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4305,7 +5647,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -4316,7 +5660,9 @@ }, "/dashboard_filters": { "post": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "create_dashboard_filter", "summary": "Create Dashboard Filter", "description": "### Create a dashboard filter on the dashboard with a specific id.", @@ -4326,24 +5672,19 @@ "in": "query", "description": "Requested fields", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CreateDashboardFilter" } - } - }, - "description": "Dashboard Filter", - "required": true - }, "responses": { "200": { "description": "Dashboard Filter", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/DashboardFilter" } + "schema": { + "$ref": "#/components/schemas/DashboardFilter" + } } } }, @@ -4351,7 +5692,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4359,7 +5702,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4367,7 +5712,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4375,7 +5722,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -4383,18 +5732,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateDashboardFilter" + } + } + }, + "description": "Dashboard Filter", + "required": true + } } }, "/dashboard_layout_components/{dashboard_layout_component_id}": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_layout_component", "summary": "Get DashboardLayoutComponent", "description": "### Get information about the dashboard elements with a specific id.", @@ -4404,14 +5768,18 @@ "in": "path", "description": "Id of dashboard layout component", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -4429,7 +5797,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4437,7 +5807,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -4446,7 +5818,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "update_dashboard_layout_component", "summary": "Update DashboardLayoutComponent", "description": "### Update the dashboard element with a specific id.", @@ -4456,27 +5830,20 @@ "in": "path", "description": "Id of dashboard layout component", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DashboardLayoutComponent" - } - } - }, - "description": "DashboardLayoutComponent", - "required": true - }, "responses": { "200": { "description": "DashboardLayoutComponent", @@ -4492,7 +5859,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4500,7 +5869,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4508,7 +5879,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -4516,18 +5889,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/dashboard_layouts/{dashboard_layout_id}/dashboard_layout_components": { - "get": { - "tags": ["Dashboard"], + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DashboardLayoutComponent" + } + } + }, + "description": "DashboardLayoutComponent", + "required": true + } + } + }, + "/dashboard_layouts/{dashboard_layout_id}/dashboard_layout_components": { + "get": { + "tags": [ + "Dashboard" + ], "operationId": "dashboard_layout_dashboard_layout_components", "summary": "Get All DashboardLayoutComponents", "description": "### Get information about all the dashboard layout components for a dashboard layout with a specific id.", @@ -4537,14 +5925,18 @@ "in": "path", "description": "Id of dashboard layout component", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -4565,7 +5957,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4573,7 +5967,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -4584,7 +5980,9 @@ }, "/dashboard_layouts/{dashboard_layout_id}": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_layout", "summary": "Get DashboardLayout", "description": "### Get information about the dashboard layouts with a specific id.", @@ -4594,14 +5992,18 @@ "in": "path", "description": "Id of dashboard layouts", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -4609,7 +6011,9 @@ "description": "DashboardLayout", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/DashboardLayout" } + "schema": { + "$ref": "#/components/schemas/DashboardLayout" + } } } }, @@ -4617,7 +6021,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4625,7 +6031,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -4634,7 +6042,9 @@ "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "delete_dashboard_layout", "summary": "Delete DashboardLayout", "description": "### Delete a dashboard layout with a specific id.", @@ -4644,21 +6054,29 @@ "in": "path", "description": "Id of dashboard layout", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4666,7 +6084,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4674,7 +6094,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -4682,7 +6104,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -4691,7 +6115,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "update_dashboard_layout", "summary": "Update DashboardLayout", "description": "### Update the dashboard layout with a specific id.", @@ -4701,26 +6127,28 @@ "in": "path", "description": "Id of dashboard layout", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/DashboardLayout", - "required": true - }, "responses": { "200": { "description": "DashboardLayout", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/DashboardLayout" } + "schema": { + "$ref": "#/components/schemas/DashboardLayout" + } } } }, @@ -4728,7 +6156,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4736,7 +6166,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4744,7 +6176,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -4752,18 +6186,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DashboardLayout" + } + } + }, + "description": "DashboardLayout", + "required": true + } } }, "/dashboards/{dashboard_id}/dashboard_layouts": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_dashboard_layouts", "summary": "Get All DashboardLayouts", "description": "### Get information about all the dashboard elements on a dashboard with a specific id.", @@ -4773,14 +6222,18 @@ "in": "path", "description": "Id of dashboard", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -4790,7 +6243,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/DashboardLayout" } + "items": { + "$ref": "#/components/schemas/DashboardLayout" + } } } } @@ -4799,7 +6254,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4807,7 +6264,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -4818,7 +6277,9 @@ }, "/dashboard_layouts": { "post": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "create_dashboard_layout", "summary": "Create DashboardLayout", "description": "### Create a dashboard layout on the dashboard with a specific id.", @@ -4828,19 +6289,19 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/DashboardLayout", - "required": true - }, "responses": { "200": { "description": "DashboardLayout", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/DashboardLayout" } + "schema": { + "$ref": "#/components/schemas/DashboardLayout" + } } } }, @@ -4848,7 +6309,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4856,7 +6319,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4864,7 +6329,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4872,7 +6339,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -4880,36 +6349,44 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DashboardLayout" + } + } + }, + "description": "DashboardLayout", + "required": true + } } }, "/data_actions": { "post": { - "tags": ["DataAction"], + "tags": [ + "DataAction" + ], "operationId": "perform_data_action", "summary": "Send a Data Action", "description": "Perform a data action. The data action object can be obtained from query results, and used to perform an arbitrary action.", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DataActionRequest" } - } - }, - "description": "Data Action Request", - "required": true - }, "responses": { "200": { "description": "Data Action Response", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/DataActionResponse" } + "schema": { + "$ref": "#/components/schemas/DataActionResponse" + } } } }, @@ -4917,7 +6394,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4925,39 +6404,44 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/data_actions/form": { - "post": { - "tags": ["DataAction"], - "operationId": "fetch_remote_data_action_form", - "summary": "Fetch Remote Data Action Form", - "description": "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.", + "x-looker-activity-type": "non_query", "requestBody": { "content": { "application/json": { "schema": { - "type": "object", - "additionalProperties": { "type": "string" } + "$ref": "#/components/schemas/DataActionRequest" } } }, "description": "Data Action Request", "required": true - }, + } + } + }, + "/data_actions/form": { + "post": { + "tags": [ + "DataAction" + ], + "operationId": "fetch_remote_data_action_form", + "summary": "Fetch Remote Data Action Form", + "description": "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.", "responses": { "200": { "description": "Data Action Form", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/DataActionForm" } + "schema": { + "$ref": "#/components/schemas/DataActionForm" + } } } }, @@ -4965,7 +6449,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4973,7 +6459,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -4981,18 +6469,36 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "description": "Data Action Request", + "required": true + } } }, "/datagroups": { "get": { - "tags": ["Datagroup"], + "tags": [ + "Datagroup" + ], "operationId": "all_datagroups", "summary": "Get All Datagroups", "description": "### Get information about all datagroups.\n", @@ -5003,7 +6509,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Datagroup" } + "items": { + "$ref": "#/components/schemas/Datagroup" + } } } } @@ -5012,7 +6520,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5020,7 +6530,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -5031,7 +6543,9 @@ }, "/datagroups/{datagroup_id}": { "get": { - "tags": ["Datagroup"], + "tags": [ + "Datagroup" + ], "operationId": "datagroup", "summary": "Get Datagroup", "description": "### Get information about a datagroup.\n", @@ -5041,7 +6555,9 @@ "in": "path", "description": "ID of datagroup.", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -5049,7 +6565,9 @@ "description": "Datagroup", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Datagroup" } + "schema": { + "$ref": "#/components/schemas/Datagroup" + } } } }, @@ -5057,7 +6575,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5065,7 +6585,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -5074,7 +6596,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Datagroup"], + "tags": [ + "Datagroup" + ], "operationId": "update_datagroup", "summary": "Update Datagroup", "description": "### Update a datagroup using the specified params.\n", @@ -5084,24 +6608,19 @@ "in": "path", "description": "ID of datagroup.", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Datagroup" } - } - }, - "description": "Datagroup", - "required": true - }, "responses": { "200": { "description": "Datagroup", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Datagroup" } + "schema": { + "$ref": "#/components/schemas/Datagroup" + } } } }, @@ -5109,7 +6628,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5117,7 +6638,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5125,7 +6648,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5133,7 +6658,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -5141,18 +6668,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Datagroup" + } + } + }, + "description": "Datagroup", + "required": true + } } }, "/connections": { "get": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "all_connections", "summary": "Get All Connections", "description": "### Get information about all connections.\n", @@ -5162,7 +6704,9 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -5172,7 +6716,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/DBConnection" } + "items": { + "$ref": "#/components/schemas/DBConnection" + } } } } @@ -5181,7 +6727,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5189,7 +6737,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -5198,20 +6748,20 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "create_connection", "summary": "Create Connection", "description": "### Create a connection using the specified configuration.\n", - "requestBody": { - "$ref": "#/components/requestBodies/DBConnection", - "required": true - }, "responses": { "200": { "description": "Connection", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/DBConnection" } + "schema": { + "$ref": "#/components/schemas/DBConnection" + } } } }, @@ -5219,7 +6769,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5227,7 +6779,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5235,7 +6789,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5243,7 +6799,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -5251,35 +6809,54 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/connections/{connection_name}": { - "get": { - "tags": ["Connection"], - "operationId": "connection", - "summary": "Get Connection", - "description": "### Get information about a connection.\n", - "parameters": [ + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DBConnection" + } + } + }, + "description": "Connection", + "required": true + } + } + }, + "/connections/{connection_name}": { + "get": { + "tags": [ + "Connection" + ], + "operationId": "connection", + "summary": "Get Connection", + "description": "### Get information about a connection.\n", + "parameters": [ { "name": "connection_name", "in": "path", "description": "Name of connection", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -5287,7 +6864,9 @@ "description": "Connection", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/DBConnection" } + "schema": { + "$ref": "#/components/schemas/DBConnection" + } } } }, @@ -5295,7 +6874,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5303,7 +6884,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -5312,7 +6895,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "update_connection", "summary": "Update Connection", "description": "### Update a connection using the specified configuration.\n", @@ -5322,19 +6907,19 @@ "in": "path", "description": "Name of connection", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/DBConnection", - "required": true - }, "responses": { "200": { "description": "Connection", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/DBConnection" } + "schema": { + "$ref": "#/components/schemas/DBConnection" + } } } }, @@ -5342,7 +6927,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5350,7 +6937,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5358,7 +6947,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -5366,16 +6957,31 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DBConnection" + } + } + }, + "description": "Connection", + "required": true + } }, "delete": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "delete_connection", "summary": "Delete Connection", "description": "### Delete a connection.\n", @@ -5385,21 +6991,29 @@ "in": "path", "description": "Name of connection", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5407,7 +7021,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5415,7 +7031,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -5426,7 +7044,9 @@ }, "/connections/{connection_name}/connection_override/{override_context}": { "delete": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "delete_connection_override", "summary": "Delete Connection Override", "description": "### Delete a connection override.\n", @@ -5436,28 +7056,38 @@ "in": "path", "description": "Name of connection", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "override_context", "in": "path", "description": "Context of connection override", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5465,7 +7095,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5473,7 +7105,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -5481,7 +7115,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -5492,7 +7128,9 @@ }, "/connections/{connection_name}/test": { "put": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "test_connection", "summary": "Test Connection", "description": "### Test an existing connection.\n\nNote that a connection's 'dialect' property has a 'connection_tests' property that lists the\nspecific types of tests that the connection supports.\n\nThis API is rate limited.\n\nUnsupported tests in the request will be ignored.\n", @@ -5502,7 +7140,9 @@ "in": "path", "description": "Name of connection", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "tests", @@ -5511,7 +7151,12 @@ "required": false, "style": "simple", "explode": false, - "schema": { "type": "array", "items": { "type": "string" } } + "schema": { + "type": "array", + "items": { + "type": "string" + } + } } ], "responses": { @@ -5532,7 +7177,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5540,7 +7187,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5548,7 +7197,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -5556,7 +7207,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -5568,7 +7221,9 @@ }, "/connections/test": { "put": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "test_connection_config", "summary": "Test Connection Configuration", "description": "### Test a connection configuration.\n\nNote that a connection's 'dialect' property has a 'connection_tests' property that lists the\nspecific types of tests that the connection supports.\n\nThis API is rate limited.\n\nUnsupported tests in the request will be ignored.\n", @@ -5580,13 +7235,14 @@ "required": false, "style": "simple", "explode": false, - "schema": { "type": "array", "items": { "type": "string" } } + "schema": { + "type": "array", + "items": { + "type": "string" + } + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/DBConnection", - "required": true - }, "responses": { "200": { "description": "Test results", @@ -5605,7 +7261,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5613,7 +7271,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5621,19 +7281,34 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query", - "x-looker-rate-limited": true + "x-looker-rate-limited": true, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DBConnection" + } + } + }, + "description": "Connection", + "required": true + } } }, "/derived_table/graph/model/{model}": { "get": { - "tags": ["LookmlModel"], + "tags": [ + "LookmlModel" + ], "operationId": "graph_derived_tables_for_model", "summary": "Get Derived Table", "description": "### Discover information about derived tables\n", @@ -5643,21 +7318,27 @@ "in": "path", "description": "The name of the Lookml model.", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "format", "in": "query", "description": "The format of the graph. Valid values are [dot]. Default is `dot`", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "color", "in": "query", "description": "Color denoting the build status of the graph. Grey = not built, green = built, yellow = building, red = error.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -5665,7 +7346,9 @@ "description": "Derived Table", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/DependencyGraph" } + "schema": { + "$ref": "#/components/schemas/DependencyGraph" + } } } }, @@ -5673,7 +7356,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5681,7 +7366,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -5692,7 +7379,9 @@ }, "/dialect_info": { "get": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "all_dialect_infos", "summary": "Get All Dialect Infos", "description": "### Get information about all dialects.\n", @@ -5702,7 +7391,9 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -5712,7 +7403,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/DialectInfo" } + "items": { + "$ref": "#/components/schemas/DialectInfo" + } } } } @@ -5721,7 +7414,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5729,7 +7424,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -5740,7 +7437,9 @@ }, "/digest_emails_enabled": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "digest_emails_enabled", "summary": "Get Digest_emails", "description": "### Retrieve the value for whether or not digest emails is enabled\n", @@ -5749,7 +7448,9 @@ "description": "Digest_emails", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/DigestEmails" } + "schema": { + "$ref": "#/components/schemas/DigestEmails" + } } } }, @@ -5757,7 +7458,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5765,7 +7468,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -5774,25 +7479,20 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "update_digest_emails_enabled", "summary": "Update Digest_emails", "description": "### Update the setting for enabling/disabling digest emails\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DigestEmails" } - } - }, - "description": "Digest_emails", - "required": true - }, "responses": { "200": { "description": "Digest_emails", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/DigestEmails" } + "schema": { + "$ref": "#/components/schemas/DigestEmails" + } } } }, @@ -5800,7 +7500,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5808,7 +7510,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5816,7 +7520,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -5824,18 +7530,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DigestEmails" + } + } + }, + "description": "Digest_emails", + "required": true + } } }, "/digest_email_send": { "post": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "create_digest_email_send", "summary": "Deliver digest email contents", "description": "### Trigger the generation of digest email records and send them to Looker's internal system. This does not send\nany actual emails, it generates records containing content which may be of interest for users who have become inactive.\nEmails will be sent at a later time from Looker's internal system if the Digest Emails feature is enabled in settings.", @@ -5844,7 +7565,9 @@ "description": "Status of generating and sending the data", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/DigestEmailSend" } + "schema": { + "$ref": "#/components/schemas/DigestEmailSend" + } } } }, @@ -5852,7 +7575,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5860,7 +7585,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5868,7 +7595,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -5880,25 +7609,20 @@ }, "/embed/sso_url": { "post": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "create_sso_embed_url", "summary": "Create SSO Embed Url", "description": "### Create SSO Embed URL\n\nCreates an SSO embed URL and cryptographically signs it with an embed secret.\nThis signed URL can then be used to instantiate a Looker embed session in a PBL web application.\nDo not make any modifications to this URL - any change may invalidate the signature and\ncause the URL to fail to load a Looker embed session.\n\nA signed SSO embed URL can only be used once. After it has been used to request a page from the\nLooker server, the URL is invalid. Future requests using the same URL will fail. This is to prevent\n'replay attacks'.\n\nThe `target_url` property must be a complete URL of a Looker UI page - scheme, hostname, path and query params.\nTo 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`.\nThe best way to obtain this target_url is to navigate to the desired Looker page in your web browser,\ncopy the URL shown in the browser address bar and paste it into the `target_url` property as a quoted string value in this API request.\n\nPermissions for the embed user are defined by the groups in which the embed user is a member (group_ids property)\nand the lists of models and permissions assigned to the embed user.\nAt a minimum, you must provide values for either the group_ids property, or both the models and permissions properties.\nThese properties are additive; an embed user can be a member of certain groups AND be granted access to models and permissions.\n\nThe embed user's access is the union of permissions granted by the group_ids, models, and permissions properties.\n\nThis function does not strictly require all group_ids, user attribute names, or model names to exist at the moment the\nSSO embed url is created. Unknown group_id, user attribute names or model names will be passed through to the output URL.\nTo diagnose potential problems with an SSO embed URL, you can copy the signed URL into the Embed URI Validator text box in `/admin/embed`.\n\nThe `secret_id` parameter is optional. If specified, its value must be the id of an active secret defined in the Looker instance.\nif not specified, the URL will be signed using the newest active secret defined in the Looker instance.\n\n#### Security Note\nProtect this signed URL as you would an access token or password credentials - do not write\nit to disk, do not pass it to a third party, and only pass it through a secure HTTPS\nencrypted transport.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/EmbedSsoParams" } - } - }, - "description": "SSO parameters", - "required": true - }, "responses": { "200": { "description": "Signed SSO URL", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/EmbedUrlResponse" } + "schema": { + "$ref": "#/components/schemas/EmbedUrlResponse" + } } } }, @@ -5906,7 +7630,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5914,7 +7640,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5922,7 +7650,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5930,7 +7660,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -5938,18 +7670,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "none" + "x-looker-activity-type": "none", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EmbedSsoParams" + } + } + }, + "description": "SSO parameters", + "required": true + } } }, "/projects/{project_id}/git_branches": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "all_git_branches", "summary": "Get All Git Branches", "description": "### Get All Git Branches\n\nReturns a list of git branches in the project repository\n", @@ -5959,7 +7706,9 @@ "in": "path", "description": "Project Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -5969,7 +7718,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/GitBranch" } + "items": { + "$ref": "#/components/schemas/GitBranch" + } } } } @@ -5978,7 +7729,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -5986,7 +7739,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -5997,7 +7752,9 @@ }, "/projects/{project_id}/git_branch": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "git_branch", "summary": "Get Active Git Branch", "description": "### Get the Current Git Branch\n\nReturns the git branch currently checked out in the given project repository\n", @@ -6007,7 +7764,9 @@ "in": "path", "description": "Project Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -6015,7 +7774,9 @@ "description": "Git Branch", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/GitBranch" } + "schema": { + "$ref": "#/components/schemas/GitBranch" + } } } }, @@ -6023,7 +7784,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -6031,7 +7794,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -6040,7 +7805,9 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "create_git_branch", "summary": "Checkout New Git Branch", "description": "### Create and Checkout a Git Branch\n\nCreates and checks out a new branch in the given project repository\nOnly allowed in development mode\n - Call `update_session` to select the 'dev' workspace.\n\nOptionally specify a branch name, tag name or commit SHA as the start point in the ref field.\n If no ref is specified, HEAD of the current branch will be used as the start point for the new branch.\n\n", @@ -6050,19 +7817,19 @@ "in": "path", "description": "Project Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/GitBranch", - "required": true - }, "responses": { "200": { "description": "Git Branch", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/GitBranch" } + "schema": { + "$ref": "#/components/schemas/GitBranch" + } } } }, @@ -6070,7 +7837,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -6078,7 +7847,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -6086,7 +7857,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -6094,7 +7867,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -6102,16 +7877,31 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GitBranch" + } + } + }, + "description": "Git Branch", + "required": true + } }, "put": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "update_git_branch", "summary": "Update Project Git Branch", "description": "### Checkout and/or reset --hard an existing Git Branch\n\nOnly allowed in development mode\n - Call `update_session` to select the 'dev' workspace.\n\nCheckout an existing branch if name field is different from the name of the currently checked out branch.\n\nOptionally specify a branch name, tag name or commit SHA to which the branch should be reset.\n **DANGER** hard reset will be force pushed to the remote. Unsaved changes and commits may be permanently lost.\n\n", @@ -6121,19 +7911,19 @@ "in": "path", "description": "Project Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/GitBranch", - "required": true - }, "responses": { "200": { "description": "Git Branch", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/GitBranch" } + "schema": { + "$ref": "#/components/schemas/GitBranch" + } } } }, @@ -6141,7 +7931,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -6149,7 +7941,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -6157,7 +7951,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -6165,18 +7961,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GitBranch" + } + } + }, + "description": "Git Branch", + "required": true + } } }, "/projects/{project_id}/git_branch/{branch_name}": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "find_git_branch", "summary": "Find a Git Branch", "description": "### Get the specified Git Branch\n\nReturns the git branch specified in branch_name path param if it exists in the given project repository\n", @@ -6186,14 +7997,18 @@ "in": "path", "description": "Project Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "branch_name", "in": "path", "description": "Branch Name", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -6201,7 +8016,9 @@ "description": "Git Branch", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/GitBranch" } + "schema": { + "$ref": "#/components/schemas/GitBranch" + } } } }, @@ -6209,7 +8026,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -6217,7 +8036,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -6226,7 +8047,9 @@ "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "delete_git_branch", "summary": "Delete a Git Branch", "description": "### Delete the specified Git Branch\n\nDelete git branch specified in branch_name path param from local and remote of specified project repository\n", @@ -6236,28 +8059,38 @@ "in": "path", "description": "Project Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "branch_name", "in": "path", "description": "Branch Name", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -6265,7 +8098,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -6273,7 +8108,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -6284,7 +8121,9 @@ }, "/groups": { "get": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "all_groups", "summary": "Get All Groups", "description": "### Get information about all groups.\n", @@ -6294,28 +8133,38 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "page", "in": "query", "description": "Requested page.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "per_page", "in": "query", "description": "Results per page.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "sorts", "in": "query", "description": "Fields to sort by.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "ids", @@ -6326,7 +8175,10 @@ "explode": false, "schema": { "type": "array", - "items": { "type": "integer", "format": "int64" } + "items": { + "type": "integer", + "format": "int64" + } } }, { @@ -6334,14 +8186,19 @@ "in": "query", "description": "Id of content metadata to which groups must have access.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "can_add_to_content_metadata", "in": "query", "description": "Select only groups that either can/cannot be given access to content.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], "responses": { @@ -6351,7 +8208,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Group" } + "items": { + "$ref": "#/components/schemas/Group" + } } } } @@ -6360,7 +8219,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -6368,7 +8229,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -6377,7 +8240,9 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "create_group", "summary": "Create Group", "description": "### Creates a new group (admin only).\n", @@ -6387,19 +8252,19 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/Group", - "required": true - }, "responses": { "200": { "description": "Group", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Group" } + "schema": { + "$ref": "#/components/schemas/Group" + } } } }, @@ -6407,7 +8272,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -6415,7 +8282,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -6423,7 +8292,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -6431,7 +8302,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -6439,18 +8312,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Group" + } + } + }, + "description": "Group", + "required": true + } } }, "/groups/search": { "get": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "search_groups", "summary": "Search Groups", "description": "### Search groups\n\nReturns all group records that match the given search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", @@ -6460,70 +8348,93 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "limit", "in": "query", "description": "Number of results to return (used with `offset`).", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "offset", "in": "query", "description": "Number of results to skip before returning any (used with `limit`).", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "sorts", "in": "query", "description": "Fields to sort by.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "filter_or", "in": "query", "description": "Combine given search criteria in a boolean OR expression", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "id", "in": "query", "description": "Match group id.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "name", "in": "query", "description": "Match group name.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "external_group_id", "in": "query", "description": "Match group external_group_id.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "externally_managed", "in": "query", "description": "Match group externally_managed.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "externally_orphaned", "in": "query", "description": "Match group externally_orphaned.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], "responses": { @@ -6533,7 +8444,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Group" } + "items": { + "$ref": "#/components/schemas/Group" + } } } } @@ -6542,7 +8455,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -6550,7 +8465,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -6561,7 +8478,9 @@ }, "/groups/{group_id}": { "get": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "group", "summary": "Get Group", "description": "### Get information about a group.\n", @@ -6571,14 +8490,19 @@ "in": "path", "description": "Id of group", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -6586,7 +8510,9 @@ "description": "Group", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Group" } + "schema": { + "$ref": "#/components/schemas/Group" + } } } }, @@ -6594,7 +8520,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -6602,7 +8530,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -6611,7 +8541,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "update_group", "summary": "Update Group", "description": "### Updates the a group (admin only).", @@ -6621,26 +8553,29 @@ "in": "path", "description": "Id of group", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/Group", - "required": true - }, "responses": { "200": { "description": "Group", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Group" } + "schema": { + "$ref": "#/components/schemas/Group" + } } } }, @@ -6648,7 +8583,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -6656,7 +8593,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -6664,7 +8603,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -6672,16 +8613,31 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Group" + } + } + }, + "description": "Group", + "required": true + } }, "delete": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "delete_group", "summary": "Delete Group", "description": "### Deletes a group (admin only).\n", @@ -6691,21 +8647,30 @@ "in": "path", "description": "Id of group", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -6713,7 +8678,9 @@ "description": "Permission Denied", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -6721,7 +8688,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -6729,7 +8698,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -6740,7 +8711,9 @@ }, "/groups/{group_id}/groups": { "get": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "all_group_groups", "summary": "Get All Groups in Group", "description": "### Get information about all the groups in a group\n", @@ -6750,14 +8723,19 @@ "in": "path", "description": "Id of group", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -6767,7 +8745,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Group" } + "items": { + "$ref": "#/components/schemas/Group" + } } } } @@ -6776,7 +8756,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -6784,7 +8766,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -6793,7 +8777,9 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "add_group_group", "summary": "Add a Group to Group", "description": "### Adds a new group to a group.\n", @@ -6803,26 +8789,20 @@ "in": "path", "description": "Id of group", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GroupIdForGroupInclusion" - } - } - }, - "description": "Group id to add", - "required": true - }, "responses": { "200": { "description": "Added group.", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Group" } + "schema": { + "$ref": "#/components/schemas/Group" + } } } }, @@ -6830,7 +8810,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -6838,7 +8820,9 @@ "description": "Permission Denied", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -6846,18 +8830,33 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GroupIdForGroupInclusion" + } + } + }, + "description": "Group id to add", + "required": true + } } }, "/groups/{group_id}/users": { "get": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "all_group_users", "summary": "Get All Users in Group", "description": "### Get information about all the users directly included in a group.\n", @@ -6867,35 +8866,48 @@ "in": "path", "description": "Id of group", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "page", "in": "query", "description": "Requested page.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "per_page", "in": "query", "description": "Results per page.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "sorts", "in": "query", "description": "Fields to sort by.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -6905,7 +8917,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/User" } + "items": { + "$ref": "#/components/schemas/User" + } } } } @@ -6914,7 +8928,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -6922,7 +8938,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -6931,7 +8949,9 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "add_group_user", "summary": "Add a User to Group", "description": "### Adds a new user to a group.\n", @@ -6941,26 +8961,20 @@ "in": "path", "description": "Id of group", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GroupIdForGroupUserInclusion" - } - } - }, - "description": "User id to add", - "required": true - }, "responses": { "200": { "description": "Added user.", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/User" } + "schema": { + "$ref": "#/components/schemas/User" + } } } }, @@ -6968,7 +8982,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -6976,7 +8992,9 @@ "description": "Permission Denied", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -6984,18 +9002,33 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GroupIdForGroupUserInclusion" + } + } + }, + "description": "User id to add", + "required": true + } } }, "/groups/{group_id}/users/{user_id}": { "delete": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "delete_group_user", "summary": "Remove a User from Group", "description": "### Removes a user from a group.\n", @@ -7005,23 +9038,33 @@ "in": "path", "description": "Id of group", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "user_id", "in": "path", "description": "Id of user to remove from group", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { - "204": { "description": "User successfully removed from group" }, + "204": { + "description": "User successfully removed from group" + }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7029,7 +9072,9 @@ "description": "Permission Denied", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7037,7 +9082,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -7048,7 +9095,9 @@ }, "/groups/{group_id}/groups/{deleting_group_id}": { "delete": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "delete_group_from_group", "summary": "Deletes a Group from Group", "description": "### Removes a group from a group.\n", @@ -7058,23 +9107,33 @@ "in": "path", "description": "Id of group", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "deleting_group_id", "in": "path", "description": "Id of group to delete", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { - "204": { "description": "Group successfully deleted" }, + "204": { + "description": "Group successfully deleted" + }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7082,7 +9141,9 @@ "description": "Permission Denied", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7090,7 +9151,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -7101,7 +9164,9 @@ }, "/groups/{group_id}/attribute_values/{user_attribute_id}": { "patch": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "update_user_attribute_group_value", "summary": "Set User Attribute Group Value", "description": "### Set the value of a user attribute for a group.\n\nFor information about how user attribute values are calculated, see [Set User Attribute Group Values](#!/UserAttribute/set_user_attribute_group_values).\n", @@ -7111,27 +9176,22 @@ "in": "path", "description": "Id of group", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "user_attribute_id", "in": "path", "description": "Id of user attribute", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserAttributeGroupValue" - } - } - }, - "description": "New value for group.", - "required": true - }, "responses": { "200": { "description": "Group value object.", @@ -7147,7 +9207,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7155,7 +9217,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7163,16 +9227,31 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserAttributeGroupValue" + } + } + }, + "description": "New value for group.", + "required": true + } }, "delete": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "delete_user_attribute_group_value", "summary": "Delete User Attribute Group Value", "description": "### Remove a user attribute value from a group.\n", @@ -7182,23 +9261,33 @@ "in": "path", "description": "Id of group", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "user_attribute_id", "in": "path", "description": "Id of user attribute", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { - "204": { "description": "Value successfully unset" }, + "204": { + "description": "Value successfully unset" + }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7206,7 +9295,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -7217,7 +9308,9 @@ }, "/homepages": { "get": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "all_homepages", "summary": "Get All Homepages", "description": "### Get information about all homepages.\n", @@ -7227,7 +9320,9 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -7237,7 +9332,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Homepage" } + "items": { + "$ref": "#/components/schemas/Homepage" + } } } } @@ -7246,7 +9343,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7254,7 +9353,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -7264,7 +9365,9 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "create_homepage", "summary": "Create Homepage", "description": "### Create a new homepage.\n", @@ -7274,19 +9377,19 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/Homepage", - "required": true - }, "responses": { "200": { "description": "Homepage", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Homepage" } + "schema": { + "$ref": "#/components/schemas/Homepage" + } } } }, @@ -7294,7 +9397,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7302,7 +9407,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7310,7 +9417,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7318,7 +9427,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -7326,19 +9437,34 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "deprecated": true, "x-looker-status": "deprecated", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Homepage" + } + } + }, + "description": "Homepage", + "required": true + } } }, "/homepages/search": { "get": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "search_homepages", "summary": "Search Homepages", "description": "### Search Homepages\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", @@ -7348,91 +9474,121 @@ "in": "query", "description": "Matches homepage title.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "created_at", "in": "query", "description": "Matches the timestamp for when the homepage was created.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "first_name", "in": "query", "description": "The first name of the user who created this homepage.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "last_name", "in": "query", "description": "The last name of the user who created this homepage.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "favorited", "in": "query", "description": "Return favorited homepages when true.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "creator_id", "in": "query", "description": "Filter on homepages created by a particular user.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "page", "in": "query", "description": "The page to return.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "per_page", "in": "query", "description": "The number of items in the returned page.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "offset", "in": "query", "description": "The number of items to skip before returning any. (used with limit and takes priority over page and per_page)", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "limit", "in": "query", "description": "The maximum number of items to return. (used with offset and takes priority over page and per_page)", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "sorts", "in": "query", "description": "The fields to sort the results by.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "filter_or", "in": "query", "description": "Combine given search criteria in a boolean OR expression", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], "responses": { @@ -7442,7 +9598,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Homepage" } + "items": { + "$ref": "#/components/schemas/Homepage" + } } } } @@ -7451,7 +9609,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7459,7 +9619,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -7471,7 +9633,9 @@ }, "/homepages/{homepage_id}": { "get": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "homepage", "summary": "Get Homepage", "description": "### Get information about a homepage.\n", @@ -7481,14 +9645,19 @@ "in": "path", "description": "Id of homepage", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -7496,7 +9665,9 @@ "description": "Homepage", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Homepage" } + "schema": { + "$ref": "#/components/schemas/Homepage" + } } } }, @@ -7504,7 +9675,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7512,7 +9685,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -7522,7 +9697,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "update_homepage", "summary": "Update Homepage", "description": "### Update a homepage definition.\n", @@ -7532,26 +9709,29 @@ "in": "path", "description": "Id of homepage", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/Homepage", - "required": true - }, "responses": { "200": { "description": "Homepage", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Homepage" } + "schema": { + "$ref": "#/components/schemas/Homepage" + } } } }, @@ -7559,7 +9739,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7567,7 +9749,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7575,7 +9759,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -7583,17 +9769,32 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "deprecated": true, "x-looker-status": "deprecated", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Homepage" + } + } + }, + "description": "Homepage", + "required": true + } }, "delete": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "delete_homepage", "summary": "Delete Homepage", "description": "### Delete a homepage.\n", @@ -7603,21 +9804,30 @@ "in": "path", "description": "Id of homepage", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7625,7 +9835,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7633,7 +9845,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -7645,7 +9859,9 @@ }, "/homepage_items": { "get": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "all_homepage_items", "summary": "Get All Homepage Items", "description": "### Get information about all homepage items.\n", @@ -7655,21 +9871,27 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "sorts", "in": "query", "description": "Fields to sort by.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "homepage_section_id", "in": "query", "description": "Filter to a specific homepage section", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -7679,7 +9901,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/HomepageItem" } + "items": { + "$ref": "#/components/schemas/HomepageItem" + } } } } @@ -7688,7 +9912,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7696,7 +9922,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -7706,7 +9934,9 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "create_homepage_item", "summary": "Create Homepage Item", "description": "### Create a new homepage item.\n", @@ -7716,19 +9946,19 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/HomepageItem", - "required": true - }, "responses": { "200": { "description": "Homepage Item", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/HomepageItem" } + "schema": { + "$ref": "#/components/schemas/HomepageItem" + } } } }, @@ -7736,7 +9966,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7744,7 +9976,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7752,7 +9986,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7760,7 +9996,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -7768,19 +10006,34 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } + "schema": { + "$ref": "#/components/schemas/Error" + } + } } } }, "deprecated": true, "x-looker-status": "deprecated", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HomepageItem" + } + } + }, + "description": "Homepage Item", + "required": true + } } }, "/homepage_items/{homepage_item_id}": { "get": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "homepage_item", "summary": "Get Homepage Item", "description": "### Get information about a homepage item.\n", @@ -7790,14 +10043,19 @@ "in": "path", "description": "Id of homepage item", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -7805,7 +10063,9 @@ "description": "Homepage Item", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/HomepageItem" } + "schema": { + "$ref": "#/components/schemas/HomepageItem" + } } } }, @@ -7813,7 +10073,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7821,7 +10083,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -7831,7 +10095,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "update_homepage_item", "summary": "Update Homepage Item", "description": "### Update a homepage item definition.\n", @@ -7841,26 +10107,29 @@ "in": "path", "description": "Id of homepage item", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/HomepageItem", - "required": true - }, "responses": { "200": { "description": "Homepage Item", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/HomepageItem" } + "schema": { + "$ref": "#/components/schemas/HomepageItem" + } } } }, @@ -7868,7 +10137,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7876,7 +10147,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7884,7 +10157,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -7892,17 +10167,32 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "deprecated": true, "x-looker-status": "deprecated", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HomepageItem" + } + } + }, + "description": "Homepage Item", + "required": true + } }, "delete": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "delete_homepage_item", "summary": "Delete Homepage Item", "description": "### Delete a homepage item.\n", @@ -7912,21 +10202,30 @@ "in": "path", "description": "Id of homepage_item", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7934,7 +10233,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7942,7 +10243,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -7954,7 +10257,9 @@ }, "/homepage_sections": { "get": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "all_homepage_sections", "summary": "Get All Homepage sections", "description": "### Get information about all homepage sections.\n", @@ -7964,14 +10269,18 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "sorts", "in": "query", "description": "Fields to sort by.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -7981,7 +10290,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/HomepageSection" } + "items": { + "$ref": "#/components/schemas/HomepageSection" + } } } } @@ -7990,7 +10301,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -7998,7 +10311,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -8008,7 +10323,9 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "create_homepage_section", "summary": "Create Homepage section", "description": "### Create a new homepage section.\n", @@ -8018,19 +10335,19 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/HomepageSection", - "required": true - }, "responses": { "200": { "description": "Homepage section", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/HomepageSection" } + "schema": { + "$ref": "#/components/schemas/HomepageSection" + } } } }, @@ -8038,7 +10355,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8046,7 +10365,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8054,7 +10375,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8062,7 +10385,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -8070,19 +10395,34 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "deprecated": true, "x-looker-status": "deprecated", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HomepageSection" + } + } + }, + "description": "Homepage section", + "required": true + } } }, "/homepage_sections/{homepage_section_id}": { "get": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "homepage_section", "summary": "Get Homepage section", "description": "### Get information about a homepage section.\n", @@ -8092,14 +10432,19 @@ "in": "path", "description": "Id of homepage section", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -8107,7 +10452,9 @@ "description": "Homepage section", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/HomepageSection" } + "schema": { + "$ref": "#/components/schemas/HomepageSection" + } } } }, @@ -8115,7 +10462,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8123,7 +10472,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -8133,7 +10484,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "update_homepage_section", "summary": "Update Homepage section", "description": "### Update a homepage section definition.\n", @@ -8143,26 +10496,29 @@ "in": "path", "description": "Id of homepage section", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/HomepageSection", - "required": true - }, "responses": { "200": { "description": "Homepage section", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/HomepageSection" } + "schema": { + "$ref": "#/components/schemas/HomepageSection" + } } } }, @@ -8170,7 +10526,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8178,7 +10536,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8186,7 +10546,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -8194,17 +10556,32 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "deprecated": true, "x-looker-status": "deprecated", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HomepageSection" + } + } + }, + "description": "Homepage section", + "required": true + } }, "delete": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "delete_homepage_section", "summary": "Delete Homepage section", "description": "### Delete a homepage section.\n", @@ -8214,21 +10591,30 @@ "in": "path", "description": "Id of homepage_section", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8236,7 +10622,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8244,7 +10632,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -8256,7 +10646,9 @@ }, "/primary_homepage_sections": { "get": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "all_primary_homepage_sections", "summary": "Get All Primary homepage sections", "description": "### Get information about the primary homepage's sections.\n", @@ -8266,7 +10658,9 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -8276,7 +10670,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/HomepageSection" } + "items": { + "$ref": "#/components/schemas/HomepageSection" + } } } } @@ -8285,7 +10681,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8293,7 +10691,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -8304,7 +10704,9 @@ }, "/integration_hubs": { "get": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "all_integration_hubs", "summary": "Get All Integration Hubs", "description": "### Get information about all Integration Hubs.\n", @@ -8314,7 +10716,9 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -8324,7 +10728,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/IntegrationHub" } + "items": { + "$ref": "#/components/schemas/IntegrationHub" + } } } } @@ -8333,7 +10739,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8341,7 +10749,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -8350,7 +10760,9 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "create_integration_hub", "summary": "Create Integration Hub", "description": "### Create a new Integration Hub.\n\nThis API is rate limited to prevent it from being used for SSRF attacks\n", @@ -8360,19 +10772,19 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/IntegrationHub", - "required": true - }, "responses": { "200": { "description": "Integration Hub", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/IntegrationHub" } + "schema": { + "$ref": "#/components/schemas/IntegrationHub" + } } } }, @@ -8380,7 +10792,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8388,7 +10802,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8396,7 +10812,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8404,7 +10822,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -8412,19 +10832,34 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query", - "x-looker-rate-limited": true + "x-looker-rate-limited": true, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IntegrationHub" + } + } + }, + "description": "Integration Hub", + "required": true + } } }, "/integration_hubs/{integration_hub_id}": { "get": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "integration_hub", "summary": "Get Integration Hub", "description": "### Get information about a Integration Hub.\n", @@ -8434,14 +10869,19 @@ "in": "path", "description": "Id of Integration Hub", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -8449,7 +10889,9 @@ "description": "Integration Hub", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/IntegrationHub" } + "schema": { + "$ref": "#/components/schemas/IntegrationHub" + } } } }, @@ -8457,7 +10899,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8465,7 +10909,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -8474,7 +10920,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "update_integration_hub", "summary": "Update Integration Hub", "description": "### Update a Integration Hub definition.\n\nThis API is rate limited to prevent it from being used for SSRF attacks\n", @@ -8484,26 +10932,29 @@ "in": "path", "description": "Id of Integration Hub", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/IntegrationHub", - "required": true - }, "responses": { "200": { "description": "Integration Hub", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/IntegrationHub" } + "schema": { + "$ref": "#/components/schemas/IntegrationHub" + } } } }, @@ -8511,7 +10962,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8519,7 +10972,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8527,7 +10982,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -8535,17 +10992,32 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query", - "x-looker-rate-limited": true + "x-looker-rate-limited": true, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IntegrationHub" + } + } + }, + "description": "Integration Hub", + "required": true + } }, "delete": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "delete_integration_hub", "summary": "Delete Integration Hub", "description": "### Delete a Integration Hub.\n", @@ -8555,21 +11027,30 @@ "in": "path", "description": "Id of integration_hub", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8577,7 +11058,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8585,7 +11068,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -8596,7 +11081,9 @@ }, "/integration_hubs/{integration_hub_id}/accept_legal_agreement": { "post": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "accept_integration_hub_legal_agreement", "summary": "Accept Integration Hub Legal Agreement", "description": "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.", @@ -8606,7 +11093,10 @@ "in": "path", "description": "Id of integration_hub", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { @@ -8614,15 +11104,19 @@ "description": "Integration hub", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/IntegrationHub" } - } + "schema": { + "$ref": "#/components/schemas/IntegrationHub" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8630,7 +11124,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8638,7 +11134,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } } @@ -8649,7 +11147,9 @@ }, "/integrations": { "get": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "all_integrations", "summary": "Get All Integrations", "description": "### Get information about all Integrations.\n", @@ -8659,14 +11159,18 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "integration_hub_id", "in": "query", "description": "Filter to a specific provider", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -8676,7 +11180,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Integration" } + "items": { + "$ref": "#/components/schemas/Integration" + } } } } @@ -8685,7 +11191,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8693,7 +11201,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -8704,7 +11214,9 @@ }, "/integrations/{integration_id}": { "get": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "integration", "summary": "Get Integration", "description": "### Get information about a Integration.\n", @@ -8714,14 +11226,18 @@ "in": "path", "description": "Id of integration", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -8729,7 +11245,9 @@ "description": "Integration", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Integration" } + "schema": { + "$ref": "#/components/schemas/Integration" + } } } }, @@ -8737,7 +11255,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8745,7 +11265,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -8754,7 +11276,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "update_integration", "summary": "Update Integration", "description": "### Update parameters on a Integration.\n", @@ -8764,31 +11288,28 @@ "in": "path", "description": "Id of integration", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Integration" } - } - }, - "description": "Integration", - "required": true - }, "responses": { "200": { "description": "Integration", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Integration" } + "schema": { + "$ref": "#/components/schemas/Integration" + } } } }, @@ -8796,7 +11317,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8804,7 +11327,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8812,7 +11337,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -8820,18 +11347,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Integration" + } + } + }, + "description": "Integration", + "required": true + } } }, "/integrations/{integration_id}/form": { "post": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "fetch_integration_form", "summary": "Fetch Remote Integration Form", "description": "Returns the Integration form for presentation to the user.", @@ -8841,27 +11383,19 @@ "in": "path", "description": "Id of integration", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": { "type": "string" } - } - } - }, - "description": "Integration Form Request", - "required": false - }, "responses": { "200": { "description": "Data Action Form", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/DataActionForm" } + "schema": { + "$ref": "#/components/schemas/DataActionForm" + } } } }, @@ -8869,7 +11403,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8877,7 +11413,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8885,18 +11423,36 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "description": "Integration Form Request", + "required": false + } } }, "/integrations/{integration_id}/test": { "post": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "test_integration", "summary": "Test integration", "description": "Tests the integration to make sure all the settings are working.", @@ -8906,7 +11462,9 @@ "in": "path", "description": "Id of integration", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -8924,7 +11482,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8932,7 +11492,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8940,7 +11502,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } } @@ -8951,7 +11515,9 @@ }, "/internal_help_resources_content": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "internal_help_resources_content", "summary": "Get Internal Help Resources Content", "description": "### Set the menu item name and content for internal help resources\n", @@ -8970,7 +11536,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -8978,7 +11546,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -8987,21 +11557,12 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "update_internal_help_resources_content", "summary": "Update internal help resources content", "description": "Update internal help resources content\n", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/InternalHelpResourcesContent" - } - } - }, - "description": "Internal Help Resources Content", - "required": true - }, "responses": { "200": { "description": "Internal Help Resources Content", @@ -9017,7 +11578,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9025,7 +11588,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9033,7 +11598,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -9041,18 +11608,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InternalHelpResourcesContent" + } + } + }, + "description": "Internal Help Resources Content", + "required": true + } } }, "/internal_help_resources_enabled": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "internal_help_resources", "summary": "Get Internal Help Resources", "description": "### Get and set the options for internal help resources\n", @@ -9071,7 +11653,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9079,7 +11663,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -9090,19 +11676,12 @@ }, "/internal_help_resources": { "patch": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "update_internal_help_resources", "summary": "Update internal help resources configuration", "description": "Update internal help resources settings\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/InternalHelpResources" } - } - }, - "description": "Custom Welcome Email", - "required": true - }, "responses": { "200": { "description": "Custom Welcome Email", @@ -9118,7 +11697,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9126,7 +11707,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9134,7 +11717,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -9142,18 +11727,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InternalHelpResources" + } + } + }, + "description": "Custom Welcome Email", + "required": true + } } }, "/ldap_config": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "ldap_config", "summary": "Get LDAP Configuration", "description": "### Get the LDAP configuration.\n\nLooker can be optionally configured to authenticate users against an Active Directory or other LDAP directory server.\nLDAP setup requires coordination with an administrator of that directory server.\n\nOnly Looker administrators can read and update the LDAP configuration.\n\nConfiguring LDAP impacts authentication for all users. This configuration should be done carefully.\n\nLooker 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).\n\nLDAP is enabled or disabled for Looker using the **enabled** field.\n\nLooker will never return an **auth_password** field. That value can be set, but never retrieved.\n\nSee the [Looker LDAP docs](https://www.looker.com/docs/r/api/ldap_setup) for additional information.\n", @@ -9162,7 +11762,9 @@ "description": "LDAP Configuration.", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/LDAPConfig" } + "schema": { + "$ref": "#/components/schemas/LDAPConfig" + } } } }, @@ -9170,7 +11772,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -9179,20 +11783,20 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "update_ldap_config", "summary": "Update LDAP Configuration", "description": "### Update the LDAP configuration.\n\nConfiguring LDAP impacts authentication for all users. This configuration should be done carefully.\n\nOnly Looker administrators can read and update the LDAP configuration.\n\nLDAP is enabled or disabled for Looker using the **enabled** field.\n\nIt is **highly** recommended that any LDAP setting changes be tested using the APIs below before being set globally.\n\nSee the [Looker LDAP docs](https://www.looker.com/docs/r/api/ldap_setup) for additional information.\n", - "requestBody": { - "$ref": "#/components/requestBodies/LDAPConfig", - "required": true - }, "responses": { "200": { "description": "New state for LDAP Configuration.", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/LDAPConfig" } + "schema": { + "$ref": "#/components/schemas/LDAPConfig" + } } } }, @@ -9200,7 +11804,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9208,7 +11814,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9216,25 +11824,36 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LDAPConfig" + } + } + }, + "description": "LDAP Config", + "required": true + } } }, "/ldap_config/test_connection": { "put": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "test_ldap_config_connection", "summary": "Test LDAP Connection", "description": "### Test the connection settings for an LDAP configuration.\n\nThis tests that the connection is possible given a connection_host and connection_port.\n\n**connection_host** and **connection_port** are required. **connection_tls** is optional.\n\nExample:\n```json\n{\n \"connection_host\": \"ldap.example.com\",\n \"connection_port\": \"636\",\n \"connection_tls\": true\n}\n```\n\nNo authentication to the LDAP server is attempted.\n\nThe active LDAP settings are not modified.\n", - "requestBody": { - "$ref": "#/components/requestBodies/LDAPConfig", - "required": true - }, "responses": { "200": { "description": "Result info.", @@ -9250,7 +11869,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9258,7 +11879,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9266,25 +11889,36 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LDAPConfig" + } + } + }, + "description": "LDAP Config", + "required": true + } } }, "/ldap_config/test_auth": { "put": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "test_ldap_config_auth", "summary": "Test LDAP Auth", "description": "### Test the connection authentication settings for an LDAP configuration.\n\nThis 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.\n\n**connection_host**, **connection_port**, and **auth_username**, are required. **connection_tls** and **auth_password** are optional.\n\nExample:\n```json\n{\n \"connection_host\": \"ldap.example.com\",\n \"connection_port\": \"636\",\n \"connection_tls\": true,\n \"auth_username\": \"cn=looker,dc=example,dc=com\",\n \"auth_password\": \"secret\"\n}\n```\n\nLooker 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.\n\nThe active LDAP settings are not modified.\n\n", - "requestBody": { - "$ref": "#/components/requestBodies/LDAPConfig", - "required": true - }, "responses": { "200": { "description": "Result info.", @@ -9300,7 +11934,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9308,7 +11944,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9316,25 +11954,36 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LDAPConfig" + } + } + }, + "description": "LDAP Config", + "required": true + } } }, "/ldap_config/test_user_info": { "put": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "test_ldap_config_user_info", "summary": "Test LDAP User Info", "description": "### Test the user authentication settings for an LDAP configuration without authenticating the user.\n\nThis test will let you easily test the mapping for user properties and roles for any user without needing to authenticate as that user.\n\nThis test accepts a full LDAP configuration along with a username and attempts to find the full info for the user from the LDAP server without actually authenticating the user. So, user password is not required.The configuration is validated before attempting to contact the server.\n\n**test_ldap_user** is required.\n\nThe active LDAP settings are not modified.\n\n", - "requestBody": { - "$ref": "#/components/requestBodies/LDAPConfig", - "required": true - }, "responses": { "200": { "description": "Result info.", @@ -9350,7 +11999,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9358,7 +12009,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9366,25 +12019,36 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LDAPConfig" + } + } + }, + "description": "LDAP Config", + "required": true + } } }, "/ldap_config/test_user_auth": { "put": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "test_ldap_config_user_auth", "summary": "Test LDAP User Auth", "description": "### Test the user authentication settings for an LDAP configuration.\n\nThis 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.\n\nLooker 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.\n\n**test_ldap_user** and **test_ldap_password** are required.\n\nThe active LDAP settings are not modified.\n\n", - "requestBody": { - "$ref": "#/components/requestBodies/LDAPConfig", - "required": true - }, "responses": { "200": { "description": "Result info.", @@ -9400,7 +12064,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9408,7 +12074,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9416,18 +12084,33 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LDAPConfig" + } + } + }, + "description": "LDAP Config", + "required": true + } } }, "/legacy_features": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "all_legacy_features", "summary": "Get All Legacy Features", "description": "### Get all legacy features.\n", @@ -9438,7 +12121,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/LegacyFeature" } + "items": { + "$ref": "#/components/schemas/LegacyFeature" + } } } } @@ -9447,7 +12132,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9455,7 +12142,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -9466,7 +12155,9 @@ }, "/legacy_features/{legacy_feature_id}": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "legacy_feature", "summary": "Get Legacy Feature", "description": "### Get information about the legacy feature with a specific id.\n", @@ -9476,7 +12167,10 @@ "in": "path", "description": "id of legacy feature", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { @@ -9484,7 +12178,9 @@ "description": "Legacy Feature", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/LegacyFeature" } + "schema": { + "$ref": "#/components/schemas/LegacyFeature" + } } } }, @@ -9492,7 +12188,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9500,7 +12198,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -9509,7 +12209,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "update_legacy_feature", "summary": "Update Legacy Feature", "description": "### Update information about the legacy feature with a specific id.\n", @@ -9519,24 +12221,20 @@ "in": "path", "description": "id of legacy feature", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/LegacyFeature" } - } - }, - "description": "Legacy Feature", - "required": true - }, "responses": { "200": { "description": "Legacy Feature", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/LegacyFeature" } + "schema": { + "$ref": "#/components/schemas/LegacyFeature" + } } } }, @@ -9544,7 +12242,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9552,7 +12252,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9560,7 +12262,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -9568,18 +12272,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LegacyFeature" + } + } + }, + "description": "Legacy Feature", + "required": true + } } }, "/locales": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "all_locales", "summary": "Get All Locales", "description": "### Get a list of locales that Looker supports.\n", @@ -9590,7 +12309,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Locale" } + "items": { + "$ref": "#/components/schemas/Locale" + } } } } @@ -9599,7 +12320,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9607,7 +12330,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -9618,7 +12343,9 @@ }, "/looks": { "get": { - "tags": ["Look"], + "tags": [ + "Look" + ], "operationId": "all_looks", "summary": "Get All Looks", "description": "### Get information about all active Looks\n\nReturns an array of **abbreviated Look objects** describing all the looks that the caller has access to. Soft-deleted Looks are **not** included.\n\nGet the **full details** of a specific look by id with [look(id)](#!/Look/look)\n\nFind **soft-deleted looks** with [search_looks()](#!/Look/search_looks)\n", @@ -9628,7 +12355,9 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -9638,7 +12367,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Look" } + "items": { + "$ref": "#/components/schemas/Look" + } } } } @@ -9647,7 +12378,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9655,7 +12388,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -9664,7 +12399,9 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Look"], + "tags": [ + "Look" + ], "operationId": "create_look", "summary": "Create Look", "description": "### Create a Look\n\nTo create a look to display query data, first create the query with [create_query()](#!/Query/create_query)\nthen assign the query's id to the `query_id` property in the call to `create_look()`.\n\nTo place the look into a particular space, assign the space's id to the `space_id` property\nin the call to `create_look()`.\n", @@ -9674,19 +12411,19 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/LookWithQuery", - "required": true - }, "responses": { "200": { "description": "Look", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/LookWithQuery" } + "schema": { + "$ref": "#/components/schemas/LookWithQuery" + } } } }, @@ -9694,7 +12431,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9702,7 +12441,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9710,7 +12451,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9718,7 +12461,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -9726,18 +12471,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LookWithQuery" + } + } + }, + "description": "Look", + "required": true + } } }, "/looks/search": { "get": { - "tags": ["Look"], + "tags": [ + "Look" + ], "operationId": "search_looks", "summary": "Search Looks", "description": "### Search Looks\n\nReturns an **array of Look objects** that match the specified search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\nGet a **single look** by id with [look(id)](#!/Look/look)\n", @@ -9747,119 +12507,159 @@ "in": "query", "description": "Match look id.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "title", "in": "query", "description": "Match Look title.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "description", "in": "query", "description": "Match Look description.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "content_favorite_id", "in": "query", "description": "Select looks with a particular content favorite id", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "space_id", "in": "query", "description": "Select looks in a particular space.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "user_id", "in": "query", "description": "Select looks created by a particular user.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "view_count", "in": "query", "description": "Select looks with particular view_count value", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "deleted", "in": "query", "description": "Select soft-deleted looks", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "query_id", "in": "query", "description": "Select looks that reference a particular query by query_id", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "curate", "in": "query", "description": "Exclude items that exist only in personal spaces other than the users", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "page", "in": "query", "description": "Requested page.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "per_page", "in": "query", "description": "Results per page.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "limit", "in": "query", "description": "Number of results to return. (used with offset and takes priority over page and per_page)", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "offset", "in": "query", "description": "Number of results to skip before returning any. (used with limit and takes priority over page and per_page)", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "sorts", "in": "query", "description": "One or more fields to sort results by. Sortable fields: [:title, :user_id, :id, :created_at, :space_id, :folder_id, :description, :updated_at, :last_updater_id, :view_count, :favorite_count, :content_favorite_id, :deleted, :deleted_at, :last_viewed_at, :last_accessed_at, :query_id]", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "filter_or", "in": "query", "description": "Combine given search criteria in a boolean OR expression", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], "responses": { @@ -9869,7 +12669,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Look" } + "items": { + "$ref": "#/components/schemas/Look" + } } } } @@ -9878,7 +12680,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9886,7 +12690,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -9897,7 +12703,9 @@ }, "/looks/{look_id}": { "get": { - "tags": ["Look"], + "tags": [ + "Look" + ], "operationId": "look", "summary": "Get Look", "description": "### Get a Look.\n\nReturns detailed information about a Look and its associated Query.\n\n", @@ -9907,14 +12715,19 @@ "in": "path", "description": "Id of look", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -9922,7 +12735,9 @@ "description": "Look", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/LookWithQuery" } + "schema": { + "$ref": "#/components/schemas/LookWithQuery" + } } } }, @@ -9930,7 +12745,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9938,7 +12755,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -9947,7 +12766,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Look"], + "tags": [ + "Look" + ], "operationId": "update_look", "summary": "Update Look", "description": "### Modify a Look\n\nUse this function to modify parts of a look. Property values given in a call to `update_look` are\napplied to the existing look, so there's no need to include properties whose values are not changing.\nIt's best to specify only the properties you want to change and leave everything else out\nof your `update_look` call. **Look properties marked 'read-only' will be ignored.**\n\nWhen a user deletes a look in the Looker UI, the look data remains in the database but is\nmarked with a deleted flag (\"soft-deleted\"). Soft-deleted looks can be undeleted (by an admin)\nif the delete was in error.\n\nTo soft-delete a look via the API, use [update_look()](#!/Look/update_look) to change the look's `deleted` property to `true`.\nYou can undelete a look by calling `update_look` to change the look's `deleted` property to `false`.\n\nSoft-deleted looks are excluded from the results of [all_looks()](#!/Look/all_looks) and [search_looks()](#!/Look/search_looks), so they\nessentially disappear from view even though they still reside in the db.\nIn API 3.1 and later, you can pass `deleted: true` as a parameter to [search_looks()](#!/3.1/Look/search_looks) to list soft-deleted looks.\n\nNOTE: [delete_look()](#!/Look/delete_look) performs a \"hard delete\" - the look data is removed from the Looker\ndatabase and destroyed. There is no \"undo\" for `delete_look()`.\n", @@ -9957,26 +12778,29 @@ "in": "path", "description": "Id of look", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/LookWithQuery", - "required": true - }, "responses": { "200": { "description": "Look", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/LookWithQuery" } + "schema": { + "$ref": "#/components/schemas/LookWithQuery" + } } } }, @@ -9984,7 +12808,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -9992,7 +12818,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -10000,7 +12828,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -10008,16 +12838,31 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LookWithQuery" + } + } + }, + "description": "Look", + "required": true + } }, "delete": { - "tags": ["Look"], + "tags": [ + "Look" + ], "operationId": "delete_look", "summary": "Delete Look", "description": "### Permanently Delete a Look\n\nThis operation **permanently** removes a look from the Looker database.\n\nNOTE: There is no \"undo\" for this kind of delete.\n\nFor information about soft-delete (which can be undone) see [update_look()](#!/Look/update_look).\n", @@ -10027,21 +12872,30 @@ "in": "path", "description": "Id of look", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -10049,7 +12903,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -10057,7 +12913,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -10068,7 +12926,9 @@ }, "/looks/{look_id}/run/{result_format}": { "get": { - "tags": ["Look"], + "tags": [ + "Look" + ], "operationId": "run_look", "summary": "Run Look", "description": "### Run a Look\n\nRuns a given look's query and returns the results in the requested format.\n\nSupported formats:\n\n| result_format | Description\n| :-----------: | :--- |\n| json | Plain json\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| md | Simple markdown\n| xlsx | MS Excel spreadsheet\n| sql | Returns the generated SQL rather than running the query\n| png | A PNG image of the visualization of the query\n| jpg | A JPG image of the visualization of the query\n\n\n", @@ -10078,137 +12938,205 @@ "in": "path", "description": "Id of look", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "result_format", "in": "path", "description": "Format of result", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "limit", "in": "query", "description": "Row limit (may override the limit in the saved query).", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "apply_formatting", "in": "query", "description": "Apply model-specified formatting to each result.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "apply_vis", "in": "query", "description": "Apply visualization options to results.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "cache", "in": "query", "description": "Get results from cache if available.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "image_width", "in": "query", "description": "Render width for image formats.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "image_height", "in": "query", "description": "Render height for image formats.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "generate_drill_links", "in": "query", "description": "Generate drill links (only applicable to 'json_detail' format.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "force_production", "in": "query", "description": "Force use of production models even if the user is in development mode.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "cache_only", "in": "query", "description": "Retrieve any results from cache even if the results have expired.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "path_prefix", "in": "query", "description": "Prefix to use for drill links (url encoded).", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "rebuild_pdts", "in": "query", "description": "Rebuild PDTS used in query.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "server_table_calcs", "in": "query", "description": "Perform table calculations on query results", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], "responses": { "200": { "description": "Look", "content": { - "text": { "schema": { "type": "string" } }, - "application/json": { "schema": { "type": "string" } }, - "image/png": { "schema": { "type": "string" } }, - "image/jpeg": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, + "text": { + "schema": { + "type": "string" + } + }, "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "type": "string" + } }, "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } - }, + "schema": { + "type": "string" + } + }, + "image/jpeg": { + "schema": { + "type": "string" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "text": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, + "image/png": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, "404": { "description": "Not Found", "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, + "text": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -10216,31 +13144,49 @@ "description": "Validation Error", "content": { "text": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } }, "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } }, "image/png": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } }, "image/jpeg": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, "429": { "description": "Too Many Requests", "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, + "text": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -10251,7 +13197,9 @@ }, "/lookml_models": { "get": { - "tags": ["LookmlModel"], + "tags": [ + "LookmlModel" + ], "operationId": "all_lookml_models", "summary": "Get All LookML Models", "description": "### Get information about all lookml models.\n", @@ -10261,7 +13209,9 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -10271,7 +13221,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/LookmlModel" } + "items": { + "$ref": "#/components/schemas/LookmlModel" + } } } } @@ -10280,7 +13232,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -10288,7 +13242,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -10297,20 +13253,20 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["LookmlModel"], + "tags": [ + "LookmlModel" + ], "operationId": "create_lookml_model", "summary": "Create LookML Model", "description": "### Create a lookml model using the specified configuration.\n", - "requestBody": { - "$ref": "#/components/requestBodies/LookmlModel", - "required": true - }, "responses": { "200": { "description": "LookML Model", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/LookmlModel" } + "schema": { + "$ref": "#/components/schemas/LookmlModel" + } } } }, @@ -10318,7 +13274,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -10326,7 +13284,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -10334,7 +13294,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -10342,7 +13304,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -10350,18 +13314,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LookmlModel" + } + } + }, + "description": "LookML Model", + "required": true + } } }, "/lookml_models/{lookml_model_name}": { "get": { - "tags": ["LookmlModel"], + "tags": [ + "LookmlModel" + ], "operationId": "lookml_model", "summary": "Get LookML Model", "description": "### Get information about a lookml model.\n", @@ -10371,14 +13350,18 @@ "in": "path", "description": "Name of lookml model.", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -10386,7 +13369,9 @@ "description": "LookML Model", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/LookmlModel" } + "schema": { + "$ref": "#/components/schemas/LookmlModel" + } } } }, @@ -10394,7 +13379,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -10402,7 +13389,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -10411,7 +13400,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["LookmlModel"], + "tags": [ + "LookmlModel" + ], "operationId": "update_lookml_model", "summary": "Update LookML Model", "description": "### Update a lookml model using the specified configuration.\n", @@ -10421,19 +13412,19 @@ "in": "path", "description": "Name of lookml model.", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/LookmlModel", - "required": true - }, "responses": { "200": { "description": "LookML Model", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/LookmlModel" } + "schema": { + "$ref": "#/components/schemas/LookmlModel" + } } } }, @@ -10441,7 +13432,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -10449,7 +13442,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -10457,7 +13452,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -10465,16 +13462,31 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LookmlModel" + } + } + }, + "description": "LookML Model", + "required": true + } }, "delete": { - "tags": ["LookmlModel"], + "tags": [ + "LookmlModel" + ], "operationId": "delete_lookml_model", "summary": "Delete LookML Model", "description": "### Delete a lookml model.\n", @@ -10484,21 +13496,29 @@ "in": "path", "description": "Name of lookml model.", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -10506,7 +13526,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -10514,7 +13536,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -10525,7 +13549,9 @@ }, "/lookml_models/{lookml_model_name}/explores/{explore_name}": { "get": { - "tags": ["LookmlModel"], + "tags": [ + "LookmlModel" + ], "operationId": "lookml_model_explore", "summary": "Get LookML Model Explore", "description": "### Get information about a lookml model explore.\n", @@ -10535,21 +13561,27 @@ "in": "path", "description": "Name of lookml model.", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "explore_name", "in": "path", "description": "Name of explore.", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -10557,7 +13589,9 @@ "description": "LookML Model Explore", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/LookmlModelExplore" } + "schema": { + "$ref": "#/components/schemas/LookmlModelExplore" + } } } }, @@ -10565,7 +13599,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -10573,7 +13609,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -10584,7 +13622,9 @@ }, "/merge_queries/{merge_query_id}": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "merge_query", "summary": "Get Merge Query", "description": "### Get Merge Query\n\nReturns a merge query object given its id.\n", @@ -10594,14 +13634,18 @@ "in": "path", "description": "Merge Query Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -10609,7 +13653,9 @@ "description": "Merge Query", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/MergeQuery" } + "schema": { + "$ref": "#/components/schemas/MergeQuery" + } } } }, @@ -10617,7 +13663,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -10625,7 +13673,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -10636,7 +13686,9 @@ }, "/merge_queries": { "post": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "create_merge_query", "summary": "Create Merge Query", "description": "### Create Merge Query\n\nCreates a new merge query object.\n\nA merge query takes the results of one or more queries and combines (merges) the results\naccording to field mapping definitions. The result is similar to a SQL left outer join.\n\nA merge query can merge results of queries from different SQL databases.\n\nThe order that queries are defined in the source_queries array property is significant. The\nfirst query in the array defines the primary key into which the results of subsequent\nqueries will be merged.\n\nLike model/view query objects, merge queries are immutable and have structural identity - if\nyou make a request to create a new merge query that is identical to an existing merge query,\nthe existing merge query will be returned instead of creating a duplicate. Conversely, any\nchange to the contents of a merge query will produce a new object with a new id.\n", @@ -10646,24 +13698,19 @@ "in": "query", "description": "Requested fields", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/MergeQuery" } - } - }, - "description": "Merge Query", - "required": false - }, "responses": { "200": { "description": "Merge Query", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/MergeQuery" } + "schema": { + "$ref": "#/components/schemas/MergeQuery" + } } } }, @@ -10671,7 +13718,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -10679,7 +13728,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -10687,7 +13738,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -10695,7 +13748,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -10703,18 +13758,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "db_query" + "x-looker-activity-type": "db_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MergeQuery" + } + } + }, + "description": "Merge Query", + "required": false + } } }, "/model_sets/search": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "search_model_sets", "summary": "Search Model Sets", "description": "### Search model sets\nReturns all model set records that match the given search criteria.\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", @@ -10724,63 +13794,84 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "limit", "in": "query", "description": "Number of results to return (used with `offset`).", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "offset", "in": "query", "description": "Number of results to skip before returning any (used with `limit`).", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "sorts", "in": "query", "description": "Fields to sort by.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "id", "in": "query", "description": "Match model set id.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "name", "in": "query", "description": "Match model set name.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "all_access", "in": "query", "description": "Match model sets by all_access status.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "built_in", "in": "query", "description": "Match model sets by built_in status.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "filter_or", "in": "query", "description": "Combine given search criteria in a boolean OR expression.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], "responses": { @@ -10790,7 +13881,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/ModelSet" } + "items": { + "$ref": "#/components/schemas/ModelSet" + } } } } @@ -10799,7 +13892,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -10807,7 +13902,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -10818,7 +13915,9 @@ }, "/model_sets/{model_set_id}": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "model_set", "summary": "Get Model Set", "description": "### Get information about the model set with a specific id.\n", @@ -10828,14 +13927,19 @@ "in": "path", "description": "Id of model set", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -10843,7 +13947,9 @@ "description": "Specified model set.", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ModelSet" } + "schema": { + "$ref": "#/components/schemas/ModelSet" + } } } }, @@ -10851,7 +13957,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -10859,7 +13967,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -10868,7 +13978,9 @@ "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "delete_model_set", "summary": "Delete Model Set", "description": "### Delete the model set with a specific id.\n", @@ -10878,21 +13990,30 @@ "in": "path", "description": "id of model set", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { "204": { "description": "Model set succssfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -10900,7 +14021,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -10908,7 +14031,9 @@ "description": "Resource Can't Be Modified", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -10917,7 +14042,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "update_model_set", "summary": "Update Model Set", "description": "### Update information about the model set with a specific id.\n", @@ -10927,19 +14054,20 @@ "in": "path", "description": "id of model set", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/ModelSet", - "required": true - }, "responses": { "200": { "description": "New state for specified model set.", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ModelSet" } + "schema": { + "$ref": "#/components/schemas/ModelSet" + } } } }, @@ -10947,7 +14075,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -10955,7 +14085,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -10963,7 +14095,9 @@ "description": "Resource Can't Be Modified", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -10971,18 +14105,33 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModelSet" + } + } + }, + "description": "ModelSet", + "required": true + } } }, "/model_sets": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "all_model_sets", "summary": "Get All Model Sets", "description": "### Get information about all model sets.\n", @@ -10992,7 +14141,9 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -11002,7 +14153,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/ModelSet" } + "items": { + "$ref": "#/components/schemas/ModelSet" + } } } } @@ -11011,7 +14164,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -11020,20 +14175,20 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "create_model_set", "summary": "Create Model Set", "description": "### Create a model set with the specified information. Model sets are used by Roles.\n", - "requestBody": { - "$ref": "#/components/requestBodies/ModelSet", - "required": true - }, "responses": { "200": { "description": "Newly created ModelSet", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ModelSet" } + "schema": { + "$ref": "#/components/schemas/ModelSet" + } } } }, @@ -11041,7 +14196,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11049,7 +14206,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11057,7 +14216,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11065,18 +14226,33 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModelSet" + } + } + }, + "description": "ModelSet", + "required": true + } } }, "/oidc_config": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "oidc_config", "summary": "Get OIDC Configuration", "description": "### Get the OIDC configuration.\n\nLooker can be optionally configured to authenticate users against an OpenID Connect (OIDC)\nauthentication server. OIDC setup requires coordination with an administrator of that server.\n\nOnly Looker administrators can read and update the OIDC configuration.\n\nConfiguring OIDC impacts authentication for all users. This configuration should be done carefully.\n\nLooker maintains a single OIDC configuation. 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).\n\nOIDC is enabled or disabled for Looker using the **enabled** field.\n", @@ -11085,7 +14261,9 @@ "description": "OIDC Configuration.", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/OIDCConfig" } + "schema": { + "$ref": "#/components/schemas/OIDCConfig" + } } } }, @@ -11093,7 +14271,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -11102,25 +14282,20 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "update_oidc_config", "summary": "Update OIDC Configuration", "description": "### Update the OIDC configuration.\n\nConfiguring OIDC impacts authentication for all users. This configuration should be done carefully.\n\nOnly Looker administrators can read and update the OIDC configuration.\n\nOIDC is enabled or disabled for Looker using the **enabled** field.\n\nIt is **highly** recommended that any OIDC setting changes be tested using the APIs below before being set globally.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/OIDCConfig" } - } - }, - "description": "OIDC Config", - "required": true - }, "responses": { "200": { "description": "New state for OIDC Configuration.", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/OIDCConfig" } + "schema": { + "$ref": "#/components/schemas/OIDCConfig" + } } } }, @@ -11128,7 +14303,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11136,7 +14313,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11144,18 +14323,33 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OIDCConfig" + } + } + }, + "description": "OIDC Config", + "required": true + } } }, "/oidc_test_configs/{test_slug}": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "oidc_test_config", "summary": "Get OIDC Test Configuration", "description": "### Get a OIDC test configuration by test_slug.\n", @@ -11165,7 +14359,9 @@ "in": "path", "description": "Slug of test config", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -11173,7 +14369,9 @@ "description": "OIDC test config.", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/OIDCConfig" } + "schema": { + "$ref": "#/components/schemas/OIDCConfig" + } } } }, @@ -11181,7 +14379,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -11190,7 +14390,9 @@ "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "delete_oidc_test_config", "summary": "Delete OIDC Test Configuration", "description": "### Delete a OIDC test configuration.\n", @@ -11200,21 +14402,29 @@ "in": "path", "description": "Slug of test config", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "204": { "description": "Test config succssfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11222,7 +14432,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -11233,25 +14445,20 @@ }, "/oidc_test_configs": { "post": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "create_oidc_test_config", "summary": "Create OIDC Test Configuration", "description": "### Create a OIDC test configuration.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/OIDCConfig" } - } - }, - "description": "OIDC test config", - "required": true - }, "responses": { "200": { "description": "OIDC test config", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/OIDCConfig" } + "schema": { + "$ref": "#/components/schemas/OIDCConfig" + } } } }, @@ -11259,7 +14466,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11267,7 +14476,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11275,18 +14486,33 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OIDCConfig" + } + } + }, + "description": "OIDC test config", + "required": true + } } }, "/password_config": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "password_config", "summary": "Get Password Config", "description": "### Get password config.\n", @@ -11295,7 +14521,9 @@ "description": "Password Config", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/PasswordConfig" } + "schema": { + "$ref": "#/components/schemas/PasswordConfig" + } } } }, @@ -11303,7 +14531,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11311,7 +14541,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -11320,25 +14552,20 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "update_password_config", "summary": "Update Password Config", "description": "### Update password config.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/PasswordConfig" } - } - }, - "description": "Password Config", - "required": true - }, "responses": { "200": { "description": "Password Config", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/PasswordConfig" } + "schema": { + "$ref": "#/components/schemas/PasswordConfig" + } } } }, @@ -11346,7 +14573,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11354,7 +14583,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11362,7 +14593,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -11370,18 +14603,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PasswordConfig" + } + } + }, + "description": "Password Config", + "required": true + } } }, "/password_config/force_password_reset_at_next_login_for_all_users": { "put": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "force_password_reset_at_next_login_for_all_users", "summary": "Force password reset", "description": "### Force all credentials_email users to reset their login passwords upon their next login.\n", @@ -11389,14 +14637,20 @@ "200": { "description": "Password Config", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11404,7 +14658,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11412,7 +14668,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -11420,7 +14678,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -11431,7 +14691,9 @@ }, "/permissions": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "all_permissions", "summary": "Get All Permissions", "description": "### Get all supported permissions.\n", @@ -11442,7 +14704,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Permission" } + "items": { + "$ref": "#/components/schemas/Permission" + } } } } @@ -11451,7 +14715,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11459,7 +14725,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -11470,7 +14738,9 @@ }, "/permission_sets/search": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "search_permission_sets", "summary": "Search Permission Sets", "description": "### Search permission sets\nReturns all permission set records that match the given search criteria.\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", @@ -11480,63 +14750,84 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "limit", "in": "query", "description": "Number of results to return (used with `offset`).", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "offset", "in": "query", "description": "Number of results to skip before returning any (used with `limit`).", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "sorts", "in": "query", "description": "Fields to sort by.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "id", "in": "query", "description": "Match permission set id.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "name", "in": "query", "description": "Match permission set name.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "all_access", "in": "query", "description": "Match permission sets by all_access status.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "built_in", "in": "query", "description": "Match permission sets by built_in status.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "filter_or", "in": "query", "description": "Combine given search criteria in a boolean OR expression.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], "responses": { @@ -11546,7 +14837,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/PermissionSet" } + "items": { + "$ref": "#/components/schemas/PermissionSet" + } } } } @@ -11555,7 +14848,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11563,7 +14858,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -11574,7 +14871,9 @@ }, "/permission_sets/{permission_set_id}": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "permission_set", "summary": "Get Permission Set", "description": "### Get information about the permission set with a specific id.\n", @@ -11584,14 +14883,19 @@ "in": "path", "description": "Id of permission set", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -11599,7 +14903,9 @@ "description": "Permission Set", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/PermissionSet" } + "schema": { + "$ref": "#/components/schemas/PermissionSet" + } } } }, @@ -11607,7 +14913,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11615,7 +14923,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -11624,7 +14934,9 @@ "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "delete_permission_set", "summary": "Delete Permission Set", "description": "### Delete the permission set with a specific id.\n", @@ -11634,21 +14946,30 @@ "in": "path", "description": "Id of permission set", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11656,7 +14977,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11664,7 +14987,9 @@ "description": "Resource Can't Be Modified", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11672,7 +14997,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -11681,7 +15008,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "update_permission_set", "summary": "Update Permission Set", "description": "### Update information about the permission set with a specific id.\n", @@ -11691,19 +15020,20 @@ "in": "path", "description": "id of permission set", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/PermissionSet", - "required": true - }, "responses": { "200": { "description": "Permission Set", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/PermissionSet" } + "schema": { + "$ref": "#/components/schemas/PermissionSet" + } } } }, @@ -11711,7 +15041,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11719,7 +15051,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11727,7 +15061,9 @@ "description": "Resource Can't Be Modified", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11735,7 +15071,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -11743,18 +15081,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/permission_sets": { + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PermissionSet" + } + } + }, + "description": "Permission Set", + "required": true + } + } + }, + "/permission_sets": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "all_permission_sets", "summary": "Get All Permission Sets", "description": "### Get information about all permission sets.\n", @@ -11764,7 +15117,9 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -11774,7 +15129,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/PermissionSet" } + "items": { + "$ref": "#/components/schemas/PermissionSet" + } } } } @@ -11783,7 +15140,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11791,7 +15150,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -11800,20 +15161,20 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "create_permission_set", "summary": "Create Permission Set", "description": "### Create a permission set with the specified information. Permission sets are used by Roles.\n", - "requestBody": { - "$ref": "#/components/requestBodies/PermissionSet", - "required": true - }, "responses": { "200": { "description": "Permission Set", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/PermissionSet" } + "schema": { + "$ref": "#/components/schemas/PermissionSet" + } } } }, @@ -11821,7 +15182,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11829,7 +15192,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11837,7 +15202,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11845,7 +15212,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -11853,18 +15222,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PermissionSet" + } + } + }, + "description": "Permission Set", + "required": true + } } }, "/projects/{project_id}/deploy_ref_to_production": { "post": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "deploy_ref_to_production", "summary": "Deploy Remote Branch or Ref to Production", "description": "### Deploy a Remote Branch or Ref to Production\n\nGit must have been configured and deploy permission required.\n\nDeploy is a one/two step process\n1. If this is the first deploy of this project, create the production project with git repository.\n2. Pull the branch or ref into the production project.\n\nCan only specify either a branch or a ref.\n\n", @@ -11874,28 +15258,38 @@ "in": "path", "description": "Id of project", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "branch", "in": "query", "description": "Branch to deploy to production", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "ref", "in": "query", "description": "Ref to deploy to production", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "200": { "description": "Project", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "204": { @@ -11905,7 +15299,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11913,7 +15309,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11921,7 +15319,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -11929,7 +15329,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -11940,7 +15342,9 @@ }, "/projects/{project_id}/deploy_to_production": { "post": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "deploy_to_production", "summary": "Deploy To Production", "description": "### Deploy LookML from this Development Mode Project to Production\n\nGit must have been configured, must be in dev mode and deploy permission required\n\nDeploy is a two / three step process:\n\n1. Push commits in current branch of dev mode project to the production branch (origin/master).\n Note a. This step is skipped in read-only projects.\n Note b. If this step is unsuccessful for any reason (e.g. rejected non-fastforward because production branch has\n commits not in current branch), subsequent steps will be skipped.\n2. If this is the first deploy of this project, create the production project with git repository.\n3. Pull the production branch into the production project.\n\n", @@ -11950,14 +15354,20 @@ "in": "path", "description": "Id of project", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "200": { "description": "Project", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "204": { @@ -11967,7 +15377,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11975,7 +15387,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -11983,7 +15397,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -11991,7 +15407,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -12002,7 +15420,9 @@ }, "/projects/{project_id}/reset_to_production": { "post": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "reset_project_to_production", "summary": "Reset To Production", "description": "### Reset a project to the revision of the project that is in production.\n\n**DANGER** this will delete any changes that have not been pushed to a remote repository.\n", @@ -12012,14 +15432,20 @@ "in": "path", "description": "Id of project", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "200": { "description": "Project", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "204": { @@ -12029,7 +15455,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12037,7 +15465,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12045,7 +15475,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -12053,7 +15485,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -12064,7 +15498,9 @@ }, "/projects/{project_id}/reset_to_remote": { "post": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "reset_project_to_remote", "summary": "Reset To Remote", "description": "### Reset a project development branch to the revision of the project that is on the remote.\n\n**DANGER** this will delete any changes that have not been pushed to a remote repository.\n", @@ -12074,14 +15510,20 @@ "in": "path", "description": "Id of project", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "200": { "description": "Project", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "204": { @@ -12091,7 +15533,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12099,7 +15543,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12107,7 +15553,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -12115,7 +15563,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -12126,7 +15576,9 @@ }, "/projects": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "all_projects", "summary": "Get All Projects", "description": "### Get All Projects\n\nReturns all projects visible to the current user\n", @@ -12136,7 +15588,9 @@ "in": "query", "description": "Requested fields", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -12146,7 +15600,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Project" } + "items": { + "$ref": "#/components/schemas/Project" + } } } } @@ -12155,7 +15611,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12163,7 +15621,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -12172,20 +15632,20 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "create_project", "summary": "Create Project", "description": "### Create A Project\n\ndev mode required.\n- Call `update_session` to select the 'dev' workspace.\n\n`name` is required.\n`git_remote_url` is not allowed. To configure Git for the newly created project, follow the instructions in `update_project`.\n\n", - "requestBody": { - "$ref": "#/components/requestBodies/Project", - "required": true - }, "responses": { "200": { "description": "Project", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Project" } + "schema": { + "$ref": "#/components/schemas/Project" + } } } }, @@ -12193,7 +15653,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12201,7 +15663,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12209,7 +15673,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12217,7 +15683,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -12225,18 +15693,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Project" + } + } + }, + "description": "Project", + "required": true + } } }, "/projects/{project_id}": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "project", "summary": "Get Project", "description": "### Get A Project\n\nReturns the project with the given project id\n", @@ -12246,14 +15729,18 @@ "in": "path", "description": "Project Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -12261,7 +15748,9 @@ "description": "Project", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Project" } + "schema": { + "$ref": "#/components/schemas/Project" + } } } }, @@ -12269,7 +15758,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12277,7 +15768,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -12286,7 +15779,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "update_project", "summary": "Update Project", "description": "### Update Project Configuration\n\nApply changes to a project's configuration.\n\n\n#### Configuring Git for a Project\n\nTo set up a Looker project with a remote git repository, follow these steps:\n\n1. Call `update_session` to select the 'dev' workspace.\n1. Call `create_git_deploy_key` to create a new deploy key for the project\n1. Copy the deploy key text into the remote git repository's ssh key configuration\n1. Call `update_project` to set project's `git_remote_url` ()and `git_service_name`, if necessary).\n\nWhen you modify a project's `git_remote_url`, Looker connects to the remote repository to fetch\nmetadata. The remote git repository MUST be configured with the Looker-generated deploy\nkey for this project prior to setting the project's `git_remote_url`.\n\nTo set up a Looker project with a git repository residing on the Looker server (a 'bare' git repo):\n\n1. Call `update_session` to select the 'dev' workspace.\n1. Call `update_project` setting `git_remote_url` to null and `git_service_name` to \"bare\".\n\n", @@ -12296,26 +15791,28 @@ "in": "path", "description": "Project Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/Project", - "required": true - }, "responses": { "200": { "description": "Project", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Project" } + "schema": { + "$ref": "#/components/schemas/Project" + } } } }, @@ -12323,7 +15820,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12331,7 +15830,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12339,7 +15840,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12347,7 +15850,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -12355,7 +15860,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12363,18 +15870,33 @@ "description": "Server Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Project" + } + } + }, + "description": "Project", + "required": true + } } }, "/projects/{project_id}/manifest": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "manifest", "summary": "Get Manifest", "description": "### Get A Projects Manifest object\n\nReturns the project with the given project id\n", @@ -12384,7 +15906,9 @@ "in": "path", "description": "Project Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -12392,7 +15916,9 @@ "description": "Manifest", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Manifest" } + "schema": { + "$ref": "#/components/schemas/Manifest" + } } } }, @@ -12400,7 +15926,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12408,7 +15936,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -12419,7 +15949,9 @@ }, "/projects/{project_id}/git/deploy_key": { "post": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "create_git_deploy_key", "summary": "Create Deploy Key", "description": "### Create Git Deploy Key\n\nCreate a public/private key pair for authenticating ssh git requests from Looker to a remote git repository\nfor a particular Looker project.\n\nReturns the public key of the generated ssh key pair.\n\nCopy this public key to your remote git repository's ssh keys configuration so that the remote git service can\nvalidate and accept git requests from the Looker server.\n", @@ -12429,19 +15961,29 @@ "in": "path", "description": "Project Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "200": { "description": "Project", - "content": { "text/plain": { "schema": { "type": "string" } } } + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } }, "400": { "description": "Bad Request", "content": { "text/plain": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12449,7 +15991,9 @@ "description": "Not Found", "content": { "text/plain": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12457,7 +16001,9 @@ "description": "Resource Already Exists", "content": { "text/plain": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12465,7 +16011,9 @@ "description": "Validation Error", "content": { "text/plain": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -12473,7 +16021,9 @@ "description": "Too Many Requests", "content": { "text/plain": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -12482,7 +16032,9 @@ "x-looker-activity-type": "non_query" }, "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "git_deploy_key", "summary": "Git Deploy Key", "description": "### Git Deploy Key\n\nReturns the ssh public key previously created for a project's git repository.\n", @@ -12492,19 +16044,29 @@ "in": "path", "description": "Project Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "200": { "description": "The text of the public key portion of the deploy_key", - "content": { "text/plain": { "schema": { "type": "string" } } } + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } }, "400": { "description": "Bad Request", "content": { "text/plain": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12512,7 +16074,9 @@ "description": "Not Found", "content": { "text/plain": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -12523,7 +16087,9 @@ }, "/projects/{project_id}/validate": { "post": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "validate_project", "summary": "Validate Project", "description": "### Validate Project\n\nPerforms lint validation of all lookml files in the project.\nReturns a list of errors found, if any.\n\nValidating the content of all the files in a project can be computationally intensive\nfor large projects. For best performance, call `validate_project(project_id)` only\nwhen you really want to recompute project validation. To quickly display the results of\nthe most recent project validation (without recomputing), use `project_validation_results(project_id)`\n", @@ -12533,14 +16099,18 @@ "in": "path", "description": "Project Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -12548,7 +16118,9 @@ "description": "Project validation results", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ProjectValidation" } + "schema": { + "$ref": "#/components/schemas/ProjectValidation" + } } } }, @@ -12556,7 +16128,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12564,7 +16138,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12572,7 +16148,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -12580,7 +16158,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -12589,7 +16169,9 @@ "x-looker-activity-type": "non_query" }, "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "project_validation_results", "summary": "Cached Project Validation Results", "description": "### Get Cached Project Validation Results\n\nReturns the cached results of a previous project validation calculation, if any.\nReturns http status 204 No Content if no validation results exist.\n\nValidating the content of all the files in a project can be computationally intensive\nfor large projects. Use this API to simply fetch the results of the most recent\nproject validation rather than revalidating the entire project from scratch.\n\nA value of `\"stale\": true` in the response indicates that the project has changed since\nthe cached validation results were computed. The cached validation results may no longer\nreflect the current state of the project.\n", @@ -12599,14 +16181,18 @@ "in": "path", "description": "Project Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -12620,12 +16206,16 @@ } } }, - "204": { "description": "Deleted" }, + "204": { + "description": "Deleted" + }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12633,7 +16223,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -12644,7 +16236,9 @@ }, "/projects/{project_id}/current_workspace": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "project_workspace", "summary": "Get Project Workspace", "description": "### Get Project Workspace\n\nReturns information about the state of the project files in the currently selected workspace\n", @@ -12654,14 +16248,18 @@ "in": "path", "description": "Project Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -12669,7 +16267,9 @@ "description": "Project Workspace", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ProjectWorkspace" } + "schema": { + "$ref": "#/components/schemas/ProjectWorkspace" + } } } }, @@ -12677,7 +16277,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12685,7 +16287,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -12696,7 +16300,9 @@ }, "/projects/{project_id}/files": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "all_project_files", "summary": "Get All Project Files", "description": "### Get All Project Files\n\nReturns a list of the files in the project\n", @@ -12706,14 +16312,18 @@ "in": "path", "description": "Project Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -12723,7 +16333,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/ProjectFile" } + "items": { + "$ref": "#/components/schemas/ProjectFile" + } } } } @@ -12732,7 +16344,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12740,7 +16354,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -12751,7 +16367,9 @@ }, "/projects/{project_id}/files/file": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "project_file", "summary": "Get Project File", "description": "### Get Project File Info\n\nReturns information about a file in the project\n", @@ -12761,21 +16379,27 @@ "in": "path", "description": "Project Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "file_id", "in": "query", "description": "File Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -12783,7 +16407,9 @@ "description": "Project File", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ProjectFile" } + "schema": { + "$ref": "#/components/schemas/ProjectFile" + } } } }, @@ -12791,7 +16417,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12799,7 +16427,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -12810,7 +16440,9 @@ }, "/projects/{project_id}/git_connection_tests": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "all_git_connection_tests", "summary": "Get All Git Connection Tests", "description": "### Get All Git Connection Tests\n\ndev mode required.\n - Call `update_session` to select the 'dev' workspace.\n\nReturns 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.\n\nTests 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.\n\nFor example, a late-stage test for write access is meaningless if connecting to the git server (an early test) is failing.\n", @@ -12820,14 +16452,18 @@ "in": "path", "description": "Project Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "remote_url", "in": "query", "description": "(Optional: leave blank for root project) The remote url for remote dependency to test.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -12837,7 +16473,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/GitConnectionTest" } + "items": { + "$ref": "#/components/schemas/GitConnectionTest" + } } } } @@ -12846,7 +16484,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12854,7 +16494,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -12865,7 +16507,9 @@ }, "/projects/{project_id}/git_connection_tests/{test_id}": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "run_git_connection_test", "summary": "Run Git Connection Test", "description": "### Run a git connection test\n\nRun 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\nis intended to help debug git connections when things do not work properly, to give\nmore helpful information about why a git url is not working with Looker.\n\nTests should be run in the order they are returned by [Get All Git Connection Tests](#!/Project/all_git_connection_tests).\n", @@ -12875,28 +16519,36 @@ "in": "path", "description": "Project Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "test_id", "in": "path", "description": "Test Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "remote_url", "in": "query", "description": "(Optional: leave blank for root project) The remote url for remote dependency to test.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "use_production", "in": "query", "description": "(Optional: leave blank for dev credentials) Whether to use git production credentials.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -12914,7 +16566,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12922,7 +16576,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12930,7 +16586,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -12938,7 +16596,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -12949,7 +16609,9 @@ }, "/projects/{project_id}/lookml_tests": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "all_lookml_tests", "summary": "Get All LookML Tests", "description": "### Get All LookML Tests\n\nReturns a list of tests which can be run to validate a project's LookML code and/or the underlying data,\noptionally filtered by the file id.\nCall [Run LookML Test](#!/Project/run_lookml_test) to execute tests.\n", @@ -12959,14 +16621,18 @@ "in": "path", "description": "Project Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "file_id", "in": "query", "description": "File Id", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -12976,7 +16642,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/LookmlTest" } + "items": { + "$ref": "#/components/schemas/LookmlTest" + } } } } @@ -12985,7 +16653,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -12993,7 +16663,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -13004,7 +16676,9 @@ }, "/projects/{project_id}/lookml_tests/run": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "run_lookml_test", "summary": "Run LookML Test", "description": "### Run LookML Tests\n\nRuns all tests in the project, optionally filtered by file, test, and/or model.\n", @@ -13014,28 +16688,36 @@ "in": "path", "description": "Project Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "file_id", "in": "query", "description": "File Name", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "test", "in": "query", "description": "Test Name", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "model", "in": "query", "description": "Model Name", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -13045,7 +16727,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/LookmlTestResult" } + "items": { + "$ref": "#/components/schemas/LookmlTestResult" + } } } } @@ -13054,7 +16738,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -13062,7 +16748,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -13070,7 +16758,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -13078,7 +16768,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -13089,7 +16781,9 @@ }, "/render_tasks/lookml_dashboards/{dashboard_id}/{result_format}": { "post": { - "tags": ["RenderTask"], + "tags": [ + "RenderTask" + ], "operationId": "create_lookml_dashboard_render_task", "summary": "Create Lookml Dashboard Render Task", "description": "### Create a new task to render a lookml dashboard to a document or image.\n\n# DEPRECATED: Use [create_dashboard_render_task()](#!/RenderTask/create_dashboard_render_task) in API 4.0+\n\nReturns a render task object.\nTo check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\nOnce the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n\n", @@ -13099,61 +16793,75 @@ "in": "path", "description": "Id of lookml dashboard to render", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "result_format", "in": "path", "description": "Output type: pdf, png, or jpg", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "width", "in": "query", "description": "Output width in pixels", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "height", "in": "query", "description": "Output height in pixels", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "pdf_paper_size", "in": "query", "description": "Paper size for pdf. Value can be one of: [\"letter\",\"legal\",\"tabloid\",\"a0\",\"a1\",\"a2\",\"a3\",\"a4\",\"a5\"]", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "pdf_landscape", "in": "query", "description": "Whether to render pdf in landscape", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/CreateDashboardRenderTask", - "required": true - }, "responses": { "200": { "description": "Render Task", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/RenderTask" } + "schema": { + "$ref": "#/components/schemas/RenderTask" + } } } }, @@ -13161,7 +16869,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -13169,7 +16879,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -13177,7 +16889,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -13185,7 +16899,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -13193,19 +16909,34 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "deprecated": true, "x-looker-status": "deprecated", - "x-looker-activity-type": "db_query" + "x-looker-activity-type": "db_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateDashboardRenderTask" + } + } + }, + "description": "Dashboard render task parameters", + "required": true + } } }, "/render_tasks/looks/{look_id}/{result_format}": { "post": { - "tags": ["RenderTask"], + "tags": [ + "RenderTask" + ], "operationId": "create_look_render_task", "summary": "Create Look Render Task", "description": "### Create a new task to render a look to an image.\n\nReturns a render task object.\nTo check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\nOnce the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n\n", @@ -13215,35 +16946,48 @@ "in": "path", "description": "Id of look to render", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "result_format", "in": "path", "description": "Output type: png, or jpg", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "width", "in": "query", "description": "Output width in pixels", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "height", "in": "query", "description": "Output height in pixels", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -13251,7 +16995,9 @@ "description": "Render Task", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/RenderTask" } + "schema": { + "$ref": "#/components/schemas/RenderTask" + } } } }, @@ -13259,7 +17005,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -13267,7 +17015,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -13275,7 +17025,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -13283,7 +17035,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -13291,7 +17045,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -13302,7 +17058,9 @@ }, "/render_tasks/queries/{query_id}/{result_format}": { "post": { - "tags": ["RenderTask"], + "tags": [ + "RenderTask" + ], "operationId": "create_query_render_task", "summary": "Create Query Render Task", "description": "### Create a new task to render an existing query to an image.\n\nReturns a render task object.\nTo check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\nOnce the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n\n", @@ -13312,35 +17070,48 @@ "in": "path", "description": "Id of the query to render", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "result_format", "in": "path", "description": "Output type: png or jpg", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "width", "in": "query", "description": "Output width in pixels", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "height", "in": "query", "description": "Output height in pixels", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -13348,7 +17119,9 @@ "description": "Render Task", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/RenderTask" } + "schema": { + "$ref": "#/components/schemas/RenderTask" + } } } }, @@ -13356,7 +17129,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -13364,7 +17139,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -13372,7 +17149,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -13380,7 +17159,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -13388,7 +17169,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -13399,7 +17182,9 @@ }, "/render_tasks/dashboards/{dashboard_id}/{result_format}": { "post": { - "tags": ["RenderTask"], + "tags": [ + "RenderTask" + ], "operationId": "create_dashboard_render_task", "summary": "Create Dashboard Render Task", "description": "### Create a new task to render a dashboard to a document or image.\n\nReturns a render task object.\nTo check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\nOnce the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n\n", @@ -13409,61 +17194,76 @@ "in": "path", "description": "Id of dashboard to render", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "result_format", "in": "path", "description": "Output type: pdf, png, or jpg", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "width", "in": "query", "description": "Output width in pixels", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "height", "in": "query", "description": "Output height in pixels", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "pdf_paper_size", "in": "query", "description": "Paper size for pdf. Value can be one of: [\"letter\",\"legal\",\"tabloid\",\"a0\",\"a1\",\"a2\",\"a3\",\"a4\",\"a5\"]", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "pdf_landscape", "in": "query", "description": "Whether to render pdf in landscape paper orientation", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/CreateDashboardRenderTask", - "required": true - }, "responses": { "200": { "description": "Render Task", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/RenderTask" } + "schema": { + "$ref": "#/components/schemas/RenderTask" + } } } }, @@ -13471,7 +17271,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -13479,7 +17281,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -13487,7 +17291,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -13495,7 +17301,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -13503,18 +17311,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "db_query" + "x-looker-activity-type": "db_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateDashboardRenderTask" + } + } + }, + "description": "Dashboard render task parameters", + "required": true + } } }, "/render_tasks/{render_task_id}": { "get": { - "tags": ["RenderTask"], + "tags": [ + "RenderTask" + ], "operationId": "render_task", "summary": "Get Render Task", "description": "### Get information about a render task.\n\nReturns a render task object.\nTo check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\nOnce the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n\n", @@ -13524,14 +17347,18 @@ "in": "path", "description": "Id of render task", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -13539,7 +17366,9 @@ "description": "Render Task", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/RenderTask" } + "schema": { + "$ref": "#/components/schemas/RenderTask" + } } } }, @@ -13547,7 +17376,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -13555,7 +17386,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -13566,7 +17399,9 @@ }, "/render_tasks/{render_task_id}/results": { "get": { - "tags": ["RenderTask"], + "tags": [ + "RenderTask" + ], "operationId": "render_task_results", "summary": "Render Task Results", "description": "### Get the document or image produced by a completed render task.\n\nNote that the PDF or image result will be a binary blob in the HTTP response, as indicated by the\nContent-Type in the response headers. This may require specialized (or at least different) handling than text\nresponses such as JSON. You may need to tell your HTTP client that the response is binary so that it does not\nattempt to parse the binary data as text.\n\nIf the render task exists but has not finished rendering the results, the response HTTP status will be\n**202 Accepted**, the response body will be empty, and the response will have a Retry-After header indicating\nthat the caller should repeat the request at a later time.\n\nReturns 404 if the render task cannot be found, if the cached result has expired, or if the caller\ndoes not have permission to view the results.\n\nFor detailed information about the status of the render task, use [Render Task](#!/RenderTask/render_task).\nPolling loops waiting for completion of a render task would be better served by polling **render_task(id)** until\nthe task status reaches completion (or error) instead of polling **render_task_results(id)** alone.\n", @@ -13576,30 +17411,52 @@ "in": "path", "description": "Id of render task", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "200": { "description": "Document or image", "content": { - "image/jpeg": { "schema": { "type": "string" } }, - "image/png": { "schema": { "type": "string" } }, - "application/pdf": { "schema": { "type": "string" } } + "image/jpeg": { + "schema": { + "type": "string" + } + }, + "image/png": { + "schema": { + "type": "string" + } + }, + "application/pdf": { + "schema": { + "type": "string" + } + } } }, - "202": { "description": "Accepted" }, + "202": { + "description": "Accepted" + }, "400": { "description": "Bad Request", "content": { "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "application/pdf": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -13607,13 +17464,19 @@ "description": "Not Found", "content": { "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "application/pdf": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -13624,7 +17487,9 @@ }, "/projects/{root_project_id}/credential/{credential_id}": { "put": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "update_repository_credential", "summary": "Create Repository Credential", "description": "### Configure Repository Credential for a remote dependency\n\nAdmin required.\n\n`root_project_id` is required.\n`credential_id` is required.\n\n", @@ -13634,25 +17499,20 @@ "in": "path", "description": "Root Project Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "credential_id", "in": "path", "description": "Credential Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/RepositoryCredential" } - } - }, - "description": "Remote Project Information", - "required": true - }, "responses": { "200": { "description": "Repository Credential", @@ -13668,7 +17528,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -13676,7 +17538,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -13684,7 +17548,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -13692,7 +17558,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -13700,16 +17568,31 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RepositoryCredential" + } + } + }, + "description": "Remote Project Information", + "required": true + } }, "delete": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "delete_repository_credential", "summary": "Delete Repository Credential", "description": "### Repository Credential for a remote dependency\n\nAdmin required.\n\n`root_project_id` is required.\n`credential_id` is required.\n", @@ -13719,28 +17602,38 @@ "in": "path", "description": "Root Project Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "credential_id", "in": "path", "description": "Credential Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -13748,7 +17641,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -13756,7 +17651,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -13767,7 +17664,9 @@ }, "/projects/{root_project_id}/credentials": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "get_all_repository_credentials", "summary": "Get All Repository Credentials", "description": "### Get all Repository Credentials for a project\n\n`root_project_id` is required.\n", @@ -13777,7 +17676,9 @@ "in": "path", "description": "Root Project Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -13798,7 +17699,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -13806,7 +17709,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -13817,7 +17722,9 @@ }, "/roles": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "all_roles", "summary": "Get All Roles", "description": "### Get information about all roles.\n", @@ -13827,7 +17734,9 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "ids", @@ -13838,7 +17747,10 @@ "explode": false, "schema": { "type": "array", - "items": { "type": "integer", "format": "int64" } + "items": { + "type": "integer", + "format": "int64" + } } } ], @@ -13849,7 +17761,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Role" } + "items": { + "$ref": "#/components/schemas/Role" + } } } } @@ -13858,7 +17772,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -13866,7 +17782,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -13875,20 +17793,20 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "create_role", "summary": "Create Role", "description": "### Create a role with the specified information.\n", - "requestBody": { - "$ref": "#/components/requestBodies/Role", - "required": true - }, "responses": { "200": { "description": "Role", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Role" } + "schema": { + "$ref": "#/components/schemas/Role" + } } } }, @@ -13896,7 +17814,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -13904,7 +17824,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -13912,7 +17834,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -13920,7 +17844,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -13928,18 +17854,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Role" + } + } + }, + "description": "Role", + "required": true + } } }, "/roles/search": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "search_roles", "summary": "Search Roles", "description": "### Search roles\n\nReturns all role records that match the given search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", @@ -13949,56 +17890,75 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "limit", "in": "query", "description": "Number of results to return (used with `offset`).", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "offset", "in": "query", "description": "Number of results to skip before returning any (used with `limit`).", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "sorts", "in": "query", "description": "Fields to sort by.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "id", "in": "query", "description": "Match role id.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "name", "in": "query", "description": "Match role name.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "built_in", "in": "query", "description": "Match roles by built_in status.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "filter_or", "in": "query", "description": "Combine given search criteria in a boolean OR expression.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], "responses": { @@ -14008,7 +17968,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Role" } + "items": { + "$ref": "#/components/schemas/Role" + } } } } @@ -14017,7 +17979,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14025,7 +17989,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -14036,7 +18002,9 @@ }, "/roles/{role_id}": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "role", "summary": "Get Role", "description": "### Get information about the role with a specific id.\n", @@ -14046,7 +18014,10 @@ "in": "path", "description": "id of role", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { @@ -14054,7 +18025,9 @@ "description": "Role", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Role" } + "schema": { + "$ref": "#/components/schemas/Role" + } } } }, @@ -14062,7 +18035,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14070,7 +18045,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -14079,7 +18056,9 @@ "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "delete_role", "summary": "Delete Role", "description": "### Delete the role with a specific id.\n", @@ -14089,21 +18068,30 @@ "in": "path", "description": "id of role", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14111,7 +18099,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14119,7 +18109,9 @@ "description": "Resource Can't Be Modified", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14127,7 +18119,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -14136,7 +18130,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "update_role", "summary": "Update Role", "description": "### Update information about the role with a specific id.\n", @@ -14146,19 +18142,20 @@ "in": "path", "description": "id of role", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/Role", - "required": true - }, "responses": { "200": { "description": "Role", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Role" } + "schema": { + "$ref": "#/components/schemas/Role" + } } } }, @@ -14166,7 +18163,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14174,7 +18173,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14182,7 +18183,9 @@ "description": "Resource Can't Be Modified", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14190,7 +18193,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -14198,18 +18203,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Role" + } + } + }, + "description": "Role", + "required": true + } } }, "/roles/{role_id}/groups": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "role_groups", "summary": "Get Role Groups", "description": "### Get information about all the groups with the role that has a specific id.\n", @@ -14219,14 +18239,19 @@ "in": "path", "description": "id of role", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -14236,7 +18261,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Group" } + "items": { + "$ref": "#/components/schemas/Group" + } } } } @@ -14245,7 +18272,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14253,7 +18282,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -14262,7 +18293,9 @@ "x-looker-activity-type": "non_query" }, "put": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "set_role_groups", "summary": "Update Role Groups", "description": "### Set all groups for a role, removing all existing group associations from that role.\n", @@ -14272,21 +18305,12 @@ "in": "path", "description": "Id of Role", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "type": "integer", "format": "int64" } - } - } - }, - "description": "Array of Group Ids", - "required": true - }, "responses": { "200": { "description": "Groups with role.", @@ -14294,7 +18318,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Group" } + "items": { + "$ref": "#/components/schemas/Group" + } } } } @@ -14303,7 +18329,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14311,7 +18339,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14319,7 +18349,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -14327,18 +18359,37 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + } + } + } + }, + "description": "Array of Group Ids", + "required": true + } } }, "/roles/{role_id}/users": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "role_users", "summary": "Get Role Users", "description": "### Get information about all the users with the role that has a specific id.\n", @@ -14348,21 +18399,28 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "direct_association_only", "in": "query", "description": "Get only users associated directly with the role: exclude those only associated through groups.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], "responses": { @@ -14372,7 +18430,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/User" } + "items": { + "$ref": "#/components/schemas/User" + } } } } @@ -14381,7 +18441,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14389,7 +18451,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -14398,7 +18462,9 @@ "x-looker-activity-type": "non_query" }, "put": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "set_role_users", "summary": "Update Role Users", "description": "### Set all the users of the role with a specific id.\n", @@ -14408,21 +18474,12 @@ "in": "path", "description": "id of role", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "type": "integer", "format": "int64" } - } - } - }, - "description": "array of user ids for role", - "required": true - }, "responses": { "200": { "description": "Users with role.", @@ -14430,7 +18487,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/User" } + "items": { + "$ref": "#/components/schemas/User" + } } } } @@ -14439,7 +18498,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14447,7 +18508,9 @@ "description": "Permission Denied", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14455,7 +18518,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14463,7 +18528,9 @@ "description": "Resource Can't Be Modified", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14471,26 +18538,47 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } + } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + } + } + } + }, + "description": "array of user ids for role", + "required": true + } } }, "/running_queries": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "all_running_queries", "summary": "Get All Running Queries", "description": "Get information about all running queries.\n", @@ -14501,7 +18589,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/RunningQueries" } + "items": { + "$ref": "#/components/schemas/RunningQueries" + } } } } @@ -14510,7 +18600,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -14521,7 +18613,9 @@ }, "/running_queries/{query_task_id}": { "delete": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "kill_query", "summary": "Kill Running Query", "description": "Kill a query with a specific query_task_id.\n", @@ -14531,21 +18625,29 @@ "in": "path", "description": "Query task id.", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "204": { "description": "Query successfully killed.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14553,7 +18655,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14561,7 +18665,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } } @@ -14572,7 +18678,9 @@ }, "/saml_config": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "saml_config", "summary": "Get SAML Configuration", "description": "### Get the SAML configuration.\n\nLooker can be optionally configured to authenticate users against a SAML authentication server.\nSAML setup requires coordination with an administrator of that server.\n\nOnly Looker administrators can read and update the SAML configuration.\n\nConfiguring SAML impacts authentication for all users. This configuration should be done carefully.\n\nLooker maintains a single SAML configuation. 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).\n\nSAML is enabled or disabled for Looker using the **enabled** field.\n", @@ -14581,7 +18689,9 @@ "description": "SAML Configuration.", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/SamlConfig" } + "schema": { + "$ref": "#/components/schemas/SamlConfig" + } } } }, @@ -14589,7 +18699,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -14598,25 +18710,20 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "update_saml_config", "summary": "Update SAML Configuration", "description": "### Update the SAML configuration.\n\nConfiguring SAML impacts authentication for all users. This configuration should be done carefully.\n\nOnly Looker administrators can read and update the SAML configuration.\n\nSAML is enabled or disabled for Looker using the **enabled** field.\n\nIt is **highly** recommended that any SAML setting changes be tested using the APIs below before being set globally.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SamlConfig" } - } - }, - "description": "SAML Config", - "required": true - }, "responses": { "200": { "description": "New state for SAML Configuration.", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/SamlConfig" } + "schema": { + "$ref": "#/components/schemas/SamlConfig" + } } } }, @@ -14624,7 +18731,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14632,7 +18741,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14640,18 +18751,33 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SamlConfig" + } + } + }, + "description": "SAML Config", + "required": true + } } }, "/saml_test_configs/{test_slug}": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "saml_test_config", "summary": "Get SAML Test Configuration", "description": "### Get a SAML test configuration by test_slug.\n", @@ -14661,7 +18787,9 @@ "in": "path", "description": "Slug of test config", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -14669,7 +18797,9 @@ "description": "SAML test config.", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/SamlConfig" } + "schema": { + "$ref": "#/components/schemas/SamlConfig" + } } } }, @@ -14677,7 +18807,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -14686,7 +18818,9 @@ "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "delete_saml_test_config", "summary": "Delete SAML Test Configuration", "description": "### Delete a SAML test configuration.\n", @@ -14696,21 +18830,29 @@ "in": "path", "description": "Slug of test config", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "204": { "description": "Test config succssfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14718,7 +18860,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -14729,25 +18873,20 @@ }, "/saml_test_configs": { "post": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "create_saml_test_config", "summary": "Create SAML Test Configuration", "description": "### Create a SAML test configuration.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SamlConfig" } - } - }, - "description": "SAML test config", - "required": true - }, "responses": { "200": { "description": "SAML test config", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/SamlConfig" } + "schema": { + "$ref": "#/components/schemas/SamlConfig" + } } } }, @@ -14755,7 +18894,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14763,7 +18904,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14771,26 +18914,36 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SamlConfig" + } + } + }, + "description": "SAML test config", + "required": true + } } }, "/parse_saml_idp_metadata": { "post": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "parse_saml_idp_metadata", "summary": "Parse SAML IdP XML", "description": "### Parse the given xml as a SAML IdP metadata document and return the result.\n", - "requestBody": { - "content": { "text/plain": { "schema": { "type": "string" } } }, - "description": "SAML IdP metadata xml", - "required": true - }, "responses": { "200": { "description": "Parse result", @@ -14806,7 +18959,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14814,26 +18969,36 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + }, + "description": "SAML IdP metadata xml", + "required": true + } } }, "/fetch_and_parse_saml_idp_metadata": { "post": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "fetch_and_parse_saml_idp_metadata", "summary": "Parse SAML IdP Url", "description": "### Fetch the given url and parse it as a SAML IdP metadata document and return the result.\nNote that this requires that the url be public or at least at a location where the Looker instance\ncan fetch it without requiring any special authentication.\n", - "requestBody": { - "content": { "text/plain": { "schema": { "type": "string" } } }, - "description": "SAML IdP metadata public url", - "required": true - }, "responses": { "200": { "description": "Parse result", @@ -14849,7 +19014,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14857,18 +19024,33 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + }, + "description": "SAML IdP metadata public url", + "required": true + } } }, "/scheduled_plans/space/{space_id}": { "get": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "scheduled_plans_for_space", "summary": "Scheduled Plans for Space", "description": "### Get Scheduled Plans for a Space\n\nReturns scheduled plans owned by the caller for a given space id.\n", @@ -14878,14 +19060,19 @@ "in": "path", "description": "Space Id", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -14895,7 +19082,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/ScheduledPlan" } + "items": { + "$ref": "#/components/schemas/ScheduledPlan" + } } } } @@ -14904,7 +19093,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14912,7 +19103,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -14923,7 +19116,9 @@ }, "/scheduled_plans/{scheduled_plan_id}": { "delete": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "delete_scheduled_plan", "summary": "Delete Scheduled Plan", "description": "### Delete a Scheduled Plan\n\nNormal users can only delete their own scheduled plans.\nAdmins can delete other users' scheduled plans.\nThis delete cannot be undone.\n", @@ -14933,21 +19128,30 @@ "in": "path", "description": "Scheduled Plan Id", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14955,7 +19159,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -14963,7 +19169,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -14972,7 +19180,9 @@ "x-looker-activity-type": "db_query" }, "patch": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "update_scheduled_plan", "summary": "Update Scheduled Plan", "description": "### Update a Scheduled Plan\n\nAdmins can update other users' Scheduled Plans.\n\nNote: Any scheduled plan destinations specified in an update will **replace** all scheduled plan destinations\ncurrently defined for the scheduled plan.\n\nFor Example: If a scheduled plan has destinations A, B, and C, and you call update on this scheduled plan\nspecifying only B in the destinations, then destinations A and C will be deleted by the update.\n\nUpdating 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.\n\nIf you omit the scheduled_plan_destinations property from the object passed to update, then the destinations\ndefined on the original scheduled plan will remain unchanged.\n\n#### Email Permissions:\n\nFor details about permissions required to schedule delivery to email and the safeguards\nLooker offers to protect against sending to unauthorized email destinations, see [Email Domain Whitelist for Scheduled Looks](https://docs.looker.com/r/api/embed-permissions).\n\n\n#### Scheduled Plan Destination Formats\n\nScheduled plan destinations must specify the data format to produce and send to the destination.\n\nFormats:\n\n| format | Description\n| :-----------: | :--- |\n| json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| 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.\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| xlsx | MS Excel spreadsheet\n| wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n| assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n| wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n||\n\nValid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n\n\n", @@ -14982,19 +19192,20 @@ "in": "path", "description": "Scheduled Plan Id", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/ScheduledPlan", - "required": true - }, "responses": { "200": { "description": "Scheduled Plan", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ScheduledPlan" } + "schema": { + "$ref": "#/components/schemas/ScheduledPlan" + } } } }, @@ -15002,7 +19213,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15010,7 +19223,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15018,7 +19233,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -15026,16 +19243,31 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "db_query" + "x-looker-activity-type": "db_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ScheduledPlan" + } + } + }, + "description": "Scheduled Plan", + "required": true + } }, "get": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "scheduled_plan", "summary": "Get Scheduled Plan", "description": "### Get Information About a Scheduled Plan\n\nAdmins can fetch information about other users' Scheduled Plans.\n", @@ -15045,14 +19277,19 @@ "in": "path", "description": "Scheduled Plan Id", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -15060,7 +19297,9 @@ "description": "Scheduled Plan", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ScheduledPlan" } + "schema": { + "$ref": "#/components/schemas/ScheduledPlan" + } } } }, @@ -15068,7 +19307,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15076,7 +19317,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -15087,20 +19330,20 @@ }, "/scheduled_plans": { "post": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "create_scheduled_plan", "summary": "Create Scheduled Plan", "description": "### Create a Scheduled Plan\n\nCreate a scheduled plan to render a Look or Dashboard on a recurring schedule.\n\nTo create a scheduled plan, you MUST provide values for the following fields:\n`name`\nand\n`look_id`, `dashboard_id`, `lookml_dashboard_id`, or `query_id`\nand\n`cron_tab` or `datagroup`\nand\nat least one scheduled_plan_destination\n\nA scheduled plan MUST have at least one scheduled_plan_destination defined.\n\nWhen `look_id` is set, `require_no_results`, `require_results`, and `require_change` are all required.\n\nIf `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.\n\nThe queries that provide the data for the look or dashboard are run in the context of user account that owns the scheduled plan.\n\nWhen `run_as_recipient` is `false` or not specified, the queries that provide the data for the\nlook or dashboard are run in the context of user account that owns the scheduled plan.\n\nWhen `run_as_recipient` is `true` and all the email recipients are Looker user accounts, the\nqueries are run in the context of each recipient, so different recipients may see different\ndata from the same scheduled render of a look or dashboard. For more details, see [Run As Recipient](https://looker.com/docs/r/admin/run-as-recipient).\n\nAdmins can create and modify scheduled plans on behalf of other users by specifying a user id.\nNon-admin users may not create or modify scheduled plans by or for other users.\n\n#### Email Permissions:\n\nFor details about permissions required to schedule delivery to email and the safeguards\nLooker offers to protect against sending to unauthorized email destinations, see [Email Domain Whitelist for Scheduled Looks](https://docs.looker.com/r/api/embed-permissions).\n\n\n#### Scheduled Plan Destination Formats\n\nScheduled plan destinations must specify the data format to produce and send to the destination.\n\nFormats:\n\n| format | Description\n| :-----------: | :--- |\n| json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| 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.\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| xlsx | MS Excel spreadsheet\n| wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n| assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n| wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n||\n\nValid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n\n\n", - "requestBody": { - "$ref": "#/components/requestBodies/ScheduledPlan", - "required": true - }, "responses": { "200": { "description": "Scheduled Plan", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ScheduledPlan" } + "schema": { + "$ref": "#/components/schemas/ScheduledPlan" + } } } }, @@ -15108,7 +19351,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15116,7 +19361,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15124,7 +19371,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15132,7 +19381,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -15140,16 +19391,31 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "db_query" + "x-looker-activity-type": "db_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ScheduledPlan" + } + } + }, + "description": "Scheduled Plan", + "required": true + } }, "get": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "all_scheduled_plans", "summary": "Get All Scheduled Plans", "description": "### List All Scheduled Plans\n\nReturns all scheduled plans which belong to the caller or given user.\n\nIf no user_id is provided, this function returns the scheduled plans owned by the caller.\n\n\nTo list all schedules for all users, pass `all_users=true`.\n\n\nThe caller must have `see_schedules` permission to see other users' scheduled plans.\n\n\n", @@ -15159,21 +19425,28 @@ "in": "query", "description": "Return scheduled plans belonging to this user_id. If not provided, returns scheduled plans owned by the caller.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Comma delimited list of field names. If provided, only the fields specified will be included in the response", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "all_users", "in": "query", "description": "Return scheduled plans belonging to all users (caller needs see_schedules permission)", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], "responses": { @@ -15183,7 +19456,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/ScheduledPlan" } + "items": { + "$ref": "#/components/schemas/ScheduledPlan" + } } } } @@ -15192,7 +19467,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15200,7 +19477,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15208,7 +19487,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } } @@ -15219,20 +19500,20 @@ }, "/scheduled_plans/run_once": { "post": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "scheduled_plan_run_once", "summary": "Run Scheduled Plan Once", "description": "### Run a Scheduled Plan Immediately\n\nCreate a scheduled plan that runs only once, and immediately.\n\nThis can be useful for testing a Scheduled Plan before committing to a production schedule.\n\nAdmins can create scheduled plans on behalf of other users by specifying a user id.\n\nThis API is rate limited to prevent it from being used for relay spam or DoS attacks\n\n#### Email Permissions:\n\nFor details about permissions required to schedule delivery to email and the safeguards\nLooker offers to protect against sending to unauthorized email destinations, see [Email Domain Whitelist for Scheduled Looks](https://docs.looker.com/r/api/embed-permissions).\n\n\n#### Scheduled Plan Destination Formats\n\nScheduled plan destinations must specify the data format to produce and send to the destination.\n\nFormats:\n\n| format | Description\n| :-----------: | :--- |\n| json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| 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.\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| xlsx | MS Excel spreadsheet\n| wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n| assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n| wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n||\n\nValid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n\n\n", - "requestBody": { - "$ref": "#/components/requestBodies/ScheduledPlan", - "required": true - }, "responses": { "200": { "description": "Scheduled Plan", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ScheduledPlan" } + "schema": { + "$ref": "#/components/schemas/ScheduledPlan" + } } } }, @@ -15240,7 +19521,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15248,7 +19531,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15256,7 +19541,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15264,7 +19551,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -15272,19 +19561,34 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", "x-looker-activity-type": "db_query", - "x-looker-rate-limited": true + "x-looker-rate-limited": true, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ScheduledPlan" + } + } + }, + "description": "Scheduled Plan", + "required": true + } } }, "/scheduled_plans/look/{look_id}": { "get": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "scheduled_plans_for_look", "summary": "Scheduled Plans for Look", "description": "### Get Scheduled Plans for a Look\n\nReturns all scheduled plans for a look which belong to the caller or given user.\n\nIf no user_id is provided, this function returns the scheduled plans owned by the caller.\n\n\nTo list all schedules for all users, pass `all_users=true`.\n\n\nThe caller must have `see_schedules` permission to see other users' scheduled plans.\n\n\n", @@ -15294,28 +19598,38 @@ "in": "path", "description": "Look Id", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "user_id", "in": "query", "description": "User Id (default is requesting user if not specified)", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "all_users", "in": "query", "description": "Return scheduled plans belonging to all users for the look", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], "responses": { @@ -15325,7 +19639,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/ScheduledPlan" } + "items": { + "$ref": "#/components/schemas/ScheduledPlan" + } } } } @@ -15334,7 +19650,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15342,7 +19660,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -15353,7 +19673,9 @@ }, "/scheduled_plans/dashboard/{dashboard_id}": { "get": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "scheduled_plans_for_dashboard", "summary": "Scheduled Plans for Dashboard", "description": "### Get Scheduled Plans for a Dashboard\n\nReturns all scheduled plans for a dashboard which belong to the caller or given user.\n\nIf no user_id is provided, this function returns the scheduled plans owned by the caller.\n\n\nTo list all schedules for all users, pass `all_users=true`.\n\n\nThe caller must have `see_schedules` permission to see other users' scheduled plans.\n\n\n", @@ -15363,28 +19685,38 @@ "in": "path", "description": "Dashboard Id", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "user_id", "in": "query", "description": "User Id (default is requesting user if not specified)", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "all_users", "in": "query", "description": "Return scheduled plans belonging to all users for the dashboard", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -15394,7 +19726,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/ScheduledPlan" } + "items": { + "$ref": "#/components/schemas/ScheduledPlan" + } } } } @@ -15403,7 +19737,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15411,7 +19747,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -15422,7 +19760,9 @@ }, "/scheduled_plans/lookml_dashboard/{lookml_dashboard_id}": { "get": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "scheduled_plans_for_lookml_dashboard", "summary": "Scheduled Plans for LookML Dashboard", "description": "### Get Scheduled Plans for a LookML Dashboard\n\nReturns all scheduled plans for a LookML Dashboard which belong to the caller or given user.\n\nIf no user_id is provided, this function returns the scheduled plans owned by the caller.\n\n\nTo list all schedules for all users, pass `all_users=true`.\n\n\nThe caller must have `see_schedules` permission to see other users' scheduled plans.\n\n\n", @@ -15432,28 +19772,37 @@ "in": "path", "description": "LookML Dashboard Id", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "user_id", "in": "query", "description": "User Id (default is requesting user if not specified)", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "all_users", "in": "query", "description": "Return scheduled plans belonging to all users for the dashboard", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], "responses": { @@ -15463,7 +19812,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/ScheduledPlan" } + "items": { + "$ref": "#/components/schemas/ScheduledPlan" + } } } } @@ -15472,7 +19823,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15480,7 +19833,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -15491,7 +19846,9 @@ }, "/scheduled_plans/{scheduled_plan_id}/run_once": { "post": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "scheduled_plan_run_once_by_id", "summary": "Run Scheduled Plan Once by Id", "description": "### Run a Scheduled Plan By Id Immediately\nThis function creates a run-once schedule plan based on an existing scheduled plan,\napplies modifications (if any) to the new scheduled plan, and runs the new schedule plan immediately.\nThis can be useful for testing modifications to an existing scheduled plan before committing to a production schedule.\n\nThis function internally performs the following operations:\n\n1. Copies the properties of the existing scheduled plan into a new scheduled plan\n2. Copies any properties passed in the JSON body of this request into the new scheduled plan (replacing the original values)\n3. Creates the new scheduled plan\n4. Runs the new scheduled plan\n\nThe original scheduled plan is not modified by this operation.\nAdmins can create, modify, and run scheduled plans on behalf of other users by specifying a user id.\nNon-admins can only create, modify, and run their own scheduled plans.\n\n#### Email Permissions:\n\nFor details about permissions required to schedule delivery to email and the safeguards\nLooker offers to protect against sending to unauthorized email destinations, see [Email Domain Whitelist for Scheduled Looks](https://docs.looker.com/r/api/embed-permissions).\n\n\n#### Scheduled Plan Destination Formats\n\nScheduled plan destinations must specify the data format to produce and send to the destination.\n\nFormats:\n\n| format | Description\n| :-----------: | :--- |\n| json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| 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.\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| xlsx | MS Excel spreadsheet\n| wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n| assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n| wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n||\n\nValid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n\n\n\nThis API is rate limited to prevent it from being used for relay spam or DoS attacks\n\n", @@ -15501,24 +19858,20 @@ "in": "path", "description": "Id of schedule plan to copy and run", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/WriteScheduledPlan" } - } - }, - "description": "Property values to apply to the newly copied scheduled plan before running it", - "required": false - }, "responses": { "200": { "description": "Scheduled Plan", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ScheduledPlan" } + "schema": { + "$ref": "#/components/schemas/ScheduledPlan" + } } } }, @@ -15526,7 +19879,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15534,7 +19889,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15542,7 +19899,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15550,7 +19909,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -15558,19 +19919,34 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", "x-looker-activity-type": "db_query", - "x-looker-rate-limited": true + "x-looker-rate-limited": true, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WriteScheduledPlan" + } + } + }, + "description": "Property values to apply to the newly copied scheduled plan before running it", + "required": false + } } }, "/session_config": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "session_config", "summary": "Get Session Config", "description": "### Get session config.\n", @@ -15579,7 +19955,9 @@ "description": "Session Config", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/SessionConfig" } + "schema": { + "$ref": "#/components/schemas/SessionConfig" + } } } }, @@ -15587,7 +19965,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15595,7 +19975,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -15604,25 +19986,20 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "update_session_config", "summary": "Update Session Config", "description": "### Update session config.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SessionConfig" } - } - }, - "description": "Session Config", - "required": true - }, "responses": { "200": { "description": "Session Config", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/SessionConfig" } + "schema": { + "$ref": "#/components/schemas/SessionConfig" + } } } }, @@ -15630,7 +20007,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15638,7 +20017,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15646,7 +20027,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -15654,18 +20037,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SessionConfig" + } + } + }, + "description": "Session Config", + "required": true + } } }, "/session": { "get": { - "tags": ["Session"], + "tags": [ + "Session" + ], "operationId": "session", "summary": "Get Session", "description": "### Get API Session\n\nReturns information about the current API session, such as which workspace is selected for the session.\n", @@ -15674,7 +20072,9 @@ "description": "Session", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ApiSession" } + "schema": { + "$ref": "#/components/schemas/ApiSession" + } } } }, @@ -15682,7 +20082,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15690,7 +20092,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -15699,25 +20103,20 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Session"], + "tags": [ + "Session" + ], "operationId": "update_session", "summary": "Update Session", "description": "### Update API Session\n\n#### API Session Workspace\n\nYou can use this endpoint to change the active workspace for the current API session.\n\nOnly one workspace can be active in a session. The active workspace can be changed\nany number of times in a session.\n\nThe default workspace for API sessions is the \"production\" workspace.\n\nAll Looker APIs that use projects or lookml models (such as running queries) will\nuse the version of project and model files defined by this workspace for the lifetime of the\ncurrent API session or until the session workspace is changed again.\n\nAn API session has the same lifetime as the access_token used to authenticate API requests. Each successful\nAPI login generates a new access_token and a new API session.\n\nIf your Looker API client application needs to work in a dev workspace across multiple\nAPI sessions, be sure to select the dev workspace after each login.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ApiSession" } - } - }, - "description": "Session", - "required": true - }, "responses": { "200": { "description": "Session", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ApiSession" } + "schema": { + "$ref": "#/components/schemas/ApiSession" + } } } }, @@ -15725,7 +20124,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15733,7 +20134,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15741,7 +20144,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -15749,18 +20154,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiSession" + } + } + }, + "description": "Session", + "required": true + } } }, "/spaces/search": { "get": { - "tags": ["Space"], + "tags": [ + "Space" + ], "operationId": "search_spaces", "summary": "Search Spaces", "description": "### Search Spaces\n\n Returns an **array of space objects** that match the given search criteria.\n\n If multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\n The parameters `limit`, and `offset` are recommended for fetching results in page-size chunks.\n\n Get a **single space** by id with [Space](#!/Space/space)\n", @@ -15770,77 +20190,104 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "page", "in": "query", "description": "Requested page.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "per_page", "in": "query", "description": "Results per page.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "limit", "in": "query", "description": "Number of results to return. (used with offset and takes priority over page and per_page)", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "offset", "in": "query", "description": "Number of results to skip before returning any. (used with limit and takes priority over page and per_page)", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "sorts", "in": "query", "description": "Fields to sort by.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "name", "in": "query", "description": "Match Space title.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "id", "in": "query", "description": "Match Space id", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "parent_id", "in": "query", "description": "Filter on a children of a particular space.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "creator_id", "in": "query", "description": "Filter on spaces created by a particular user.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "filter_or", "in": "query", "description": "Combine given search criteria in a boolean OR expression", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], "responses": { @@ -15850,7 +20297,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Space" } + "items": { + "$ref": "#/components/schemas/Space" + } } } } @@ -15859,7 +20308,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15867,7 +20318,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -15879,7 +20332,9 @@ }, "/spaces/{space_id}": { "get": { - "tags": ["Space"], + "tags": [ + "Space" + ], "operationId": "space", "summary": "Get Space", "description": "### Get information about the space with a specific id.", @@ -15889,14 +20344,18 @@ "in": "path", "description": "Id of space", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -15904,7 +20363,9 @@ "description": "Space", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Space" } + "schema": { + "$ref": "#/components/schemas/Space" + } } } }, @@ -15912,7 +20373,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15920,7 +20383,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -15930,7 +20395,9 @@ "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Space"], + "tags": [ + "Space" + ], "operationId": "delete_space", "summary": "Delete Space", "description": "### Delete the space with a specific id including any children spaces.\n**DANGER** this will delete all looks and dashboards in the space.\n", @@ -15940,21 +20407,29 @@ "in": "path", "description": "Id of space", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15962,7 +20437,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -15970,7 +20447,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -15980,7 +20459,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Space"], + "tags": [ + "Space" + ], "operationId": "update_space", "summary": "Update Space", "description": "### Update the space with a specific id.", @@ -15990,24 +20471,19 @@ "in": "path", "description": "Id of space", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/UpdateSpace" } - } - }, - "description": "Space parameters", - "required": true - }, "responses": { "200": { "description": "Space", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Space" } + "schema": { + "$ref": "#/components/schemas/Space" + } } } }, @@ -16015,7 +20491,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -16023,7 +20501,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -16031,7 +20511,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -16039,19 +20521,34 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "deprecated": true, "x-looker-status": "deprecated", - "x-looker-activity-type": "non_query" - } - }, - "/spaces": { - "get": { - "tags": ["Space"], + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateSpace" + } + } + }, + "description": "Space parameters", + "required": true + } + } + }, + "/spaces": { + "get": { + "tags": [ + "Space" + ], "operationId": "all_spaces", "summary": "Get All Spaces", "description": "### Get information about all spaces.\n\nIn API 3.x, this will not return empty personal spaces, unless they belong to the calling user.\nIn API 4.0+, all personal spaces will be returned.\n\n", @@ -16061,7 +20558,9 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -16071,7 +20570,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/SpaceBase" } + "items": { + "$ref": "#/components/schemas/SpaceBase" + } } } } @@ -16080,7 +20581,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -16088,7 +20591,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -16098,25 +20603,20 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Space"], + "tags": [ + "Space" + ], "operationId": "create_space", "summary": "Create Space", "description": "### Create a space with specified information.\n\nCaller must have permission to edit the parent space and to create spaces, otherwise the request\nreturns 404 Not Found.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CreateSpace" } - } - }, - "description": "Create a new space", - "required": true - }, "responses": { "200": { "description": "Space", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Space" } + "schema": { + "$ref": "#/components/schemas/Space" + } } } }, @@ -16124,7 +20624,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -16132,7 +20634,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -16140,7 +20644,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -16148,7 +20654,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -16156,19 +20664,34 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "deprecated": true, "x-looker-status": "deprecated", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateSpace" + } + } + }, + "description": "Create a new space", + "required": true + } } }, "/spaces/{space_id}/children": { "get": { - "tags": ["Space"], + "tags": [ + "Space" + ], "operationId": "space_children", "summary": "Get Space Children", "description": "### Get the children of a space.", @@ -16178,35 +20701,47 @@ "in": "path", "description": "Id of space", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "page", "in": "query", "description": "Requested page.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "per_page", "in": "query", "description": "Results per page.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "sorts", "in": "query", "description": "Fields to sort by.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -16216,7 +20751,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Space" } + "items": { + "$ref": "#/components/schemas/Space" + } } } } @@ -16225,7 +20762,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -16233,7 +20772,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -16245,7 +20786,9 @@ }, "/spaces/{space_id}/children/search": { "get": { - "tags": ["Space"], + "tags": [ + "Space" + ], "operationId": "space_children_search", "summary": "Search Space Children", "description": "### Search the children of a space", @@ -16255,28 +20798,36 @@ "in": "path", "description": "Id of space", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "sorts", "in": "query", "description": "Fields to sort by.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "name", "in": "query", "description": "Match Space name.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -16286,7 +20837,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Space" } + "items": { + "$ref": "#/components/schemas/Space" + } } } } @@ -16295,7 +20848,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -16303,7 +20858,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -16315,7 +20872,9 @@ }, "/spaces/{space_id}/parent": { "get": { - "tags": ["Space"], + "tags": [ + "Space" + ], "operationId": "space_parent", "summary": "Get Space Parent", "description": "### Get the parent of a space", @@ -16325,14 +20884,18 @@ "in": "path", "description": "Id of space", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -16340,7 +20903,9 @@ "description": "Space", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Space" } + "schema": { + "$ref": "#/components/schemas/Space" + } } } }, @@ -16348,7 +20913,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -16356,7 +20923,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -16368,7 +20937,9 @@ }, "/spaces/{space_id}/ancestors": { "get": { - "tags": ["Space"], + "tags": [ + "Space" + ], "operationId": "space_ancestors", "summary": "Get Space Ancestors", "description": "### Get the ancestors of a space", @@ -16378,14 +20949,18 @@ "in": "path", "description": "Id of space", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -16395,7 +20970,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Space" } + "items": { + "$ref": "#/components/schemas/Space" + } } } } @@ -16404,7 +20981,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -16412,7 +20991,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -16424,7 +21005,9 @@ }, "/spaces/{space_id}/looks": { "get": { - "tags": ["Space"], + "tags": [ + "Space" + ], "operationId": "space_looks", "summary": "Get Space Looks", "description": "### Get all looks in a space.\nIn API 3.x, this will return all looks in a space, including looks in the trash.\nIn API 4.0+, all looks in a space will be returned, excluding looks in the trash.\n", @@ -16434,14 +21017,18 @@ "in": "path", "description": "Id of space", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -16451,7 +21038,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/LookWithQuery" } + "items": { + "$ref": "#/components/schemas/LookWithQuery" + } } } } @@ -16460,7 +21049,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -16468,7 +21059,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -16480,7 +21073,9 @@ }, "/spaces/{space_id}/dashboards": { "get": { - "tags": ["Space"], + "tags": [ + "Space" + ], "operationId": "space_dashboards", "summary": "Get Space Dashboards", "description": "### Get the dashboards in a space", @@ -16490,14 +21085,18 @@ "in": "path", "description": "Id of space", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -16507,7 +21106,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Dashboard" } + "items": { + "$ref": "#/components/schemas/Dashboard" + } } } } @@ -16516,7 +21117,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -16524,7 +21127,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -16536,7 +21141,9 @@ }, "/folders/search": { "get": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "search_folders", "summary": "Search Folders", "description": "Search for folders by creator id, parent id, name, etc", @@ -16546,77 +21153,104 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "page", "in": "query", "description": "Requested page.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "per_page", "in": "query", "description": "Results per page.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "limit", "in": "query", "description": "Number of results to return. (used with offset and takes priority over page and per_page)", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "offset", "in": "query", "description": "Number of results to skip before returning any. (used with limit and takes priority over page and per_page)", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "sorts", "in": "query", "description": "Fields to sort by.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "name", "in": "query", "description": "Match Space title.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "id", "in": "query", "description": "Match Space id", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "parent_id", "in": "query", "description": "Filter on a children of a particular folder.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "creator_id", "in": "query", "description": "Filter on folder created by a particular user.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "filter_or", "in": "query", "description": "Combine given search criteria in a boolean OR expression", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], "responses": { @@ -16626,7 +21260,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Folder" } + "items": { + "$ref": "#/components/schemas/Folder" + } } } } @@ -16635,7 +21271,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -16643,7 +21281,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -16654,7 +21294,9 @@ }, "/folders/{folder_id}": { "get": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "folder", "summary": "Get Folder", "description": "### Get information about the folder with a specific id.", @@ -16664,14 +21306,18 @@ "in": "path", "description": "Id of folder", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -16679,7 +21325,9 @@ "description": "Folder", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Folder" } + "schema": { + "$ref": "#/components/schemas/Folder" + } } } }, @@ -16687,7 +21335,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -16695,7 +21345,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -16704,7 +21356,9 @@ "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "delete_folder", "summary": "Delete Folder", "description": "### Delete the folder with a specific id including any children folders.\n**DANGER** this will delete all looks and dashboards in the folder.\n", @@ -16714,21 +21368,29 @@ "in": "path", "description": "Id of folder", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -16736,7 +21398,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -16744,7 +21408,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -16753,7 +21419,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "update_folder", "summary": "Update Folder", "description": "### Update the folder with a specific id.", @@ -16763,24 +21431,19 @@ "in": "path", "description": "Id of folder", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/UpdateFolder" } - } - }, - "description": "Folder parameters", - "required": true - }, "responses": { "200": { "description": "Folder", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Folder" } + "schema": { + "$ref": "#/components/schemas/Folder" + } } } }, @@ -16788,7 +21451,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -16796,7 +21461,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -16804,7 +21471,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -16812,18 +21481,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateFolder" + } + } + }, + "description": "Folder parameters", + "required": true + } } }, "/folders": { "get": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "all_folders", "summary": "Get All Folders", "description": "### Get information about all folders.\n\nIn API 3.x, this will not return empty personal folders, unless they belong to the calling user.\nIn API 4.0+, all personal folders will be returned.\n\n", @@ -16833,7 +21517,9 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -16843,7 +21529,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Folder" } + "items": { + "$ref": "#/components/schemas/Folder" + } } } } @@ -16852,7 +21540,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -16860,7 +21550,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -16869,25 +21561,20 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "create_folder", "summary": "Create Folder", "description": "### Create a folder with specified information.\n\nCaller must have permission to edit the parent folder and to create folders, otherwise the request\nreturns 404 Not Found.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CreateFolder" } - } - }, - "description": "Folder parameters", - "required": true - }, "responses": { "200": { "description": "Folder", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Folder" } + "schema": { + "$ref": "#/components/schemas/Folder" + } } } }, @@ -16895,7 +21582,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -16903,7 +21592,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -16911,7 +21602,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -16919,7 +21612,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -16927,56 +21622,83 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/folders/{folder_id}/children": { - "get": { - "tags": ["Folder"], - "operationId": "folder_children", - "summary": "Get Folder Children", - "description": "### Get the children of a folder.", - "parameters": [ - { + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateFolder" + } + } + }, + "description": "Folder parameters", + "required": true + } + } + }, + "/folders/{folder_id}/children": { + "get": { + "tags": [ + "Folder" + ], + "operationId": "folder_children", + "summary": "Get Folder Children", + "description": "### Get the children of a folder.", + "parameters": [ + { "name": "folder_id", "in": "path", "description": "Id of folder", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "page", "in": "query", "description": "Requested page.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "per_page", "in": "query", "description": "Results per page.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "sorts", "in": "query", "description": "Fields to sort by.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -16986,7 +21708,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Folder" } + "items": { + "$ref": "#/components/schemas/Folder" + } } } } @@ -16995,7 +21719,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -17003,7 +21729,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -17014,7 +21742,9 @@ }, "/folders/{folder_id}/children/search": { "get": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "folder_children_search", "summary": "Search Folder Children", "description": "### Search the children of a folder", @@ -17024,28 +21754,36 @@ "in": "path", "description": "Id of folder", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "sorts", "in": "query", "description": "Fields to sort by.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "name", "in": "query", "description": "Match folder name.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -17055,7 +21793,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Folder" } + "items": { + "$ref": "#/components/schemas/Folder" + } } } } @@ -17064,7 +21804,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -17072,7 +21814,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -17083,7 +21827,9 @@ }, "/folders/{folder_id}/parent": { "get": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "folder_parent", "summary": "Get Folder Parent", "description": "### Get the parent of a folder", @@ -17093,14 +21839,18 @@ "in": "path", "description": "Id of folder", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -17108,7 +21858,9 @@ "description": "Folder", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Folder" } + "schema": { + "$ref": "#/components/schemas/Folder" + } } } }, @@ -17116,7 +21868,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -17124,7 +21878,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -17135,7 +21891,9 @@ }, "/folders/{folder_id}/ancestors": { "get": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "folder_ancestors", "summary": "Get Folder Ancestors", "description": "### Get the ancestors of a folder", @@ -17145,14 +21903,18 @@ "in": "path", "description": "Id of folder", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -17162,7 +21924,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Folder" } + "items": { + "$ref": "#/components/schemas/Folder" + } } } } @@ -17171,7 +21935,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -17179,7 +21945,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -17190,7 +21958,9 @@ }, "/folders/{folder_id}/looks": { "get": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "folder_looks", "summary": "Get Folder Looks", "description": "### Get all looks in a folder.\nIn API 3.x, this will return all looks in a folder, including looks in the trash.\nIn API 4.0+, all looks in a folder will be returned, excluding looks in the trash.\n", @@ -17200,14 +21970,18 @@ "in": "path", "description": "Id of folder", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -17217,7 +21991,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/LookWithQuery" } + "items": { + "$ref": "#/components/schemas/LookWithQuery" + } } } } @@ -17226,7 +22002,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -17234,7 +22012,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -17245,7 +22025,9 @@ }, "/folders/{folder_id}/dashboards": { "get": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "folder_dashboards", "summary": "Get Folder Dashboards", "description": "### Get the dashboards in a folder", @@ -17255,14 +22037,18 @@ "in": "path", "description": "Id of folder", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -17272,7 +22058,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Dashboard" } + "items": { + "$ref": "#/components/schemas/Dashboard" + } } } } @@ -17281,7 +22069,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -17289,7 +22079,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -17300,7 +22092,9 @@ }, "/sql_queries/{slug}": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "sql_query", "summary": "Get SQL Runner Query", "description": "Get a SQL Runner query.", @@ -17310,7 +22104,9 @@ "in": "path", "description": "slug of query", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -17318,7 +22114,9 @@ "description": "SQL Runner Query", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/SqlQuery" } + "schema": { + "$ref": "#/components/schemas/SqlQuery" + } } } }, @@ -17326,7 +22124,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -17334,7 +22134,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -17345,25 +22147,20 @@ }, "/sql_queries": { "post": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "create_sql_query", "summary": "Create SQL Runner Query", "description": "### Create a SQL Runner Query\n\nEither the `connection_name` or `model_name` parameter MUST be provided.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SqlQueryCreate" } - } - }, - "description": "SQL Runner Query", - "required": true - }, "responses": { "200": { "description": "SQL Runner Query", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/SqlQuery" } + "schema": { + "$ref": "#/components/schemas/SqlQuery" + } } } }, @@ -17371,7 +22168,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -17379,7 +22178,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -17387,7 +22188,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -17395,7 +22198,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -17403,18 +22208,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "db_query" + "x-looker-activity-type": "db_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SqlQueryCreate" + } + } + }, + "description": "SQL Runner Query", + "required": true + } } }, "/sql_queries/{slug}/run/{result_format}": { "post": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "run_sql_query", "summary": "Run SQL Runner Query", "description": "Execute a SQL Runner query in a given result_format.", @@ -17424,60 +22244,102 @@ "in": "path", "description": "slug of query", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "result_format", "in": "path", "description": "Format of result, options are: [\"inline_json\", \"json\", \"json_detail\", \"json_fe\", \"csv\", \"html\", \"md\", \"txt\", \"xlsx\", \"gsxml\", \"json_label\"]", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "download", "in": "query", "description": "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.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "200": { "description": "SQL Runner Query", "content": { - "text": { "schema": { "type": "string" } }, - "application/json": { "schema": { "type": "string" } }, - "image/png": { "schema": { "type": "string" } }, - "image/jpeg": { "schema": { "type": "string" } } + "text": { + "schema": { + "type": "string" + } + }, + "application/json": { + "schema": { + "type": "string" + } + }, + "image/png": { + "schema": { + "type": "string" + } + }, + "image/jpeg": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, + "text": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, "404": { "description": "Not Found", "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, + "text": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -17485,31 +22347,49 @@ "description": "Validation Error", "content": { "text": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } }, "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } }, "image/png": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } }, "image/jpeg": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, "429": { "description": "Too Many Requests", "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, + "text": { + "schema": { + "$ref": "#/components/schemas/Error" + } + }, "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } }, "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -17520,7 +22400,9 @@ }, "/themes": { "get": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "all_themes", "summary": "Get All Themes", "description": "### Get an array of all existing themes\n\nGet a **single theme** by id with [Theme](#!/Theme/theme)\n\nThis method returns an array of all existing themes. The active time for the theme is not considered.\n\n**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 help.looker.com to update your license for this feature.\n\n", @@ -17530,7 +22412,9 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -17540,7 +22424,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Theme" } + "items": { + "$ref": "#/components/schemas/Theme" + } } } } @@ -17549,7 +22435,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -17557,7 +22445,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -17566,20 +22456,20 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "create_theme", "summary": "Create Theme", "description": "### Create a theme\n\nCreates a new theme object, returning the theme details, including the created id.\n\nIf `settings` are not specified, the default theme settings will be copied into the new theme.\n\nThe theme `name` can only contain alphanumeric characters or underscores. Theme names should not contain any confidential information, such as customer names.\n\n**Update** an existing theme with [Update Theme](#!/Theme/update_theme)\n\n**Permanently delete** an existing theme with [Delete Theme](#!/Theme/delete_theme)\n\nFor more information, see [Creating and Applying Themes](https://looker.com/docs/r/admin/themes).\n\n**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 help.looker.com to update your license for this feature.\n\n", - "requestBody": { - "$ref": "#/components/requestBodies/Theme", - "required": true - }, "responses": { "200": { "description": "Theme", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Theme" } + "schema": { + "$ref": "#/components/schemas/Theme" + } } } }, @@ -17587,7 +22477,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -17595,7 +22487,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -17603,7 +22497,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -17611,7 +22507,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -17619,18 +22517,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Theme" + } + } + }, + "description": "Theme", + "required": true + } } }, "/themes/search": { "get": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "search_themes", "summary": "Search Themes", "description": "### Search all themes for matching criteria.\n\nReturns an **array of theme objects** that match the specified search criteria.\n\n| Search Parameters | Description\n| :-------------------: | :------ |\n| `begin_at` only | Find themes active at or after `begin_at`\n| `end_at` only | Find themes active at or before `end_at`\n| both set | Find themes with an active inclusive period between `begin_at` and `end_at`\n\nNote: Range matching requires boolean AND logic.\nWhen using `begin_at` and `end_at` together, do not use `filter_or`=TRUE\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\nGet a **single theme** by id with [Theme](#!/Theme/theme)\n\n**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 help.looker.com to update your license for this feature.\n\n", @@ -17640,63 +22553,86 @@ "in": "query", "description": "Match theme id.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "name", "in": "query", "description": "Match theme name.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "begin_at", "in": "query", "description": "Timestamp for activation.", "required": false, - "schema": { "type": "string", "format": "date-time" } + "schema": { + "type": "string", + "format": "date-time" + } }, { "name": "end_at", "in": "query", "description": "Timestamp for expiration.", "required": false, - "schema": { "type": "string", "format": "date-time" } + "schema": { + "type": "string", + "format": "date-time" + } }, { "name": "limit", "in": "query", "description": "Number of results to return (used with `offset`).", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "offset", "in": "query", "description": "Number of results to skip before returning any (used with `limit`).", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "sorts", "in": "query", "description": "Fields to sort by.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "filter_or", "in": "query", "description": "Combine given search criteria in a boolean OR expression", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], "responses": { @@ -17706,7 +22642,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Theme" } + "items": { + "$ref": "#/components/schemas/Theme" + } } } } @@ -17715,7 +22653,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -17723,8 +22663,10 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } + "schema": { + "$ref": "#/components/schemas/Error" + } + } } } }, @@ -17734,7 +22676,9 @@ }, "/themes/default": { "get": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "default_theme", "summary": "Get Default Theme", "description": "### Get the default theme\n\nReturns the active theme object set as the default.\n\nThe **default** theme name can be set in the UI on the Admin|Theme UI page\n\nThe optional `ts` parameter can specify a different timestamp than \"now.\" If specified, it returns the default theme at the time indicated.\n", @@ -17744,7 +22688,10 @@ "in": "query", "description": "Timestamp representing the target datetime for the active period. Defaults to 'now'", "required": false, - "schema": { "type": "string", "format": "date-time" } + "schema": { + "type": "string", + "format": "date-time" + } } ], "responses": { @@ -17752,7 +22699,9 @@ "description": "Theme", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Theme" } + "schema": { + "$ref": "#/components/schemas/Theme" + } } } }, @@ -17760,7 +22709,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -17768,7 +22719,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -17777,7 +22730,9 @@ "x-looker-activity-type": "non_query" }, "put": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "set_default_theme", "summary": "Set Default Theme", "description": "### Set the global default theme by theme name\n\nOnly Admin users can call this function.\n\nOnly 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.\n\n[Create Theme](#!/Theme/create) has detailed information on rules for default and active themes\n\nReturns the new specified default theme object.\n\n**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 help.looker.com to update your license for this feature.\n\n", @@ -17787,7 +22742,9 @@ "in": "query", "description": "Name of theme to set as default", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -17795,7 +22752,9 @@ "description": "Theme", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Theme" } + "schema": { + "$ref": "#/components/schemas/Theme" + } } } }, @@ -17803,7 +22762,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -17811,7 +22772,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -17819,7 +22782,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -17827,7 +22792,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -17838,7 +22805,9 @@ }, "/themes/active": { "get": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "active_themes", "summary": "Get Active Themes", "description": "### Get active themes\n\nReturns an array of active themes.\n\nIf the `name` parameter is specified, it will return an array with one theme if it's active and found.\n\nThe optional `ts` parameter can specify a different timestamp than \"now.\"\n\n**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 help.looker.com to update your license for this feature.\n\n\n", @@ -17848,21 +22817,28 @@ "in": "query", "description": "Name of theme", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "ts", "in": "query", "description": "Timestamp representing the target datetime for the active period. Defaults to 'now'", "required": false, - "schema": { "type": "string", "format": "date-time" } + "schema": { + "type": "string", + "format": "date-time" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -17872,7 +22848,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Theme" } + "items": { + "$ref": "#/components/schemas/Theme" + } } } } @@ -17881,7 +22859,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -17889,7 +22869,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -17900,7 +22882,9 @@ }, "/themes/theme_or_default": { "get": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "theme_or_default", "summary": "Get Theme or Default", "description": "### Get the named theme if it's active. Otherwise, return the default theme\n\nThe optional `ts` parameter can specify a different timestamp than \"now.\"\nNote: API users with `show` ability can call this function\n\n**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 help.looker.com to update your license for this feature.\n\n", @@ -17910,14 +22894,19 @@ "in": "query", "description": "Name of theme", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "ts", "in": "query", "description": "Timestamp representing the target datetime for the active period. Defaults to 'now'", "required": false, - "schema": { "type": "string", "format": "date-time" } + "schema": { + "type": "string", + "format": "date-time" + } } ], "responses": { @@ -17925,7 +22914,9 @@ "description": "Theme", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Theme" } + "schema": { + "$ref": "#/components/schemas/Theme" + } } } }, @@ -17933,7 +22924,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -17941,7 +22934,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -17952,34 +22947,40 @@ }, "/themes/validate": { "post": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "validate_theme", "summary": "Validate Theme", "description": "### Validate a theme with the specified information\n\nValidates all values set for the theme, returning any errors encountered, or 200 OK if valid\n\nSee [Create Theme](#!/Theme/create_theme) for constraints\n\n**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 help.looker.com to update your license for this feature.\n\n", - "requestBody": { - "$ref": "#/components/requestBodies/Theme", - "required": true - }, "responses": { "200": { "description": "Theme validation results", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, "204": { "description": "No errors detected with the theme", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -17987,7 +22988,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -17995,7 +22998,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -18003,7 +23008,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -18011,18 +23018,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Theme" + } + } + }, + "description": "Theme", + "required": true + } } }, "/themes/{theme_id}": { "get": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "theme", "summary": "Get Theme", "description": "### Get a theme by ID\n\nUse this to retrieve a specific theme, whether or not it's currently active.\n\n**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 help.looker.com to update your license for this feature.\n\n", @@ -18032,14 +23054,18 @@ "in": "path", "description": "Id of theme", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -18047,7 +23073,9 @@ "description": "Theme", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Theme" } + "schema": { + "$ref": "#/components/schemas/Theme" + } } } }, @@ -18055,7 +23083,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -18063,7 +23093,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -18072,7 +23104,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "update_theme", "summary": "Update Theme", "description": "### Update the theme by id.\n\n**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 help.looker.com to update your license for this feature.\n\n", @@ -18082,19 +23116,19 @@ "in": "path", "description": "Id of theme", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/Theme", - "required": true - }, "responses": { "200": { "description": "Theme", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Theme" } + "schema": { + "$ref": "#/components/schemas/Theme" + } } } }, @@ -18102,7 +23136,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -18110,7 +23146,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -18118,7 +23156,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -18126,16 +23166,31 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Theme" + } + } + }, + "description": "Theme", + "required": true + } }, "delete": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "delete_theme", "summary": "Delete Theme", "description": "### Delete a specific theme by id\n\nThis operation permanently deletes the identified theme from the database.\n\nBecause multiple themes can have the same name (with different activation time spans) themes can only be deleted by ID.\n\nAll IDs associated with a theme name can be retrieved by searching for the theme name with [Theme Search](#!/Theme/search).\n\n**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 help.looker.com to update your license for this feature.\n\n", @@ -18145,21 +23200,29 @@ "in": "path", "description": "Id of theme", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -18167,7 +23230,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -18175,7 +23240,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -18186,7 +23253,9 @@ }, "/timezones": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "all_timezones", "summary": "Get All Timezones", "description": "### Get a list of timezones that Looker supports (e.g. useful for scheduling tasks).\n", @@ -18197,7 +23266,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Timezone" } + "items": { + "$ref": "#/components/schemas/Timezone" + } } } } @@ -18206,7 +23277,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -18214,7 +23287,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -18225,7 +23300,9 @@ }, "/user_attributes": { "get": { - "tags": ["UserAttribute"], + "tags": [ + "UserAttribute" + ], "operationId": "all_user_attributes", "summary": "Get All User Attributes", "description": "### Get information about all user attributes.\n", @@ -18235,14 +23312,18 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "sorts", "in": "query", "description": "Fields to order the results by. Sortable fields include: name, label", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -18252,7 +23333,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/UserAttribute" } + "items": { + "$ref": "#/components/schemas/UserAttribute" + } } } } @@ -18261,7 +23344,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -18269,7 +23354,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -18278,7 +23365,9 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["UserAttribute"], + "tags": [ + "UserAttribute" + ], "operationId": "create_user_attribute", "summary": "Create User Attribute", "description": "### Create a new user attribute\n\nPermission information for a user attribute is conveyed through the `can` and `user_can_edit` fields.\nThe `user_can_edit` field indicates whether an attribute is user-editable _anywhere_ in the application.\nThe `can` field gives more granular access information, with the `set_value` child field indicating whether\nan attribute's value can be set by [Setting the User Attribute User Value](#!/User/set_user_attribute_user_value).\n\nNote: `name` and `label` fields must be unique across all user attributes in the Looker instance.\nAttempting to create a new user attribute with a name or label that duplicates an existing\nuser attribute will fail with a 422 error.\n", @@ -18288,19 +23377,19 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/UserAttribute", - "required": true - }, "responses": { "200": { "description": "User Attribute", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/UserAttribute" } + "schema": { + "$ref": "#/components/schemas/UserAttribute" + } } } }, @@ -18308,7 +23397,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -18316,7 +23407,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -18324,7 +23417,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -18332,7 +23427,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -18340,18 +23437,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserAttribute" + } + } + }, + "description": "User Attribute", + "required": true + } } }, "/user_attributes/{user_attribute_id}": { "get": { - "tags": ["UserAttribute"], + "tags": [ + "UserAttribute" + ], "operationId": "user_attribute", "summary": "Get User Attribute", "description": "### Get information about a user attribute.\n", @@ -18361,14 +23473,19 @@ "in": "path", "description": "Id of user attribute", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -18376,7 +23493,9 @@ "description": "User Attribute", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/UserAttribute" } + "schema": { + "$ref": "#/components/schemas/UserAttribute" + } } } }, @@ -18384,7 +23503,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -18392,7 +23513,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -18401,7 +23524,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["UserAttribute"], + "tags": [ + "UserAttribute" + ], "operationId": "update_user_attribute", "summary": "Update User Attribute", "description": "### Update a user attribute definition.\n", @@ -18411,26 +23536,29 @@ "in": "path", "description": "Id of user attribute", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/UserAttribute", - "required": true - }, "responses": { "200": { "description": "User Attribute", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/UserAttribute" } + "schema": { + "$ref": "#/components/schemas/UserAttribute" + } } } }, @@ -18438,7 +23566,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -18446,7 +23576,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -18454,7 +23586,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -18462,16 +23596,31 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserAttribute" + } + } + }, + "description": "User Attribute", + "required": true + } }, "delete": { - "tags": ["UserAttribute"], + "tags": [ + "UserAttribute" + ], "operationId": "delete_user_attribute", "summary": "Delete User Attribute", "description": "### Delete a user attribute (admin only).\n", @@ -18481,21 +23630,30 @@ "in": "path", "description": "Id of user_attribute", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -18503,7 +23661,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -18511,7 +23671,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -18522,7 +23684,9 @@ }, "/user_attributes/{user_attribute_id}/group_values": { "get": { - "tags": ["UserAttribute"], + "tags": [ + "UserAttribute" + ], "operationId": "all_user_attribute_group_values", "summary": "Get User Attribute Group Values", "description": "### Returns all values of a user attribute defined by user groups, in precedence order.\n\nA user may be a member of multiple groups which define different values for a given user attribute.\nThe order of group-values in the response determines precedence for selecting which group-value applies\nto a given user. For more information, see [Set User Attribute Group Values](#!/UserAttribute/set_user_attribute_group_values).\n\nResults will only include groups that the caller's user account has permission to see.\n", @@ -18532,14 +23696,19 @@ "in": "path", "description": "Id of user attribute", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -18560,7 +23729,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -18568,7 +23739,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -18577,7 +23750,9 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["UserAttribute"], + "tags": [ + "UserAttribute" + ], "operationId": "set_user_attribute_group_values", "summary": "Set User Attribute Group Values", "description": "### Define values for a user attribute across a set of groups, in priority order.\n\nThis function defines all values for a user attribute defined by user groups. This is a global setting, potentially affecting\nall users in the system. This function replaces any existing group value definitions for the indicated user attribute.\n\nThe value of a user attribute for a given user is determined by searching the following locations, in this order:\n\n1. the user's account settings\n2. the groups that the user is a member of\n3. the default value of the user attribute, if any\n\nThe 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\ndetermines which group takes priority for that user. Lowest array index wins.\n\nAn alternate method to indicate the selection precedence of group-values is to assign numbers to the 'rank' property of each\ngroup-value object in the array. Lowest 'rank' value wins. If you use this technique, you must assign a\nrank value to every group-value object in the array.\n\n To set a user attribute value for a single user, see [Set User Attribute User Value](#!/User/set_user_attribute_user_value).\nTo set a user attribute value for all members of a group, see [Set User Attribute Group Value](#!/Group/update_user_attribute_group_value).\n", @@ -18587,23 +23762,12 @@ "in": "path", "description": "Id of user attribute", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/UserAttributeGroupValue" - } - } - } - }, - "description": "Array of group values.", - "required": true - }, "responses": { "200": { "description": "Array of group values.", @@ -18622,7 +23786,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -18630,15 +23796,19 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } + "schema": { + "$ref": "#/components/schemas/Error" + } + } } }, "409": { "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -18646,7 +23816,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -18654,18 +23826,36 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UserAttributeGroupValue" + } + } + } + }, + "description": "Array of group values.", + "required": true + } } }, "/user_login_lockouts": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "all_user_login_lockouts", "summary": "Get All User Login Lockouts", "description": "### Get currently locked-out users.\n", @@ -18675,7 +23865,9 @@ "in": "query", "description": "Include only these fields in the response", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -18685,7 +23877,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/UserLoginLockout" } + "items": { + "$ref": "#/components/schemas/UserLoginLockout" + } } } } @@ -18694,7 +23888,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -18702,7 +23898,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -18713,7 +23911,9 @@ }, "/user_login_lockouts/search": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "search_user_login_lockouts", "summary": "Search User Login Lockouts", "description": "### Search currently locked-out users.\n", @@ -18723,63 +23923,83 @@ "in": "query", "description": "Include only these fields in the response", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "page", "in": "query", "description": "Return only page N of paginated results", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "per_page", "in": "query", "description": "Return N rows of data per page", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "sorts", "in": "query", "description": "Fields to sort by.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "auth_type", "in": "query", "description": "Auth type user is locked out for (email, ldap, totp, api)", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "full_name", "in": "query", "description": "Match name", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "email", "in": "query", "description": "Match email", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "remote_id", "in": "query", "description": "Match remote LDAP ID", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "filter_or", "in": "query", "description": "Combine given search criteria in a boolean OR expression", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], "responses": { @@ -18789,7 +24009,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/UserLoginLockout" } + "items": { + "$ref": "#/components/schemas/UserLoginLockout" + } } } } @@ -18798,7 +24020,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -18806,7 +24030,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -18817,7 +24043,9 @@ }, "/user_login_lockout/{key}": { "delete": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "delete_user_login_lockout", "summary": "Delete User Login Lockout", "description": "### Removes login lockout for the associated user.\n", @@ -18827,21 +24055,29 @@ "in": "path", "description": "The key associated with the locked user", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -18849,7 +24085,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -18857,7 +24095,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -18868,7 +24108,9 @@ }, "/user": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "me", "summary": "Get Current User", "description": "### Get information about the current user; i.e. the user account currently calling the API.\n", @@ -18878,7 +24120,9 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -18886,7 +24130,9 @@ "description": "Current user.", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/User" } + "schema": { + "$ref": "#/components/schemas/User" + } } } }, @@ -18894,7 +24140,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -18905,7 +24153,9 @@ }, "/users": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "all_users", "summary": "Get All Users", "description": "### Get information about all users.\n", @@ -18915,28 +24165,38 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "page", "in": "query", "description": "Requested page.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "per_page", "in": "query", "description": "Results per page.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "sorts", "in": "query", "description": "Fields to sort by.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "ids", @@ -18947,7 +24207,10 @@ "explode": false, "schema": { "type": "array", - "items": { "type": "integer", "format": "int64" } + "items": { + "type": "integer", + "format": "int64" + } } } ], @@ -18958,7 +24221,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/User" } + "items": { + "$ref": "#/components/schemas/User" + } } } } @@ -18967,7 +24232,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -18975,7 +24242,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -18984,7 +24253,9 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "create_user", "summary": "Create User", "description": "### Create a user with the specified information.\n", @@ -18994,24 +24265,19 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/User" } - } - }, - "description": "User", - "required": false - }, "responses": { "200": { "description": "Created User", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/User" } + "schema": { + "$ref": "#/components/schemas/User" + } } } }, @@ -19019,7 +24285,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -19027,7 +24295,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -19035,7 +24305,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -19043,18 +24315,33 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + }, + "description": "User", + "required": false + } } }, "/users/search": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "search_users", "summary": "Search Users", "description": "### Search users\n\nReturns all* user records that match the given search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\n(*) Results are always filtered to the level of information the caller is permitted to view.\nLooker admins can see all user details; normal users in an open system can see\nnames of other users but no details; normal users in a closed system can only see\nnames of other users who are members of the same group as the user.\n\n", @@ -19064,91 +24351,122 @@ "in": "query", "description": "Include only these fields in the response", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "page", "in": "query", "description": "Return only page N of paginated results", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "per_page", "in": "query", "description": "Return N rows of data per page", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "sorts", "in": "query", "description": "Fields to sort by.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "id", "in": "query", "description": "Match User Id.", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "first_name", "in": "query", "description": "Match First name.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "last_name", "in": "query", "description": "Match Last name.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "verified_looker_employee", "in": "query", "description": "Search for user accounts associated with Looker employees", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "email", "in": "query", "description": "Search for the user with this email address", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "is_disabled", "in": "query", "description": "Search for disabled user accounts", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "filter_or", "in": "query", "description": "Combine given search criteria in a boolean OR expression", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "content_metadata_id", "in": "query", "description": "Search for users who have access to this content_metadata item", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "group_id", "in": "query", "description": "Search for users who are direct members of this group", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { @@ -19158,7 +24476,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/User" } + "items": { + "$ref": "#/components/schemas/User" + } } } } @@ -19167,7 +24487,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -19175,7 +24497,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -19186,7 +24510,9 @@ }, "/users/search/names/{pattern}": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "search_users_names", "summary": "Search User Names", "description": "### Search for user accounts by name\n\nReturns all user accounts where `first_name` OR `last_name` OR `email` field values match a pattern.\nThe pattern can contain `%` and `_` wildcards as in SQL LIKE expressions.\n\nAny additional search params will be combined into a logical AND expression.\n", @@ -19196,77 +24522,102 @@ "in": "path", "description": "Pattern to match", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Include only these fields in the response", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "page", "in": "query", "description": "Return only page N of paginated results", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "per_page", "in": "query", "description": "Return N rows of data per page", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "sorts", "in": "query", "description": "Fields to sort by", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "id", "in": "query", "description": "Match User Id", "required": false, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "first_name", "in": "query", "description": "Match First name", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "last_name", "in": "query", "description": "Match Last name", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "verified_looker_employee", "in": "query", "description": "Match Verified Looker employee", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "email", "in": "query", "description": "Match Email Address", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "is_disabled", "in": "query", "description": "Include or exclude disabled accounts in the results", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], "responses": { @@ -19276,7 +24627,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/User" } + "items": { + "$ref": "#/components/schemas/User" + } } } } @@ -19285,7 +24638,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -19293,7 +24648,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -19304,7 +24661,9 @@ }, "/users/{user_id}": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user", "summary": "Get User by Id", "description": "### Get information about the user with a specific id.\n\nIf the caller is an admin or the caller is the user being specified, then full user information will\nbe returned. Otherwise, a minimal 'public' variant of the user information will be returned. This contains\nThe user name and avatar url, but no sensitive information.\n", @@ -19314,14 +24673,19 @@ "in": "path", "description": "Id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -19329,7 +24693,9 @@ "description": "Specified user.", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/User" } + "schema": { + "$ref": "#/components/schemas/User" + } } } }, @@ -19337,7 +24703,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -19345,7 +24713,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -19354,7 +24724,9 @@ "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "update_user", "summary": "Update User", "description": "### Update information about the user with a specific id.\n", @@ -19364,31 +24736,29 @@ "in": "path", "description": "Id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/User" } - } - }, - "description": "User", - "required": true - }, "responses": { "200": { "description": "New state for specified user.", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/User" } + "schema": { + "$ref": "#/components/schemas/User" + } } } }, @@ -19396,7 +24766,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -19404,7 +24776,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -19412,16 +24786,31 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + }, + "description": "User", + "required": true + } }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user", "summary": "Delete User", "description": "### Delete the user with a specific id.\n\n**DANGER** this will delete the user and all looks and other information owned by the user.\n", @@ -19431,21 +24820,30 @@ "in": "path", "description": "Id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { "204": { "description": "User successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -19453,7 +24851,9 @@ "description": "Permission Denied", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -19461,7 +24861,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -19472,7 +24874,9 @@ }, "/users/credential/{credential_type}/{credential_id}": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_for_credential", "summary": "Get User by Credential Id", "description": "### Get information about the user with a credential of given type with specific id.\n\nThis is used to do things like find users by their embed external_user_id. Or, find the user with\na given api3 client_id, etc. The 'credential_type' matches the 'type' name of the various credential\ntypes. It must be one of the values listed in the table below. The 'credential_id' is your unique Id\nfor the user and is specific to each type of credential.\n\nAn example using the Ruby sdk might look like:\n\n`sdk.user_for_credential('embed', 'customer-4959425')`\n\nThis table shows the supported 'Credential Type' strings. The right column is for reference; it shows\nwhich field in the given credential type is actually searched when finding a user with the supplied\n'credential_id'.\n\n| Credential Types | Id Field Matched |\n| ---------------- | ---------------- |\n| email | email |\n| google | google_user_id |\n| saml | saml_user_id |\n| oidc | oidc_user_id |\n| ldap | ldap_id |\n| api | token |\n| api3 | client_id |\n| embed | external_user_id |\n| looker_openid | email |\n\n**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'.\n\n", @@ -19482,21 +24886,27 @@ "in": "path", "description": "Type name of credential", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "credential_id", "in": "path", "description": "Id of credential", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -19504,7 +24914,9 @@ "description": "Specified user.", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/User" } + "schema": { + "$ref": "#/components/schemas/User" + } } } }, @@ -19512,7 +24924,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -19520,8 +24934,10 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } + "schema": { + "$ref": "#/components/schemas/Error" + } + } } } }, @@ -19531,7 +24947,9 @@ }, "/users/{user_id}/credentials_email": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_email", "summary": "Get Email/Password Credential", "description": "### Email/password login information for the specified user.", @@ -19541,14 +24959,19 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -19556,7 +24979,9 @@ "description": "Email/Password Credential", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsEmail" } + "schema": { + "$ref": "#/components/schemas/CredentialsEmail" + } } } }, @@ -19564,7 +24989,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -19572,7 +24999,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -19581,7 +25010,9 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "create_user_credentials_email", "summary": "Create Email/Password Credential", "description": "### Email/password login information for the specified user.", @@ -19591,26 +25022,29 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/CredentialsEmail", - "required": true - }, "responses": { "200": { "description": "Email/Password Credential", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsEmail" } + "schema": { + "$ref": "#/components/schemas/CredentialsEmail" + } } } }, @@ -19618,7 +25052,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -19626,7 +25062,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -19634,7 +25072,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -19642,7 +25082,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -19650,16 +25092,31 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CredentialsEmail" + } + } + }, + "description": "Email/Password Credential", + "required": true + } }, "patch": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "update_user_credentials_email", "summary": "Update Email/Password Credential", "description": "### Email/password login information for the specified user.", @@ -19669,26 +25126,29 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "$ref": "#/components/requestBodies/CredentialsEmail", - "required": true - }, "responses": { "200": { "description": "Email/Password Credential", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsEmail" } + "schema": { + "$ref": "#/components/schemas/CredentialsEmail" + } } } }, @@ -19696,7 +25156,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -19704,7 +25166,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -19712,7 +25176,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -19720,16 +25186,31 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CredentialsEmail" + } + } + }, + "description": "Email/Password Credential", + "required": true + } }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_email", "summary": "Delete Email/Password Credential", "description": "### Email/password login information for the specified user.", @@ -19739,21 +25220,30 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -19761,7 +25251,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -19769,7 +25261,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -19780,7 +25274,9 @@ }, "/users/{user_id}/credentials_totp": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_totp", "summary": "Get Two-Factor Credential", "description": "### Two-factor login information for the specified user.", @@ -19790,14 +25286,19 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -19805,7 +25306,9 @@ "description": "Two-Factor Credential", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsTotp" } + "schema": { + "$ref": "#/components/schemas/CredentialsTotp" + } } } }, @@ -19813,7 +25316,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -19821,7 +25326,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -19830,7 +25337,9 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "create_user_credentials_totp", "summary": "Create Two-Factor Credential", "description": "### Two-factor login information for the specified user.", @@ -19840,31 +25349,29 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsTotp" } - } - }, - "description": "Two-Factor Credential", - "required": false - }, "responses": { "200": { "description": "Two-Factor Credential", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsTotp" } + "schema": { + "$ref": "#/components/schemas/CredentialsTotp" + } } } }, @@ -19872,7 +25379,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -19880,7 +25389,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -19888,7 +25399,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -19896,7 +25409,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -19904,16 +25419,31 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CredentialsTotp" + } + } + }, + "description": "Two-Factor Credential", + "required": false + } }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_totp", "summary": "Delete Two-Factor Credential", "description": "### Two-factor login information for the specified user.", @@ -19923,21 +25453,30 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -19945,7 +25484,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -19953,7 +25494,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -19964,7 +25507,9 @@ }, "/users/{user_id}/credentials_ldap": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_ldap", "summary": "Get LDAP Credential", "description": "### LDAP login information for the specified user.", @@ -19974,14 +25519,19 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -19989,7 +25539,9 @@ "description": "LDAP Credential", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsLDAP" } + "schema": { + "$ref": "#/components/schemas/CredentialsLDAP" + } } } }, @@ -19997,7 +25549,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20005,7 +25559,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -20014,7 +25570,9 @@ "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_ldap", "summary": "Delete LDAP Credential", "description": "### LDAP login information for the specified user.", @@ -20024,21 +25582,30 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20046,7 +25613,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20054,7 +25623,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -20065,7 +25636,9 @@ }, "/users/{user_id}/credentials_google": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_google", "summary": "Get Google Auth Credential", "description": "### Google authentication login information for the specified user.", @@ -20075,14 +25648,19 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -20090,7 +25668,9 @@ "description": "Google Auth Credential", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsGoogle" } + "schema": { + "$ref": "#/components/schemas/CredentialsGoogle" + } } } }, @@ -20098,7 +25678,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20106,7 +25688,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -20115,7 +25699,9 @@ "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_google", "summary": "Delete Google Auth Credential", "description": "### Google authentication login information for the specified user.", @@ -20125,21 +25711,30 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20147,7 +25742,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20155,7 +25752,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -20166,7 +25765,9 @@ }, "/users/{user_id}/credentials_saml": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_saml", "summary": "Get Saml Auth Credential", "description": "### Saml authentication login information for the specified user.", @@ -20176,14 +25777,19 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -20191,7 +25797,9 @@ "description": "Saml Auth Credential", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsSaml" } + "schema": { + "$ref": "#/components/schemas/CredentialsSaml" + } } } }, @@ -20199,7 +25807,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20207,7 +25817,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -20216,7 +25828,9 @@ "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_saml", "summary": "Delete Saml Auth Credential", "description": "### Saml authentication login information for the specified user.", @@ -20226,21 +25840,30 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20248,7 +25871,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20256,7 +25881,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -20267,7 +25894,9 @@ }, "/users/{user_id}/credentials_oidc": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_oidc", "summary": "Get OIDC Auth Credential", "description": "### OpenID Connect (OIDC) authentication login information for the specified user.", @@ -20277,14 +25906,19 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -20292,7 +25926,9 @@ "description": "OIDC Auth Credential", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsOIDC" } + "schema": { + "$ref": "#/components/schemas/CredentialsOIDC" + } } } }, @@ -20300,7 +25936,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20308,7 +25946,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -20317,7 +25957,9 @@ "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_oidc", "summary": "Delete OIDC Auth Credential", "description": "### OpenID Connect (OIDC) authentication login information for the specified user.", @@ -20327,21 +25969,30 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20349,7 +26000,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20357,7 +26010,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -20368,7 +26023,9 @@ }, "/users/{user_id}/credentials_api3/{credentials_api3_id}": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_api3", "summary": "Get API 3 Credential", "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", @@ -20378,21 +26035,29 @@ "in": "path", "description": "Id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "credentials_api3_id", "in": "path", "description": "Id of API 3 Credential", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -20400,7 +26065,9 @@ "description": "API 3 Credential", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsApi3" } + "schema": { + "$ref": "#/components/schemas/CredentialsApi3" + } } } }, @@ -20408,7 +26075,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20416,7 +26085,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -20425,7 +26096,9 @@ "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_api3", "summary": "Delete API 3 Credential", "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", @@ -20435,28 +26108,40 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } - }, + "schema": { + "type": "integer", + "format": "int64" + } + }, { "name": "credentials_api3_id", "in": "path", "description": "id of API 3 Credential", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20464,7 +26149,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20472,7 +26159,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -20483,7 +26172,9 @@ }, "/users/{user_id}/credentials_api3": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "all_user_credentials_api3s", "summary": "Get All API 3 Credentials", "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", @@ -20493,14 +26184,19 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -20510,7 +26206,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/CredentialsApi3" } + "items": { + "$ref": "#/components/schemas/CredentialsApi3" + } } } } @@ -20519,7 +26217,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20527,7 +26227,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -20536,7 +26238,9 @@ "x-looker-activity-type": "non_query" }, "post": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "create_user_credentials_api3", "summary": "Create API 3 Credential", "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", @@ -20546,31 +26250,29 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsApi3" } - } - }, - "description": "API 3 Credential", - "required": false - }, "responses": { "200": { "description": "API 3 Credential", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsApi3" } + "schema": { + "$ref": "#/components/schemas/CredentialsApi3" + } } } }, @@ -20578,7 +26280,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20586,7 +26290,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20594,7 +26300,9 @@ "description": "Resource Already Exists", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20602,7 +26310,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -20610,18 +26320,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CredentialsApi3" + } + } + }, + "description": "API 3 Credential", + "required": false + } } }, "/users/{user_id}/credentials_embed/{credentials_embed_id}": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_embed", "summary": "Get Embedding Credential", "description": "### Embed login information for the specified user.", @@ -20631,21 +26356,29 @@ "in": "path", "description": "Id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "credentials_embed_id", "in": "path", "description": "Id of Embedding Credential", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -20653,7 +26386,9 @@ "description": "Embedding Credential", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsEmbed" } + "schema": { + "$ref": "#/components/schemas/CredentialsEmbed" + } } } }, @@ -20661,7 +26396,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20669,7 +26406,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -20678,7 +26417,9 @@ "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_embed", "summary": "Delete Embedding Credential", "description": "### Embed login information for the specified user.", @@ -20688,28 +26429,40 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "credentials_embed_id", "in": "path", "description": "id of Embedding Credential", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20717,7 +26470,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20725,7 +26480,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -20736,7 +26493,9 @@ }, "/users/{user_id}/credentials_embed": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "all_user_credentials_embeds", "summary": "Get All Embedding Credentials", "description": "### Embed login information for the specified user.", @@ -20746,14 +26505,19 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -20763,7 +26527,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/CredentialsEmbed" } + "items": { + "$ref": "#/components/schemas/CredentialsEmbed" + } } } } @@ -20772,7 +26538,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20780,7 +26548,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -20791,7 +26561,9 @@ }, "/users/{user_id}/credentials_looker_openid": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_looker_openid", "summary": "Get Looker OpenId Credential", "description": "### Looker Openid login information for the specified user. Used by Looker Analysts.", @@ -20801,14 +26573,19 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -20826,7 +26603,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20834,7 +26613,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -20843,7 +26624,9 @@ "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_looker_openid", "summary": "Delete Looker OpenId Credential", "description": "### Looker Openid login information for the specified user. Used by Looker Analysts.", @@ -20853,21 +26636,30 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20875,7 +26667,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20883,7 +26677,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -20894,7 +26690,9 @@ }, "/users/{user_id}/sessions/{session_id}": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_session", "summary": "Get Web Login Session", "description": "### Web login session for the specified user.", @@ -20904,21 +26702,29 @@ "in": "path", "description": "Id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "session_id", "in": "path", "description": "Id of Web Login Session", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -20926,7 +26732,9 @@ "description": "Web Login Session", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Session" } + "schema": { + "$ref": "#/components/schemas/Session" + } } } }, @@ -20934,7 +26742,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20942,7 +26752,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -20951,7 +26763,9 @@ "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_session", "summary": "Delete Web Login Session", "description": "### Web login session for the specified user.", @@ -20961,28 +26775,40 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "session_id", "in": "path", "description": "id of Web Login Session", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { "204": { "description": "Successfully deleted.", "content": { - "application/json": { "schema": { "type": "string" } } + "application/json": { + "schema": { + "type": "string" + } + } } }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20990,7 +26816,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -20998,7 +26826,9 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -21009,7 +26839,9 @@ }, "/users/{user_id}/sessions": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "all_user_sessions", "summary": "Get All Web Login Sessions", "description": "### Web login session for the specified user.", @@ -21019,14 +26851,19 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -21036,7 +26873,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Session" } + "items": { + "$ref": "#/components/schemas/Session" + } } } } @@ -21045,7 +26884,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -21053,7 +26894,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -21064,7 +26907,9 @@ }, "/users/{user_id}/credentials_email/password_reset": { "post": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "create_user_credentials_email_password_reset", "summary": "Create Password Reset Token", "description": "### Create a password reset token.\nThis will create a cryptographically secure random password reset token for the user.\nIf the user already has a password reset token then this invalidates the old token and creates a new one.\nThe token is expressed as the 'password_reset_url' of the user's email/password credential object.\nThis takes an optional 'expires' param to indicate if the new token should be an expiring token.\nTokens that expire are typically used for self-service password resets for existing users.\nInvitation emails for new users typically are not set to expire.\nThe expire period is always 60 minutes when expires is enabled.\nThis method can be called with an empty body.\n", @@ -21074,21 +26919,28 @@ "in": "path", "description": "Id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "expires", "in": "query", "description": "Expiring token.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -21096,7 +26948,9 @@ "description": "email/password credential", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsEmail" } + "schema": { + "$ref": "#/components/schemas/CredentialsEmail" + } } } }, @@ -21104,7 +26958,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -21112,7 +26968,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -21123,7 +26981,9 @@ }, "/users/{user_id}/roles": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_roles", "summary": "Get User Roles", "description": "### Get information about roles of a given user\n", @@ -21133,21 +26993,28 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "direct_association_only", "in": "query", "description": "Get only roles associated directly with the user: exclude those only associated through groups.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], "responses": { @@ -21157,7 +27024,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Role" } + "items": { + "$ref": "#/components/schemas/Role" + } } } } @@ -21166,7 +27035,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -21174,7 +27045,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -21183,7 +27056,9 @@ "x-looker-activity-type": "non_query" }, "put": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "set_user_roles", "summary": "Set User Roles", "description": "### Set roles of the user with a specific id.\n", @@ -21193,28 +27068,21 @@ "in": "path", "description": "id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "type": "integer", "format": "int64" } - } - } - }, - "description": "array of roles ids for user", - "required": true - }, "responses": { "200": { "description": "Roles of user.", @@ -21222,7 +27090,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Role" } + "items": { + "$ref": "#/components/schemas/Role" + } } } } @@ -21231,7 +27101,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -21239,18 +27111,37 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + } + } + } + }, + "description": "array of roles ids for user", + "required": true + } } }, "/users/{user_id}/attribute_values": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_attribute_user_values", "summary": "Get User Attribute Values", "description": "### Get user attribute values for a given user.\n\nReturns the values of specified user attributes (or all user attributes) for a certain user.\n\nA value for each user attribute is searched for in the following locations, in this order:\n\n1. in the user's account information\n1. in groups that the user is a member of\n1. the default value of the user attribute\n\nIf more than one group has a value defined for a user attribute, the group with the lowest rank wins.\n\nThe response will only include user attributes for which values were found. Use `include_unset=true` to include\nempty records for user attributes with no value.\n\nThe value of all hidden user attributes will be blank.\n", @@ -21260,14 +27151,19 @@ "in": "path", "description": "Id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "fields", "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "user_attribute_ids", @@ -21278,7 +27174,10 @@ "explode": false, "schema": { "type": "array", - "items": { "type": "integer", "format": "int64" } + "items": { + "type": "integer", + "format": "int64" + } } }, { @@ -21286,14 +27185,18 @@ "in": "query", "description": "If true, returns all values in the search path instead of just the first value found. Useful for debugging group precedence.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } }, { "name": "include_unset", "in": "query", "description": "If true, returns an empty record for each requested attribute that has no user, group, or default value.", "required": false, - "schema": { "type": "boolean" } + "schema": { + "type": "boolean" + } } ], "responses": { @@ -21314,7 +27217,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -21325,7 +27230,9 @@ }, "/users/{user_id}/attribute_values/{user_attribute_id}": { "patch": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "set_user_attribute_user_value", "summary": "Set User Attribute User Value", "description": "### Store a custom value for a user attribute in a user's account settings.\n\nPer-user user attribute values take precedence over group or default values.\n", @@ -21335,27 +27242,22 @@ "in": "path", "description": "Id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "user_attribute_id", "in": "path", "description": "Id of user attribute", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserAttributeWithValue" - } - } - }, - "description": "New attribute value for user.", - "required": true - }, "responses": { "200": { "description": "User attribute value.", @@ -21371,7 +27273,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -21379,7 +27283,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -21387,16 +27293,31 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserAttributeWithValue" + } + } + }, + "description": "New attribute value for user.", + "required": true + } }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_attribute_user_value", "summary": "Delete User Attribute User Value", "description": "### Delete a user attribute value from a user's account settings.\n\nAfter the user attribute value is deleted from the user's account settings, subsequent requests\nfor the user attribute value for this user will draw from the user's groups or the default\nvalue of the user attribute. See [Get User Attribute Values](#!/User/user_attribute_user_values) for more\ninformation about how user attribute values are resolved.\n", @@ -21406,23 +27327,33 @@ "in": "path", "description": "Id of user", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } }, { "name": "user_attribute_id", "in": "path", "description": "Id of user attribute", "required": true, - "schema": { "type": "integer", "format": "int64" } + "schema": { + "type": "integer", + "format": "int64" + } } ], "responses": { - "204": { "description": "Deleted" }, + "204": { + "description": "Deleted" + }, "400": { "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -21430,7 +27361,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -21441,7 +27374,9 @@ }, "/vector_thumbnail/{type}/{resource_id}": { "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "vector_thumbnail", "summary": "Get Vector Thumbnail", "description": "### Get a vector image representing the contents of a dashboard or look.\n\n# DEPRECATED: Use [content_thumbnail()](#!/Content/content_thumbnail)\n\nThe returned thumbnail is an abstract representation of the contents of a dashbord or look and does not\nreflect the actual data displayed in the respective visualizations.\n", @@ -21451,33 +27386,47 @@ "in": "path", "description": "Either dashboard or look", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "resource_id", "in": "path", "description": "ID of the dashboard or look to render", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, { "name": "reload", "in": "query", "description": "Whether or not to refresh the rendered image with the latest content", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "200": { "description": "Vector thumbnail", - "content": { "image/svg+xml": { "schema": { "type": "string" } } } + "content": { + "image/svg+xml": { + "schema": { + "type": "string" + } + } + } }, "400": { "description": "Bad Request", "content": { "image/svg+xml": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -21485,7 +27434,9 @@ "description": "Not Found", "content": { "image/svg+xml": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -21497,7 +27448,9 @@ }, "/versions": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "versions", "summary": "Get ApiVersion", "description": "### Get information about all API versions supported by this Looker instance.\n", @@ -21507,7 +27460,9 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -21515,7 +27470,9 @@ "description": "ApiVersion", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ApiVersion" } + "schema": { + "$ref": "#/components/schemas/ApiVersion" + } } } }, @@ -21523,7 +27480,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -21531,7 +27490,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -21542,7 +27503,9 @@ }, "/whitelabel_configuration": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "whitelabel_configuration", "summary": "Get Whitelabel configuration", "description": "### This feature is enabled only by special license.\n### Gets the whitelabel configuration, which includes hiding documentation links, custom favicon uploading, etc.\n", @@ -21552,7 +27515,9 @@ "in": "query", "description": "Requested fields.", "required": false, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -21570,7 +27535,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -21578,7 +27545,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -21587,21 +27556,12 @@ "x-looker-activity-type": "non_query" }, "put": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "update_whitelabel_configuration", "summary": "Update Whitelabel configuration", "description": "### Update the whitelabel configuration\n", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/WhitelabelConfiguration" - } - } - }, - "description": "Whitelabel configuration", - "required": true - }, "responses": { "200": { "description": "Whitelabel configuration", @@ -21617,7 +27577,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -21625,7 +27587,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -21633,7 +27597,9 @@ "description": "Validation Error", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } + "schema": { + "$ref": "#/components/schemas/ValidationError" + } } } }, @@ -21641,18 +27607,33 @@ "description": "Too Many Requests", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } }, "x-looker-status": "stable", - "x-looker-activity-type": "non_query" + "x-looker-activity-type": "non_query", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WhitelabelConfiguration" + } + } + }, + "description": "Whitelabel configuration", + "required": true + } } }, "/workspaces": { "get": { - "tags": ["Workspace"], + "tags": [ + "Workspace" + ], "operationId": "all_workspaces", "summary": "Get All Workspaces", "description": "### Get All Workspaces\n\nReturns all workspaces available to the calling user.\n", @@ -21663,7 +27644,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/Workspace" } + "items": { + "$ref": "#/components/schemas/Workspace" + } } } } @@ -21672,7 +27655,9 @@ "description": "Bad Request", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } }, @@ -21680,7 +27665,9 @@ "description": "Not Found", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } + "schema": { + "$ref": "#/components/schemas/Error" + } } } } @@ -21691,7 +27678,9 @@ }, "/workspaces/{workspace_id}": { "get": { - "tags": ["Workspace"], + "tags": [ + "Workspace" + ], "operationId": "workspace", "summary": "Get Workspace", "description": "### Get A Workspace\n\nReturns information about a workspace such as the git status and selected branches\nof all projects available to the caller's user account.\n\nA workspace defines which versions of project files will be used to evaluate expressions\nand operations that use model definitions - operations such as running queries or rendering dashboards.\nEach project has its own git repository, and each project in a workspace may be configured to reference\nparticular branch or revision within their respective repositories.\n\nThere are two predefined workspaces available: \"production\" and \"dev\".\n\nThe production workspace is shared across all Looker users. Models in the production workspace are read-only.\nChanging files in production is accomplished by modifying files in a git branch and using Pull Requests\nto merge the changes from the dev branch into the production branch, and then telling\nLooker to sync with production.\n\nThe dev workspace is local to each Looker user. Changes made to project/model files in the dev workspace only affect\nthat user, and only when the dev workspace is selected as the active workspace for the API session.\n(See set_session_workspace()).\n\nThe dev workspace is NOT unique to an API session. Two applications accessing the Looker API using\nthe same user account will see the same files in the dev workspace. To avoid collisions between\nAPI clients it's best to have each client login with API3 credentials for a different user account.\n\nChanges made to files in a dev workspace are persistent across API sessions. It's a good\nidea to commit any changes you've made to the git repository, but not strictly required. Your modified files\nreside in a special user-specific directory on the Looker server and will still be there when you login in again\nlater and use update_session(workspace_id: \"dev\") to select the dev workspace for the new API session.\n", @@ -21701,7 +27690,9 @@ "in": "path", "description": "Id of the workspace ", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { @@ -21709,254 +27700,45 @@ "description": "Workspace", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/Workspace" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - } - }, - "servers": [{ "url": "http://localhost:19999/api/3.1" }], - "components": { - "requestBodies": { - "ColorCollection": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ColorCollection" } - } - }, - "description": "ColorCollection", - "required": true - }, - "LookmlModel": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/LookmlModel" } - } - }, - "description": "LookML Model", - "required": true - }, - "Project": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Project" } - } - }, - "description": "Project", - "required": true - }, - "HomepageItem": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/HomepageItem" } - } - }, - "description": "Homepage Item", - "required": true - }, - "Dashboard": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Dashboard" } - } - }, - "description": "Dashboard", - "required": true - }, - "ScheduledPlan": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ScheduledPlan" } - } - }, - "description": "Scheduled Plan", - "required": true - }, - "DashboardLayout": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DashboardLayout" } - } - }, - "description": "DashboardLayout", - "required": true - }, - "CredentialsEmail": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsEmail" } - } - }, - "description": "Email/Password Credential", - "required": true - }, - "DBConnection": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DBConnection" } - } - }, - "description": "Connection", - "required": true - }, - "UserAttribute": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/UserAttribute" } - } - }, - "description": "User Attribute", - "required": true - }, - "Theme": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Theme" } - } - }, - "description": "Theme", - "required": true - }, - "ContentMetaGroupUser": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ContentMetaGroupUser" } - } - }, - "description": "Content Metadata Access", - "required": true - }, - "DashboardElement": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DashboardElement" } - } - }, - "description": "DashboardElement", - "required": true - }, - "GitBranch": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/GitBranch" } - } - }, - "description": "Git Branch", - "required": true - }, - "Group": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Group" } - } - }, - "description": "Group", - "required": true - }, - "Homepage": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Homepage" } - } - }, - "description": "Homepage", - "required": true - }, - "HomepageSection": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/HomepageSection" } - } - }, - "description": "Homepage section", - "required": true - }, - "IntegrationHub": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/IntegrationHub" } - } - }, - "description": "Integration Hub", - "required": true - }, - "LDAPConfig": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/LDAPConfig" } - } - }, - "description": "LDAP Config", - "required": true - }, - "LookWithQuery": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/LookWithQuery" } - } - }, - "description": "Look", - "required": true - }, - "ModelSet": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ModelSet" } - } - }, - "description": "ModelSet", - "required": true - }, - "PermissionSet": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/PermissionSet" } - } - }, - "description": "Permission Set", - "required": true - }, - "CreateDashboardRenderTask": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateDashboardRenderTask" + "schema": { + "$ref": "#/components/schemas/Workspace" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } } } }, - "description": "Dashboard render task parameters", - "required": true - }, - "Role": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Role" } - } - }, - "description": "Role", - "required": true + "x-looker-status": "stable", + "x-looker-activity-type": "non_query" } - }, + } + }, + "servers": [ + { + "url": "https://localhost:20000/api/3.1" + } + ], + "components": { + "requestBodies": {}, "schemas": { "Error": { "properties": { @@ -21975,13 +27757,18 @@ } }, "x-looker-status": "stable", - "required": ["message", "documentation_url"] + "required": [ + "message", + "documentation_url" + ] }, "DashboardBase": { "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -22018,7 +27805,9 @@ "description": "Unique Id", "nullable": false }, - "model": { "$ref": "#/components/schemas/LookModel" }, + "model": { + "$ref": "#/components/schemas/LookModel" + }, "query_timezone": { "type": "string", "readOnly": true, @@ -22044,7 +27833,9 @@ "description": "Refresh Interval in milliseconds", "nullable": true }, - "folder": { "$ref": "#/components/schemas/FolderBase" }, + "folder": { + "$ref": "#/components/schemas/FolderBase" + }, "title": { "type": "string", "readOnly": true, @@ -22058,7 +27849,9 @@ "description": "Id of User", "nullable": true }, - "space": { "$ref": "#/components/schemas/SpaceBase" } + "space": { + "$ref": "#/components/schemas/SpaceBase" + } }, "x-looker-status": "stable" }, @@ -22158,14 +27951,18 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false } }, "x-looker-status": "stable", - "required": ["name"] + "required": [ + "name" + ] }, "CreateSpace": { "properties": { @@ -22181,7 +27978,10 @@ } }, "x-looker-status": "stable", - "required": ["name", "parent_id"] + "required": [ + "name", + "parent_id" + ] }, "UpdateSpace": { "properties": { @@ -22294,34 +28094,44 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false }, "dashboards": { "type": "array", - "items": { "$ref": "#/components/schemas/DashboardBase" }, + "items": { + "$ref": "#/components/schemas/DashboardBase" + }, "readOnly": true, "description": "Dashboards", "nullable": true }, "looks": { "type": "array", - "items": { "$ref": "#/components/schemas/LookWithDashboards" }, + "items": { + "$ref": "#/components/schemas/LookWithDashboards" + }, "readOnly": true, "description": "Looks", "nullable": true } }, "x-looker-status": "stable", - "required": ["name"] + "required": [ + "name" + ] }, "Homepage": { "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -22353,7 +28163,9 @@ }, "homepage_sections": { "type": "array", - "items": { "$ref": "#/components/schemas/HomepageSection" }, + "items": { + "$ref": "#/components/schemas/HomepageSection" + }, "readOnly": true, "description": "Sections of the homepage", "nullable": true @@ -22366,7 +28178,10 @@ }, "section_order": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "ids of the homepage sections in the order they should be displayed", "nullable": true }, @@ -22402,7 +28217,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -22434,7 +28251,9 @@ }, "homepage_items": { "type": "array", - "items": { "$ref": "#/components/schemas/HomepageItem" }, + "items": { + "$ref": "#/components/schemas/HomepageItem" + }, "readOnly": true, "description": "Items in the homepage section", "nullable": true @@ -22453,7 +28272,10 @@ }, "item_order": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "ids of the homepage items in the order they should be displayed", "nullable": true }, @@ -22473,6 +28295,16 @@ "type": "string", "description": "Description of the content found in this section.", "nullable": true + }, + "visible_item_order": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + }, + "readOnly": true, + "description": "ids of the homepage items the user can see in the order they should be displayed", + "nullable": true } }, "x-looker-status": "stable" @@ -22481,7 +28313,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -22657,7 +28491,9 @@ }, "errors": { "type": "array", - "items": { "$ref": "#/components/schemas/ValidationErrorDetail" }, + "items": { + "$ref": "#/components/schemas/ValidationErrorDetail" + }, "readOnly": true, "description": "Error detail array", "nullable": true @@ -22671,7 +28507,10 @@ } }, "x-looker-status": "stable", - "required": ["message", "documentation_url"] + "required": [ + "message", + "documentation_url" + ] }, "ValidationErrorDetail": { "properties": { @@ -22702,7 +28541,9 @@ } }, "x-looker-status": "stable", - "required": ["documentation_url"] + "required": [ + "documentation_url" + ] }, "AccessToken": { "properties": { @@ -22732,7 +28573,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -22756,7 +28599,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -22834,7 +28679,9 @@ }, "stops": { "type": "array", - "items": { "$ref": "#/components/schemas/ColorStop" }, + "items": { + "$ref": "#/components/schemas/ColorStop" + }, "description": "Array of ColorStops in the palette", "nullable": false } @@ -22861,7 +28708,9 @@ }, "colors": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Array of colors in the palette", "nullable": false } @@ -22883,19 +28732,25 @@ }, "categoricalPalettes": { "type": "array", - "items": { "$ref": "#/components/schemas/DiscretePalette" }, + "items": { + "$ref": "#/components/schemas/DiscretePalette" + }, "description": "Array of categorical palette definitions", "nullable": false }, "sequentialPalettes": { "type": "array", - "items": { "$ref": "#/components/schemas/ContinuousPalette" }, + "items": { + "$ref": "#/components/schemas/ContinuousPalette" + }, "description": "Array of discrete palette definitions", "nullable": false }, "divergingPalettes": { "type": "array", - "items": { "$ref": "#/components/schemas/ContinuousPalette" }, + "items": { + "$ref": "#/components/schemas/ContinuousPalette" + }, "description": "Array of diverging palette definitions", "nullable": false } @@ -22937,8 +28792,12 @@ "description": "Id of a dashboard", "nullable": true }, - "look": { "$ref": "#/components/schemas/LookBasic" }, - "dashboard": { "$ref": "#/components/schemas/DashboardBase" } + "look": { + "$ref": "#/components/schemas/LookBasic" + }, + "dashboard": { + "$ref": "#/components/schemas/DashboardBase" + } }, "x-looker-status": "stable" }, @@ -22946,7 +28805,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -22966,7 +28827,10 @@ "permission_type": { "type": "string", "readOnly": true, - "enum": ["view", "edit"], + "enum": [ + "view", + "edit" + ], "description": "Type of permission: \"view\" or \"edit\" Valid values are: \"view\", \"edit\".", "nullable": true }, @@ -22991,7 +28855,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -23072,7 +28938,9 @@ "properties": { "content_with_errors": { "type": "array", - "items": { "$ref": "#/components/schemas/ContentValidatorError" }, + "items": { + "$ref": "#/components/schemas/ContentValidatorError" + }, "readOnly": true, "description": "A list of content errors", "nullable": true @@ -23131,7 +28999,9 @@ }, "ContentValidatorError": { "properties": { - "look": { "$ref": "#/components/schemas/ContentValidationLook" }, + "look": { + "$ref": "#/components/schemas/ContentValidationLook" + }, "dashboard": { "$ref": "#/components/schemas/ContentValidationDashboard" }, @@ -23144,7 +29014,9 @@ "scheduled_plan": { "$ref": "#/components/schemas/ContentValidationScheduledPlan" }, - "alert": { "$ref": "#/components/schemas/ContentValidationAlert" }, + "alert": { + "$ref": "#/components/schemas/ContentValidationAlert" + }, "lookml_dashboard": { "$ref": "#/components/schemas/ContentValidationLookMLDashboard" }, @@ -23153,7 +29025,9 @@ }, "errors": { "type": "array", - "items": { "$ref": "#/components/schemas/ContentValidationError" }, + "items": { + "$ref": "#/components/schemas/ContentValidationError" + }, "readOnly": true, "description": "A list of errors found for this piece of content", "nullable": true @@ -23182,7 +29056,9 @@ } }, "x-looker-status": "stable", - "required": ["name"] + "required": [ + "name" + ] }, "ContentValidationFolder": { "properties": { @@ -23199,7 +29075,9 @@ } }, "x-looker-status": "stable", - "required": ["name"] + "required": [ + "name" + ] }, "ContentValidationLook": { "properties": { @@ -23215,8 +29093,12 @@ "description": "Look Title", "nullable": true }, - "folder": { "$ref": "#/components/schemas/ContentValidationFolder" }, - "space": { "$ref": "#/components/schemas/ContentValidationSpace" } + "folder": { + "$ref": "#/components/schemas/ContentValidationFolder" + }, + "space": { + "$ref": "#/components/schemas/ContentValidationSpace" + } }, "x-looker-status": "stable" }, @@ -23233,13 +29115,17 @@ "description": "Unique Id", "nullable": false }, - "folder": { "$ref": "#/components/schemas/ContentValidationFolder" }, + "folder": { + "$ref": "#/components/schemas/ContentValidationFolder" + }, "title": { "type": "string", "description": "Dashboard Title", "nullable": true }, - "space": { "$ref": "#/components/schemas/ContentValidationSpace" } + "space": { + "$ref": "#/components/schemas/ContentValidationSpace" + } }, "x-looker-status": "stable" }, @@ -23313,7 +29199,11 @@ "description": "Text tile title", "nullable": true }, - "type": { "type": "string", "description": "Type", "nullable": true } + "type": { + "type": "string", + "description": "Type", + "nullable": true + } }, "x-looker-status": "stable" }, @@ -23473,7 +29363,9 @@ "description": "ID of Space", "nullable": true }, - "space": { "$ref": "#/components/schemas/SpaceBase" } + "space": { + "$ref": "#/components/schemas/SpaceBase" + } }, "x-looker-status": "stable" }, @@ -23498,7 +29390,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -23584,7 +29478,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -23634,7 +29530,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -23700,7 +29598,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -23762,7 +29662,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -23823,7 +29725,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -23884,7 +29788,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -23946,7 +29852,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -24001,7 +29909,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -24056,7 +29966,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -24099,7 +30011,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -24190,7 +30104,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -24224,7 +30140,9 @@ "description": "Unique Id", "nullable": false }, - "look": { "$ref": "#/components/schemas/LookWithQuery" }, + "look": { + "$ref": "#/components/schemas/LookWithQuery" + }, "look_id": { "type": "string", "description": "Id Of Look", @@ -24262,7 +30180,9 @@ "description": "Note Text as Html", "nullable": true }, - "query": { "$ref": "#/components/schemas/Query" }, + "query": { + "$ref": "#/components/schemas/Query" + }, "query_id": { "type": "integer", "format": "int64", @@ -24310,7 +30230,11 @@ "description": "Text tile title", "nullable": true }, - "type": { "type": "string", "description": "Type", "nullable": true }, + "type": { + "type": "string", + "description": "Type", + "nullable": true + }, "alert_count": { "type": "integer", "format": "int64", @@ -24337,7 +30261,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -24391,7 +30317,10 @@ }, "field": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "readOnly": true, "description": "Field information", "nullable": true @@ -24404,7 +30333,9 @@ }, "listens_to_filters": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Array of listeners for faceted filters", "nullable": true }, @@ -24420,7 +30351,10 @@ }, "ui_config": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "description": "The visual configuration for this filter. Used to set up how the UI for this filter should appear.", "nullable": true } @@ -24477,7 +30411,10 @@ }, "field": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "readOnly": true, "description": "Field information", "nullable": true @@ -24490,7 +30427,9 @@ }, "listens_to_filters": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Array of listeners for faceted filters", "nullable": true }, @@ -24506,19 +30445,29 @@ }, "ui_config": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "description": "The visual configuration for this filter. Used to set up how the UI for this filter should appear.", "nullable": true } }, "x-looker-status": "stable", - "required": ["dashboard_id", "name", "title", "type"] + "required": [ + "dashboard_id", + "name", + "title", + "type" + ] }, "DashboardLayoutComponent": { "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -24594,7 +30543,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -24610,7 +30561,11 @@ "description": "Id of Dashboard", "nullable": true }, - "type": { "type": "string", "description": "Type", "nullable": true }, + "type": { + "type": "string", + "description": "Type", + "nullable": true + }, "active": { "type": "boolean", "description": "Is Active", @@ -24673,7 +30628,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -24708,7 +30665,9 @@ "description": "Unique Id", "nullable": false }, - "model": { "$ref": "#/components/schemas/LookModel" }, + "model": { + "$ref": "#/components/schemas/LookModel" + }, "query_timezone": { "type": "string", "description": "Timezone in which the Dashboard will run by default.", @@ -24732,7 +30691,9 @@ "description": "Refresh Interval in milliseconds", "nullable": true }, - "folder": { "$ref": "#/components/schemas/FolderBase" }, + "folder": { + "$ref": "#/components/schemas/FolderBase" + }, "title": { "type": "string", "description": "Dashboard Title", @@ -24745,7 +30706,9 @@ "description": "Id of User", "nullable": true }, - "space": { "$ref": "#/components/schemas/SpaceBase" }, + "space": { + "$ref": "#/components/schemas/SpaceBase" + }, "background_color": { "type": "string", "description": "Background color", @@ -24765,21 +30728,27 @@ }, "dashboard_elements": { "type": "array", - "items": { "$ref": "#/components/schemas/DashboardElement" }, + "items": { + "$ref": "#/components/schemas/DashboardElement" + }, "readOnly": true, "description": "Elements", "nullable": true }, "dashboard_filters": { "type": "array", - "items": { "$ref": "#/components/schemas/DashboardFilter" }, + "items": { + "$ref": "#/components/schemas/DashboardFilter" + }, "readOnly": true, "description": "Filters", "nullable": true }, "dashboard_layouts": { "type": "array", - "items": { "$ref": "#/components/schemas/DashboardLayout" }, + "items": { + "$ref": "#/components/schemas/DashboardLayout" + }, "readOnly": true, "description": "Layouts", "nullable": true @@ -24893,7 +30862,9 @@ "description": "Number of times viewed in the Looker web UI", "nullable": true }, - "appearance": { "$ref": "#/components/schemas/DashboardAppearance" }, + "appearance": { + "$ref": "#/components/schemas/DashboardAppearance" + }, "preferred_viewer": { "type": "string", "description": "The preferred route for viewing this dashboard (ie: dashboards or dashboards-next)", @@ -24966,10 +30937,14 @@ }, "DataActionForm": { "properties": { - "state": { "$ref": "#/components/schemas/DataActionUserState" }, + "state": { + "$ref": "#/components/schemas/DataActionUserState" + }, "fields": { "type": "array", - "items": { "$ref": "#/components/schemas/DataActionFormField" }, + "items": { + "$ref": "#/components/schemas/DataActionFormField" + }, "readOnly": true, "description": "Array of form fields.", "nullable": true @@ -24998,13 +30973,17 @@ "properties": { "action": { "type": "object", - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "description": "The JSON describing the data action. This JSON should be considered opaque and should be passed through unmodified from the query result it came from.", "nullable": true }, "form_values": { "type": "object", - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "description": "User input for any form values the data action might use.", "nullable": true } @@ -25065,7 +31044,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -25133,7 +31114,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -25144,10 +31127,14 @@ "description": "Name of the connection. Also used as the unique identifier", "nullable": false }, - "dialect": { "$ref": "#/components/schemas/Dialect" }, + "dialect": { + "$ref": "#/components/schemas/Dialect" + }, "snippets": { "type": "array", - "items": { "$ref": "#/components/schemas/Snippet" }, + "items": { + "$ref": "#/components/schemas/Snippet" + }, "readOnly": true, "description": "SQL Runner snippets for this connection", "nullable": false @@ -25165,7 +31152,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -25175,10 +31164,14 @@ "description": "Name of the connection. Also used as the unique identifier", "nullable": false }, - "dialect": { "$ref": "#/components/schemas/Dialect" }, + "dialect": { + "$ref": "#/components/schemas/Dialect" + }, "snippets": { "type": "array", - "items": { "$ref": "#/components/schemas/Snippet" }, + "items": { + "$ref": "#/components/schemas/Snippet" + }, "readOnly": true, "description": "SQL Runner snippets for this connection", "nullable": false @@ -25315,7 +31308,9 @@ }, "user_attribute_fields": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Fields whose values map to user attribute names", "nullable": true }, @@ -25436,7 +31431,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -25513,7 +31510,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -25624,7 +31623,9 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -25684,7 +31685,9 @@ }, "connection_tests": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Array of names of the tests that can be run on a connection using this dialect", "nullable": false @@ -25777,19 +31780,26 @@ }, "permissions": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "List of Looker permission names to grant to the embed user. Requested permissions will be filtered to permissions allowed for embed sessions.", "nullable": true }, "models": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "List of model names that the embed user may access", "nullable": true }, "group_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "List of Looker group ids in which to enroll the embed user", "nullable": true }, @@ -25800,7 +31810,10 @@ }, "user_attributes": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "description": "A dictionary of name-value pairs associating a Looker user attribute name with a value.", "nullable": true }, @@ -25812,7 +31825,9 @@ } }, "x-looker-status": "stable", - "required": ["target_url"] + "required": [ + "target_url" + ] }, "EmbedUrlResponse": { "properties": { @@ -25921,14 +31936,18 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false } }, "x-looker-status": "stable", - "required": ["name"] + "required": [ + "name" + ] }, "CreateFolder": { "properties": { @@ -25944,7 +31963,10 @@ } }, "x-looker-status": "stable", - "required": ["name", "parent_id"] + "required": [ + "name", + "parent_id" + ] }, "UpdateFolder": { "properties": { @@ -26057,34 +32079,44 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false }, "dashboards": { "type": "array", - "items": { "$ref": "#/components/schemas/DashboardBase" }, + "items": { + "$ref": "#/components/schemas/DashboardBase" + }, "readOnly": true, "description": "Dashboards", "nullable": true }, "looks": { "type": "array", - "items": { "$ref": "#/components/schemas/LookWithDashboards" }, + "items": { + "$ref": "#/components/schemas/LookWithDashboards" + }, "readOnly": true, "description": "Looks", "nullable": true } }, "x-looker-status": "stable", - "required": ["name"] + "required": [ + "name" + ] }, "GitBranch": { "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -26193,7 +32225,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -26217,7 +32251,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -26271,7 +32307,9 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -26295,7 +32333,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -26391,7 +32431,9 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -26403,7 +32445,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -26475,7 +32519,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -26512,13 +32558,17 @@ }, "params": { "type": "array", - "items": { "$ref": "#/components/schemas/IntegrationParam" }, + "items": { + "$ref": "#/components/schemas/IntegrationParam" + }, "description": "Array of params for the integration.", "nullable": false }, "supported_formats": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "enum": [ "txt", @@ -26540,33 +32590,54 @@ }, "supported_action_types": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, - "enum": ["cell", "query", "dashboard"], + "enum": [ + "cell", + "query", + "dashboard" + ], "description": "A list of action types the integration supports. Valid values are: \"cell\", \"query\", \"dashboard\".", "nullable": false }, "supported_formattings": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, - "enum": ["formatted", "unformatted"], + "enum": [ + "formatted", + "unformatted" + ], "description": "A list of formatting options the integration supports. If unspecified, defaults to all formats. Valid values are: \"formatted\", \"unformatted\".", "nullable": false }, "supported_visualization_formattings": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, - "enum": ["apply", "noapply"], + "enum": [ + "apply", + "noapply" + ], "description": "A list of visualization formatting options the integration supports. If unspecified, defaults to all formats. Valid values are: \"apply\", \"noapply\".", "nullable": false }, "supported_download_settings": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, - "enum": ["push", "url"], + "enum": [ + "push", + "url" + ], "description": "A list of all the download mechanisms the integration supports. The order of values is not significant: Looker will select the most appropriate supported download mechanism for a given query. The integration must ensure it can handle any of the mechanisms it claims to support. If unspecified, this defaults to all download setting values. Valid values are: \"push\", \"url\".", "nullable": false }, @@ -26599,7 +32670,10 @@ }, "installed_delegate_oauth_targets": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "Whether the integration is available to users.", "nullable": false } @@ -26678,14 +32752,18 @@ }, "any_tag": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "If present, supercedes 'tag' and matches a field that has any of the provided tags.", "nullable": true }, "all_tags": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "If present, supercedes 'tag' and matches a field that has all of the provided tags.", "nullable": true @@ -26709,7 +32787,9 @@ }, "delegate_oauth_result": { "type": "array", - "items": { "$ref": "#/components/schemas/DelegateOauthTest" }, + "items": { + "$ref": "#/components/schemas/DelegateOauthTest" + }, "readOnly": true, "description": "An array of connection test result for delegate oauth actions.", "nullable": true @@ -26721,7 +32801,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -26743,7 +32825,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -26760,7 +32844,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -26808,28 +32894,38 @@ }, "default_new_user_group_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "x-looker-write-only": true, "description": "(Write-Only) Array of ids of groups that will be applied to new users the first time they login via LDAP", "nullable": true }, "default_new_user_groups": { "type": "array", - "items": { "$ref": "#/components/schemas/Group" }, + "items": { + "$ref": "#/components/schemas/Group" + }, "readOnly": true, "description": "(Read-only) Groups that will be applied to new users the first time they login via LDAP", "nullable": true }, "default_new_user_role_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "x-looker-write-only": true, "description": "(Write-Only) Array of ids of roles that will be applied to new users the first time they login via LDAP", "nullable": true }, "default_new_user_roles": { "type": "array", - "items": { "$ref": "#/components/schemas/Role" }, + "items": { + "$ref": "#/components/schemas/Role" + }, "readOnly": true, "description": "(Read-only) Roles that will be applied to new users the first time they login via LDAP", "nullable": true @@ -26846,7 +32942,9 @@ }, "groups": { "type": "array", - "items": { "$ref": "#/components/schemas/LDAPGroupRead" }, + "items": { + "$ref": "#/components/schemas/LDAPGroupRead" + }, "readOnly": true, "description": "(Read-only) Array of mappings between LDAP Groups and Looker Roles", "nullable": true @@ -26878,7 +32976,9 @@ }, "groups_with_role_ids": { "type": "array", - "items": { "$ref": "#/components/schemas/LDAPGroupWrite" }, + "items": { + "$ref": "#/components/schemas/LDAPGroupWrite" + }, "description": "(Read/Write) Array of mappings between LDAP Groups and arrays of Looker Role ids", "nullable": true }, @@ -26944,14 +33044,18 @@ }, "user_attributes": { "type": "array", - "items": { "$ref": "#/components/schemas/LDAPUserAttributeRead" }, + "items": { + "$ref": "#/components/schemas/LDAPUserAttributeRead" + }, "readOnly": true, "description": "(Read-only) Array of mappings between LDAP User Attributes and Looker User Attributes", "nullable": true }, "user_attributes_with_ids": { "type": "array", - "items": { "$ref": "#/components/schemas/LDAPUserAttributeWrite" }, + "items": { + "$ref": "#/components/schemas/LDAPUserAttributeWrite" + }, "description": "(Read/Write) Array of mappings between LDAP User Attributes and arrays of Looker User Attribute ids", "nullable": true }, @@ -27010,7 +33114,9 @@ }, "issues": { "type": "array", - "items": { "$ref": "#/components/schemas/LDAPConfigTestIssue" }, + "items": { + "$ref": "#/components/schemas/LDAPConfigTestIssue" + }, "readOnly": true, "description": "Array of issues/considerations about the result", "nullable": true @@ -27033,7 +33139,9 @@ "description": "A more detailed trace of incremental results during auth tests", "nullable": true }, - "user": { "$ref": "#/components/schemas/LDAPUser" }, + "user": { + "$ref": "#/components/schemas/LDAPUser" + }, "url": { "type": "string", "format": "uri", @@ -27060,7 +33168,9 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -27098,7 +33208,9 @@ }, "roles": { "type": "array", - "items": { "$ref": "#/components/schemas/Role" }, + "items": { + "$ref": "#/components/schemas/Role" + }, "readOnly": true, "description": "Looker Roles", "nullable": true @@ -27140,7 +33252,10 @@ }, "role_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "Looker Role Ids", "nullable": true }, @@ -27170,7 +33285,9 @@ }, "user_attributes": { "type": "array", - "items": { "$ref": "#/components/schemas/UserAttribute" }, + "items": { + "$ref": "#/components/schemas/UserAttribute" + }, "readOnly": true, "description": "Looker User Attributes", "nullable": true @@ -27199,7 +33316,10 @@ }, "user_attribute_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "Looker User Attribute Ids", "nullable": true }, @@ -27217,14 +33337,18 @@ "properties": { "all_emails": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Array of user's email addresses and aliases for use in migration", "nullable": true }, "attributes": { "type": "object", - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "readOnly": true, "description": "Dictionary of user's attributes (name/value)", "nullable": true @@ -27243,7 +33367,9 @@ }, "groups": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Array of user's groups (group names only)", "nullable": true @@ -27268,14 +33394,18 @@ }, "roles": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Array of user's roles (role names only)", "nullable": true }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -27294,7 +33424,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -27414,7 +33546,9 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -27426,7 +33560,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -27458,7 +33594,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -27577,7 +33715,9 @@ "description": "Time last viewed in the Looker web UI", "nullable": true }, - "model": { "$ref": "#/components/schemas/LookModel" }, + "model": { + "$ref": "#/components/schemas/LookModel" + }, "public": { "type": "boolean", "description": "Is Public", @@ -27607,7 +33747,9 @@ "description": "Short Url", "nullable": true }, - "folder": { "$ref": "#/components/schemas/FolderBase" }, + "folder": { + "$ref": "#/components/schemas/FolderBase" + }, "folder_id": { "type": "string", "description": "Folder Id", @@ -27633,13 +33775,17 @@ "description": "Number of times viewed in the Looker web UI", "nullable": true }, - "user": { "$ref": "#/components/schemas/UserIdOnly" }, + "user": { + "$ref": "#/components/schemas/UserIdOnly" + }, "space_id": { "type": "string", "description": "Space Id", "nullable": true }, - "space": { "$ref": "#/components/schemas/SpaceBase" } + "space": { + "$ref": "#/components/schemas/SpaceBase" + } }, "x-looker-status": "stable" }, @@ -27647,7 +33793,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -27766,7 +33914,9 @@ "description": "Time last viewed in the Looker web UI", "nullable": true }, - "model": { "$ref": "#/components/schemas/LookModel" }, + "model": { + "$ref": "#/components/schemas/LookModel" + }, "public": { "type": "boolean", "description": "Is Public", @@ -27796,7 +33946,9 @@ "description": "Short Url", "nullable": true }, - "folder": { "$ref": "#/components/schemas/FolderBase" }, + "folder": { + "$ref": "#/components/schemas/FolderBase" + }, "folder_id": { "type": "string", "description": "Folder Id", @@ -27822,14 +33974,20 @@ "description": "Number of times viewed in the Looker web UI", "nullable": true }, - "user": { "$ref": "#/components/schemas/UserIdOnly" }, + "user": { + "$ref": "#/components/schemas/UserIdOnly" + }, "space_id": { "type": "string", "description": "Space Id", "nullable": true }, - "space": { "$ref": "#/components/schemas/SpaceBase" }, - "query": { "$ref": "#/components/schemas/Query" }, + "space": { + "$ref": "#/components/schemas/SpaceBase" + }, + "query": { + "$ref": "#/components/schemas/Query" + }, "url": { "type": "string", "readOnly": true, @@ -27843,7 +34001,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -27962,7 +34122,9 @@ "description": "Time last viewed in the Looker web UI", "nullable": true }, - "model": { "$ref": "#/components/schemas/LookModel" }, + "model": { + "$ref": "#/components/schemas/LookModel" + }, "public": { "type": "boolean", "description": "Is Public", @@ -27992,7 +34154,9 @@ "description": "Short Url", "nullable": true }, - "folder": { "$ref": "#/components/schemas/FolderBase" }, + "folder": { + "$ref": "#/components/schemas/FolderBase" + }, "folder_id": { "type": "string", "description": "Folder Id", @@ -28018,16 +34182,22 @@ "description": "Number of times viewed in the Looker web UI", "nullable": true }, - "user": { "$ref": "#/components/schemas/UserIdOnly" }, + "user": { + "$ref": "#/components/schemas/UserIdOnly" + }, "space_id": { "type": "string", "description": "Space Id", "nullable": true }, - "space": { "$ref": "#/components/schemas/SpaceBase" }, + "space": { + "$ref": "#/components/schemas/SpaceBase" + }, "dashboards": { "type": "array", - "items": { "$ref": "#/components/schemas/DashboardBase" }, + "items": { + "$ref": "#/components/schemas/DashboardBase" + }, "readOnly": true, "description": "Dashboards", "nullable": true @@ -28086,7 +34256,9 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -28122,7 +34294,9 @@ }, "scopes": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Scopes", "nullable": true @@ -28183,7 +34357,9 @@ }, "files": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "List of model source files", "nullable": true @@ -28226,7 +34402,9 @@ }, "access_filter_fields": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "x-looker-deprecated": true, "description": "(DEPRECATED) Array of access filter field names", @@ -28243,7 +34421,9 @@ }, "aliases": { "type": "array", - "items": { "$ref": "#/components/schemas/LookmlModelExploreAlias" }, + "items": { + "$ref": "#/components/schemas/LookmlModelExploreAlias" + }, "readOnly": true, "description": "Aliases", "nullable": true @@ -28268,28 +34448,36 @@ }, "index_fields": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Array of index fields", "nullable": true }, "sets": { "type": "array", - "items": { "$ref": "#/components/schemas/LookmlModelExploreSet" }, + "items": { + "$ref": "#/components/schemas/LookmlModelExploreSet" + }, "readOnly": true, "description": "Sets", "nullable": true }, "tags": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "An array of arbitrary string tags provided in the model for this explore.", "nullable": true }, "errors": { "type": "array", - "items": { "$ref": "#/components/schemas/LookmlModelExploreError" }, + "items": { + "$ref": "#/components/schemas/LookmlModelExploreError" + }, "readOnly": true, "description": "Errors", "nullable": true @@ -28299,7 +34487,9 @@ }, "joins": { "type": "array", - "items": { "$ref": "#/components/schemas/LookmlModelExploreJoins" }, + "items": { + "$ref": "#/components/schemas/LookmlModelExploreJoins" + }, "readOnly": true, "description": "Views joined into this explore", "nullable": true @@ -28331,7 +34521,9 @@ }, "measure_types": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "nullable": true } @@ -28416,7 +34608,9 @@ }, "value": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Value set", "nullable": true @@ -28458,28 +34652,36 @@ "properties": { "dimensions": { "type": "array", - "items": { "$ref": "#/components/schemas/LookmlModelExploreField" }, + "items": { + "$ref": "#/components/schemas/LookmlModelExploreField" + }, "readOnly": true, "description": "Array of dimensions", "nullable": true }, "measures": { "type": "array", - "items": { "$ref": "#/components/schemas/LookmlModelExploreField" }, + "items": { + "$ref": "#/components/schemas/LookmlModelExploreField" + }, "readOnly": true, "description": "Array of measures", "nullable": true }, "filters": { "type": "array", - "items": { "$ref": "#/components/schemas/LookmlModelExploreField" }, + "items": { + "$ref": "#/components/schemas/LookmlModelExploreField" + }, "readOnly": true, "description": "Array of filters", "nullable": true }, "parameters": { "type": "array", - "items": { "$ref": "#/components/schemas/LookmlModelExploreField" }, + "items": { + "$ref": "#/components/schemas/LookmlModelExploreField" + }, "readOnly": true, "description": "Array of parameters", "nullable": true @@ -28492,7 +34694,10 @@ "align": { "type": "string", "readOnly": true, - "enum": ["left", "right"], + "enum": [ + "left", + "right" + ], "description": "The appropriate horizontal text alignment the values of this field should be displayed in. Valid values are: \"left\", \"right\".", "nullable": false }, @@ -28505,7 +34710,12 @@ "category": { "type": "string", "readOnly": true, - "enum": ["parameter", "filter", "measure", "dimension"], + "enum": [ + "parameter", + "filter", + "measure", + "dimension" + ], "description": "Field category Valid values are: \"parameter\", \"filter\", \"measure\", \"dimension\".", "nullable": true }, @@ -28557,7 +34767,10 @@ "fill_style": { "type": "string", "readOnly": true, - "enum": ["enumeration", "range"], + "enum": [ + "enumeration", + "range" + ], "description": "The style of dimension fill that is possible for this field. Null if no dimension fill is possible. Valid values are: \"enumeration\", \"range\".", "nullable": true }, @@ -28756,14 +34969,18 @@ }, "suggestions": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "If available, a list of suggestions for this field. For most fields, a suggest query is a more appropriate way to get an up-to-date list of suggestions. Or use enumerations to list all the possible values.", "nullable": true }, "tags": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "An array of arbitrary string tags provided in the model for this field.", "nullable": false @@ -28776,7 +34993,9 @@ }, "user_attribute_filter_types": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "enum": [ "advanced_filter_string", @@ -28846,8 +35065,13 @@ "type": "string", "format": "any", "x-looker-polymorphic-types": [ - { "type": "string" }, - { "type": "number", "format": "float" } + { + "type": "string" + }, + { + "type": "number", + "format": "float" + } ], "readOnly": true, "description": "Value", @@ -28961,7 +35185,10 @@ "format": { "type": "string", "readOnly": true, - "enum": ["topojson", "vector_tile_region"], + "enum": [ + "topojson", + "vector_tile_region" + ], "description": "Specifies the data format of the region information. Valid values are: \"topojson\", \"vector_tile_region\".", "nullable": false }, @@ -28998,14 +35225,18 @@ }, "dependent_fields": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Fields referenced by the join", "nullable": true }, "fields": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Fields of the joined view to pull into this explore", "nullable": false @@ -29036,7 +35267,9 @@ }, "required_joins": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Names of joins that must always be included in SQL queries", "nullable": false @@ -29078,20 +35311,26 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false }, "allowed_db_connection_names": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Array of names of connections this model is allowed to use", "nullable": true }, "explores": { "type": "array", - "items": { "$ref": "#/components/schemas/LookmlModelNavExplore" }, + "items": { + "$ref": "#/components/schemas/LookmlModelNavExplore" + }, "readOnly": true, "description": "Array of explores (if has_content)", "nullable": true @@ -29130,7 +35369,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -29179,7 +35420,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -29212,14 +35455,18 @@ }, "errors": { "type": "array", - "items": { "$ref": "#/components/schemas/ProjectError" }, + "items": { + "$ref": "#/components/schemas/ProjectError" + }, "readOnly": true, "description": "A list of any errors encountered by the test.", "nullable": true }, "warnings": { "type": "array", - "items": { "$ref": "#/components/schemas/ProjectError" }, + "items": { + "$ref": "#/components/schemas/ProjectError" + }, "readOnly": true, "description": "A list of any warnings encountered by the test.", "nullable": true @@ -29237,7 +35484,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -29250,7 +35499,9 @@ }, "imports": { "type": "array", - "items": { "$ref": "#/components/schemas/ImportedProject" }, + "items": { + "$ref": "#/components/schemas/ImportedProject" + }, "readOnly": true, "description": "Imports for a project", "nullable": true @@ -29265,7 +35516,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -29288,7 +35541,9 @@ }, "pivots": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Pivots", "nullable": true }, @@ -29301,13 +35556,17 @@ }, "sorts": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Sorts", "nullable": true }, "source_queries": { "type": "array", - "items": { "$ref": "#/components/schemas/MergeQuerySourceQuery" }, + "items": { + "$ref": "#/components/schemas/MergeQuerySourceQuery" + }, "description": "Source Queries defining the results to be merged.", "nullable": true }, @@ -29318,7 +35577,9 @@ }, "vis_config": { "type": "object", - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "description": "Visualization Config", "nullable": true } @@ -29329,7 +35590,9 @@ "properties": { "merge_fields": { "type": "array", - "items": { "$ref": "#/components/schemas/MergeFields" }, + "items": { + "$ref": "#/components/schemas/MergeFields" + }, "description": "An array defining which fields of the source query are mapped onto fields of the merge query", "nullable": true }, @@ -29366,7 +35629,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -29390,7 +35655,9 @@ }, "models": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "nullable": true }, "name": { @@ -29412,7 +35679,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -29440,28 +35709,38 @@ }, "default_new_user_group_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "x-looker-write-only": true, "description": "(Write-Only) Array of ids of groups that will be applied to new users the first time they login via OIDC", "nullable": true }, "default_new_user_groups": { "type": "array", - "items": { "$ref": "#/components/schemas/Group" }, + "items": { + "$ref": "#/components/schemas/Group" + }, "readOnly": true, "description": "(Read-only) Groups that will be applied to new users the first time they login via OIDC", "nullable": true }, "default_new_user_role_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "x-looker-write-only": true, "description": "(Write-Only) Array of ids of roles that will be applied to new users the first time they login via OIDC", "nullable": true }, "default_new_user_roles": { "type": "array", - "items": { "$ref": "#/components/schemas/Role" }, + "items": { + "$ref": "#/components/schemas/Role" + }, "readOnly": true, "description": "(Read-only) Roles that will be applied to new users the first time they login via OIDC", "nullable": true @@ -29473,7 +35752,9 @@ }, "groups": { "type": "array", - "items": { "$ref": "#/components/schemas/OIDCGroupRead" }, + "items": { + "$ref": "#/components/schemas/OIDCGroupRead" + }, "readOnly": true, "description": "(Read-only) Array of mappings between OIDC Groups and Looker Roles", "nullable": true @@ -29485,7 +35766,9 @@ }, "groups_with_role_ids": { "type": "array", - "items": { "$ref": "#/components/schemas/OIDCGroupWrite" }, + "items": { + "$ref": "#/components/schemas/OIDCGroupWrite" + }, "description": "(Read/Write) Array of mappings between OIDC Groups and arrays of Looker Role ids", "nullable": true }, @@ -29520,7 +35803,9 @@ }, "scopes": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Array of scopes to request.", "nullable": true }, @@ -29563,14 +35848,18 @@ }, "user_attributes": { "type": "array", - "items": { "$ref": "#/components/schemas/OIDCUserAttributeRead" }, + "items": { + "$ref": "#/components/schemas/OIDCUserAttributeRead" + }, "readOnly": true, "description": "(Read-only) Array of mappings between OIDC User Attributes and Looker User Attributes", "nullable": true }, "user_attributes_with_ids": { "type": "array", - "items": { "$ref": "#/components/schemas/OIDCUserAttributeWrite" }, + "items": { + "$ref": "#/components/schemas/OIDCUserAttributeWrite" + }, "description": "(Read/Write) Array of mappings between OIDC User Attributes and arrays of Looker User Attribute ids", "nullable": true }, @@ -29635,7 +35924,9 @@ }, "roles": { "type": "array", - "items": { "$ref": "#/components/schemas/Role" }, + "items": { + "$ref": "#/components/schemas/Role" + }, "readOnly": true, "description": "Looker Roles", "nullable": true @@ -29670,13 +35961,18 @@ }, "role_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "Looker Role Ids", "nullable": true }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -29700,7 +35996,9 @@ }, "user_attributes": { "type": "array", - "items": { "$ref": "#/components/schemas/UserAttribute" }, + "items": { + "$ref": "#/components/schemas/UserAttribute" + }, "readOnly": true, "description": "Looker User Attributes", "nullable": true @@ -29722,13 +36020,18 @@ }, "user_attribute_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "Looker User Attribute Ids", "nullable": true }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -29740,7 +36043,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -29773,7 +36078,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -29803,7 +36110,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -29832,7 +36141,9 @@ }, "permissions": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "nullable": true }, "url": { @@ -29849,7 +36160,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -29896,7 +36209,9 @@ "description": "State of editability for the file.", "nullable": false }, - "git_status": { "$ref": "#/components/schemas/GitStatus" } + "git_status": { + "$ref": "#/components/schemas/GitStatus" + } }, "x-looker-status": "stable" }, @@ -29904,7 +36219,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -29947,10 +36264,10 @@ "description": "Git production branch name. Defaults to master. Supported only in Looker 21.0 and higher.", "nullable": false }, - "git_auth_cookie": { - "type": "string", - "description": "Git http cookie file path.", - "nullable": true + "use_git_cookie_auth": { + "type": "boolean", + "description": "If true, the project uses a git cookie for authentication.", + "nullable": false }, "git_username_user_attribute": { "type": "string", @@ -29975,7 +36292,10 @@ }, "git_application_server_http_scheme": { "type": "string", - "enum": ["http", "https"], + "enum": [ + "http", + "https" + ], "description": "Scheme that is running on application server (for PRs, file browsing, etc.) Valid values are: \"http\", \"https\".", "nullable": true }, @@ -29993,7 +36313,12 @@ }, "pull_request_mode": { "type": "string", - "enum": ["off", "links", "recommended", "required"], + "enum": [ + "off", + "links", + "recommended", + "required" + ], "description": "The git pull request policy for this project. Valid values are: \"off\", \"links\", \"recommended\", \"required\".", "nullable": false }, @@ -30086,7 +36411,9 @@ }, "params": { "type": "object", - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "readOnly": true, "description": "Error parameters", "nullable": true @@ -30121,7 +36448,9 @@ "properties": { "errors": { "type": "array", - "items": { "$ref": "#/components/schemas/ProjectError" }, + "items": { + "$ref": "#/components/schemas/ProjectError" + }, "readOnly": true, "description": "A list of project errors", "nullable": true @@ -30134,7 +36463,9 @@ }, "models_not_validated": { "type": "array", - "items": { "$ref": "#/components/schemas/ModelsNotValidated" }, + "items": { + "$ref": "#/components/schemas/ModelsNotValidated" + }, "readOnly": true, "description": "A list of models which were not fully validated", "nullable": true @@ -30153,7 +36484,9 @@ "properties": { "errors": { "type": "array", - "items": { "$ref": "#/components/schemas/ProjectError" }, + "items": { + "$ref": "#/components/schemas/ProjectError" + }, "readOnly": true, "description": "A list of project errors", "nullable": true @@ -30166,7 +36499,9 @@ }, "models_not_validated": { "type": "array", - "items": { "$ref": "#/components/schemas/ModelsNotValidated" }, + "items": { + "$ref": "#/components/schemas/ModelsNotValidated" + }, "readOnly": true, "description": "A list of models which were not fully validated", "nullable": true @@ -30191,7 +36526,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -30232,7 +36569,9 @@ "description": "Status of the dependencies in your project. Valid values are: \"lock_optional\", \"lock_required\", \"lock_error\", \"install_none\".", "nullable": true }, - "git_branch": { "$ref": "#/components/schemas/GitBranch" }, + "git_branch": { + "$ref": "#/components/schemas/GitBranch" + }, "lookml_type": { "type": "string", "readOnly": true, @@ -30246,7 +36585,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -30270,25 +36611,33 @@ }, "fields": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Fields", "nullable": true }, "pivots": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Pivots", "nullable": true }, "fill_fields": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Fill Fields", "nullable": true }, "filters": { "type": "object", - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "description": "Filters", "nullable": true }, @@ -30299,7 +36648,9 @@ }, "sorts": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Sorting for the query results. Use the format `[\"view.field\", ...]` to sort on fields in ascending order. Use the format `[\"view.field desc\", ...]` to sort on fields in descending order. Use `[\"__UNSORTED__\"]` (2 underscores before and after) to disable sorting entirely. Empty sorts `[]` will trigger a default sort.", "nullable": true }, @@ -30325,19 +36676,27 @@ }, "subtotals": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Fields on which to run subtotals", "nullable": true }, "vis_config": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "description": "Visualization configuration properties. These properties are typically opaque and differ based on the type of visualization used. There is no specified set of allowed keys. The values can be any type supported by JSON. A \"type\" key with a string value is often present, and is used by Looker to determine which visualization to present. Visualizations ignore unknown vis_config properties.", "nullable": true }, "filter_config": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "description": "The filter_config represents the state of the filter UI on the explore page for a given query. When running a query via the Looker UI, this parameter takes precedence over \"filters\". When creating a query or modifying an existing query, \"filter_config\" should be set to null. Setting it to any other value could cause unexpected filtering behavior. The format should be considered opaque.", "nullable": true }, @@ -30400,13 +36759,18 @@ } }, "x-looker-status": "stable", - "required": ["model", "view"] + "required": [ + "model", + "view" + ] }, "CreateQueryTask": { "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -30457,13 +36821,18 @@ } }, "x-looker-status": "stable", - "required": ["query_id", "result_format"] + "required": [ + "query_id", + "result_format" + ] }, "QueryTask": { "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -30480,7 +36849,9 @@ "description": "Id of query", "nullable": true }, - "query": { "$ref": "#/components/schemas/Query" }, + "query": { + "$ref": "#/components/schemas/Query" + }, "generate_links": { "type": "boolean", "description": "whether or not to generate links in the query response.", @@ -30569,7 +36940,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -30713,7 +37086,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -30825,14 +37200,18 @@ }, "filterables": { "type": "array", - "items": { "$ref": "#/components/schemas/ResultMakerFilterables" }, + "items": { + "$ref": "#/components/schemas/ResultMakerFilterables" + }, "readOnly": true, "description": "array of items that can be filtered and information about them.", "nullable": true }, "sorts": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Sorts of the constituent Look, Query, or Merge Query", "nullable": true @@ -30862,10 +37241,14 @@ "description": "ID of SQL Query if this is a SQL Runner Query", "nullable": true }, - "query": { "$ref": "#/components/schemas/Query" }, + "query": { + "$ref": "#/components/schemas/Query" + }, "vis_config": { "type": "object", - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "readOnly": true, "description": "Vis config of the constituent Query, or Merge Query.", "nullable": true @@ -30877,7 +37260,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -30894,7 +37279,9 @@ "description": "Name of Role", "nullable": true }, - "permission_set": { "$ref": "#/components/schemas/PermissionSet" }, + "permission_set": { + "$ref": "#/components/schemas/PermissionSet" + }, "permission_set_id": { "type": "integer", "format": "int64", @@ -30902,7 +37289,9 @@ "description": "(Write-Only) Id of permission set", "nullable": true }, - "model_set": { "$ref": "#/components/schemas/ModelSet" }, + "model_set": { + "$ref": "#/components/schemas/ModelSet" + }, "model_set_id": { "type": "integer", "format": "int64", @@ -30931,7 +37320,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -30943,10 +37334,18 @@ "description": "Unique Id", "nullable": false }, - "user": { "$ref": "#/components/schemas/UserPublic" }, - "query": { "$ref": "#/components/schemas/Query" }, - "sql_query": { "$ref": "#/components/schemas/SqlQuery" }, - "look": { "$ref": "#/components/schemas/LookBasic" }, + "user": { + "$ref": "#/components/schemas/UserPublic" + }, + "query": { + "$ref": "#/components/schemas/Query" + }, + "sql_query": { + "$ref": "#/components/schemas/SqlQuery" + }, + "look": { + "$ref": "#/components/schemas/LookBasic" + }, "created_at": { "type": "string", "readOnly": true, @@ -31045,7 +37444,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -31126,28 +37527,38 @@ }, "default_new_user_roles": { "type": "array", - "items": { "$ref": "#/components/schemas/Role" }, + "items": { + "$ref": "#/components/schemas/Role" + }, "readOnly": true, "description": "(Read-only) Roles that will be applied to new users the first time they login via Saml", "nullable": true }, "default_new_user_groups": { "type": "array", - "items": { "$ref": "#/components/schemas/Group" }, + "items": { + "$ref": "#/components/schemas/Group" + }, "readOnly": true, "description": "(Read-only) Groups that will be applied to new users the first time they login via Saml", "nullable": true }, "default_new_user_role_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "x-looker-write-only": true, "description": "(Write-Only) Array of ids of roles that will be applied to new users the first time they login via Saml", "nullable": true }, "default_new_user_group_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "x-looker-write-only": true, "description": "(Write-Only) Array of ids of groups that will be applied to new users the first time they login via Saml", "nullable": true @@ -31164,14 +37575,18 @@ }, "groups": { "type": "array", - "items": { "$ref": "#/components/schemas/SamlGroupRead" }, + "items": { + "$ref": "#/components/schemas/SamlGroupRead" + }, "readOnly": true, "description": "(Read-only) Array of mappings between Saml Groups and Looker Roles", "nullable": true }, "groups_with_role_ids": { "type": "array", - "items": { "$ref": "#/components/schemas/SamlGroupWrite" }, + "items": { + "$ref": "#/components/schemas/SamlGroupWrite" + }, "description": "(Read/Write) Array of mappings between Saml Groups and arrays of Looker Role ids", "nullable": true }, @@ -31182,14 +37597,18 @@ }, "user_attributes": { "type": "array", - "items": { "$ref": "#/components/schemas/SamlUserAttributeRead" }, + "items": { + "$ref": "#/components/schemas/SamlUserAttributeRead" + }, "readOnly": true, "description": "(Read-only) Array of mappings between Saml User Attributes and Looker User Attributes", "nullable": true }, "user_attributes_with_ids": { "type": "array", - "items": { "$ref": "#/components/schemas/SamlUserAttributeWrite" }, + "items": { + "$ref": "#/components/schemas/SamlUserAttributeWrite" + }, "description": "(Read/Write) Array of mappings between Saml User Attributes and arrays of Looker User Attribute ids", "nullable": true }, @@ -31263,7 +37682,9 @@ }, "roles": { "type": "array", - "items": { "$ref": "#/components/schemas/Role" }, + "items": { + "$ref": "#/components/schemas/Role" + }, "readOnly": true, "description": "Looker Roles", "nullable": true @@ -31305,7 +37726,10 @@ }, "role_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "Looker Role Ids", "nullable": true }, @@ -31323,7 +37747,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -31365,7 +37791,9 @@ }, "user_attributes": { "type": "array", - "items": { "$ref": "#/components/schemas/UserAttribute" }, + "items": { + "$ref": "#/components/schemas/UserAttribute" + }, "readOnly": true, "description": "Looker User Attributes", "nullable": true @@ -31394,7 +37822,10 @@ }, "user_attribute_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "Looker User Attribute Ids", "nullable": true }, @@ -31783,7 +38214,9 @@ "description": "Title", "nullable": true }, - "user": { "$ref": "#/components/schemas/UserPublic" }, + "user": { + "$ref": "#/components/schemas/UserPublic" + }, "next_run_at": { "type": "string", "format": "date-time", @@ -31800,7 +38233,9 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -31812,7 +38247,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -31850,7 +38287,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -31968,7 +38407,9 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -32001,7 +38442,10 @@ }, "vis_config": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "description": "Visualization configuration properties. These properties are typically opaque and differ based on the type of visualization used. There is no specified set of allowed keys. The values can be any type supported by JSON. A \"type\" key with a string value is often present, and is used by Looker to determine which visualization to present. Visualizations ignore unknown vis_config properties.", "nullable": true } @@ -32012,7 +38456,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -32056,14 +38502,18 @@ "description": "The most recent time this query was run", "nullable": true }, - "connection": { "$ref": "#/components/schemas/DBConnectionBase" }, + "connection": { + "$ref": "#/components/schemas/DBConnectionBase" + }, "model_name": { "type": "string", "readOnly": true, "description": "Model name this query uses", "nullable": true }, - "creator": { "$ref": "#/components/schemas/UserPublic" }, + "creator": { + "$ref": "#/components/schemas/UserPublic" + }, "explore_url": { "type": "string", "readOnly": true, @@ -32078,7 +38528,10 @@ }, "vis_config": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "description": "Visualization configuration properties. These properties are typically opaque and differ based on the type of visualization used. There is no specified set of allowed keys. The values can be any type supported by JSON. A \"type\" key with a string value is often present, and is used by Looker to determine which visualization to present. Visualizations ignore unknown vis_config properties.", "nullable": true }, @@ -32185,7 +38638,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -32214,7 +38669,9 @@ "description": "Name of theme. Can only be alphanumeric and underscores.", "nullable": false }, - "settings": { "$ref": "#/components/schemas/ThemeSettings" } + "settings": { + "$ref": "#/components/schemas/ThemeSettings" + } }, "x-looker-status": "stable" }, @@ -32245,7 +38702,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -32316,7 +38775,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -32368,7 +38829,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -32454,7 +38917,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -32523,7 +38988,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -32544,7 +39011,9 @@ }, "credentials_api3": { "type": "array", - "items": { "$ref": "#/components/schemas/CredentialsApi3" }, + "items": { + "$ref": "#/components/schemas/CredentialsApi3" + }, "readOnly": true, "description": "API 3 credentials", "nullable": true @@ -32554,7 +39023,9 @@ }, "credentials_embed": { "type": "array", - "items": { "$ref": "#/components/schemas/CredentialsEmbed" }, + "items": { + "$ref": "#/components/schemas/CredentialsEmbed" + }, "readOnly": true, "description": "Embed credentials", "nullable": true @@ -32603,7 +39074,10 @@ }, "group_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "readOnly": true, "description": "Array of ids of the groups for this user", "nullable": true @@ -32642,7 +39116,9 @@ }, "looker_versions": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Array of strings representing the Looker versions that this user has used (this only goes back as far as '3.54.0')", "nullable": true @@ -32674,21 +39150,28 @@ }, "role_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "readOnly": true, "description": "Array of ids of the roles for this user", "nullable": true }, "sessions": { "type": "array", - "items": { "$ref": "#/components/schemas/Session" }, + "items": { + "$ref": "#/components/schemas/Session" + }, "readOnly": true, "description": "Active sessions", "nullable": true }, "ui_state": { "type": "object", - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "description": "Per user dictionary of undocumented state information owned by the Looker UI.", "nullable": true }, @@ -32736,7 +39219,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -32826,7 +39311,9 @@ }, "supported_versions": { "type": "array", - "items": { "$ref": "#/components/schemas/ApiVersionElement" }, + "items": { + "$ref": "#/components/schemas/ApiVersionElement" + }, "readOnly": true, "description": "Array of versions supported by this Looker instance", "nullable": true @@ -32864,7 +39351,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -32960,7 +39449,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "nullable": false @@ -32973,7 +39464,9 @@ }, "projects": { "type": "array", - "items": { "$ref": "#/components/schemas/Project" }, + "items": { + "$ref": "#/components/schemas/Project" + }, "readOnly": true, "description": "The local state of each project in the workspace", "nullable": true @@ -32983,4 +39476,4 @@ } } } -} +} \ No newline at end of file diff --git a/spec/Looker.4.0.json b/spec/Looker.4.0.json index be0a9db45..72e62ba14 100644 --- a/spec/Looker.4.0.json +++ b/spec/Looker.4.0.json @@ -1,55 +1,150 @@ { "swagger": "2.0", "info": { - "version": "4.0.21.3", - "x-looker-release-version": "21.3.0", + "version": "4.0.21.4", + "x-looker-release-version": "21.4.0", "title": "Looker API 4.0 (Experimental) Reference", "description": "\nWelcome to the future! This is an early preview of our next-generation Looker API 4.0.\nAPI 4.0 runs alongside APIs 3.1 and 3.0. We've tagged 4.0 as \"experimental\" to reflect\nthat we have more work planned for API 4.0 which may include breaking changes.\nPlease pardon our dust while we remodel a few rooms!\n\n### In This Release\n\nWe're spinning up this new API 4.0 version so that we can make adjustments to our API\nfunctions, parameters, and response types to fix bugs and inconsistencies. These changes\nfall outside the bounds of non-breaking additive changes we can make to our stable API 3.1.\n\nOne benefit of these type adjustments in API 4.0 is dramatically better support for strongly\ntyped languages like TypeScript, Kotlin, Java, and more. Looker is also creating client SDKs\nto call the Looker API from these and other languages. These client SDKs will be available\nas pre-built packages for download from public repositories such as npmjs.org, RubyGems.org,\nPyPi.org. If you use an IDE for software development, you will soon be able to install a\nLooker SDK for your programming language with the click of a button!\n\nWhile API 3.1 is still the defacto Looker API (\"current\", \"stable\", \"default\", etc), the bulk\nof our development activity will gradually shift to API 4.0.\n\n", - "contact": { "name": "Looker Team", "url": "https://help.looker.com" }, - "license": { "name": "EULA", "url": "http://localhost:9999/eula" } + "contact": { + "name": "Looker Team", + "url": "https://help.looker.com" + }, + "license": { + "name": "EULA", + "url": "https://localhost:10000/eula" + } }, "basePath": "/api/4.0", - "consumes": ["application/json"], - "produces": ["application/json"], - "host": "localhost:19999", - "schemes": ["http"], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "host": "localhost:20000", + "schemes": [ + "https" + ], "tags": [ - { "name": "ApiAuth", "description": "API Authentication" }, + { + "name": "ApiAuth", + "description": "API Authentication" + }, { "name": "Auth", "description": "Manage User Authentication Configuration" }, - { "name": "Board", "description": "Manage Boards" }, - { "name": "ColorCollection", "description": "Manage Color Collections" }, - { "name": "Command", "description": "Manage Commands" }, - { "name": "Config", "description": "Manage General Configuration" }, - { "name": "Connection", "description": "Manage Database Connections" }, - { "name": "Content", "description": "Manage Content" }, - { "name": "Dashboard", "description": "Manage Dashboards" }, - { "name": "DataAction", "description": "Run Data Actions" }, - { "name": "Datagroup", "description": "Manage Datagroups" }, - { "name": "Folder", "description": "Manage Folders" }, - { "name": "Group", "description": "Manage Groups" }, - { "name": "Homepage", "description": "Manage Homepage" }, - { "name": "Integration", "description": "Manage Integrations" }, - { "name": "Look", "description": "Run and Manage Looks" }, - { "name": "LookmlModel", "description": "Manage LookML Models" }, - { "name": "Metadata", "description": "Connection Metadata Features" }, - { "name": "Project", "description": "Manage Projects" }, - { "name": "Query", "description": "Run and Manage Queries" }, - { "name": "RenderTask", "description": "Manage Render Tasks" }, - { "name": "Role", "description": "Manage Roles" }, - { "name": "ScheduledPlan", "description": "Manage Scheduled Plans" }, - { "name": "Session", "description": "Session Information" }, - { "name": "Theme", "description": "Manage Themes" }, - { "name": "User", "description": "Manage Users" }, - { "name": "UserAttribute", "description": "Manage User Attributes" }, - { "name": "Workspace", "description": "Manage Workspaces" } + { + "name": "Board", + "description": "Manage Boards" + }, + { + "name": "ColorCollection", + "description": "Manage Color Collections" + }, + { + "name": "Command", + "description": "Manage Commands" + }, + { + "name": "Config", + "description": "Manage General Configuration" + }, + { + "name": "Connection", + "description": "Manage Database Connections" + }, + { + "name": "Content", + "description": "Manage Content" + }, + { + "name": "Dashboard", + "description": "Manage Dashboards" + }, + { + "name": "DataAction", + "description": "Run Data Actions" + }, + { + "name": "Datagroup", + "description": "Manage Datagroups" + }, + { + "name": "Folder", + "description": "Manage Folders" + }, + { + "name": "Group", + "description": "Manage Groups" + }, + { + "name": "Homepage", + "description": "Manage Homepage" + }, + { + "name": "Integration", + "description": "Manage Integrations" + }, + { + "name": "Look", + "description": "Run and Manage Looks" + }, + { + "name": "LookmlModel", + "description": "Manage LookML Models" + }, + { + "name": "Metadata", + "description": "Connection Metadata Features" + }, + { + "name": "Project", + "description": "Manage Projects" + }, + { + "name": "Query", + "description": "Run and Manage Queries" + }, + { + "name": "RenderTask", + "description": "Manage Render Tasks" + }, + { + "name": "Role", + "description": "Manage Roles" + }, + { + "name": "ScheduledPlan", + "description": "Manage Scheduled Plans" + }, + { + "name": "Session", + "description": "Session Information" + }, + { + "name": "Theme", + "description": "Manage Themes" + }, + { + "name": "User", + "description": "Manage Users" + }, + { + "name": "UserAttribute", + "description": "Manage User Attributes" + }, + { + "name": "Workspace", + "description": "Manage Workspaces" + } ], "paths": { "/query_tasks": { "post": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "create_query_task", "summary": "Run Query Async", "description": "### Create an async query task\n\nCreates a query task (job) to run a previously created query asynchronously. Returns a Query Task ID.\n\nUse [query_task(query_task_id)](#!/Query/query_task) to check the execution status of the query task.\nAfter the query task status reaches \"Complete\", use [query_task_results(query_task_id)](#!/Query/query_task_results) to fetch the results of the query.\n", @@ -59,7 +154,9 @@ "in": "body", "description": "Query parameters", "required": true, - "schema": { "$ref": "#/definitions/CreateQueryTask" } + "schema": { + "$ref": "#/definitions/CreateQueryTask" + } }, { "name": "limit", @@ -159,27 +256,39 @@ "responses": { "200": { "description": "query_task", - "schema": { "$ref": "#/definitions/QueryTask" } + "schema": { + "$ref": "#/definitions/QueryTask" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -188,7 +297,9 @@ }, "/query_tasks/multi_results": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "query_task_multi_results", "summary": "Get Multiple Async Query Results", "description": "### Fetch results of multiple async queries\n\nReturns the results of multiple async queries in one request.\n\nFor Query Tasks that are not completed, the response will include the execution status of the Query Task but will not include query results.\nQuery Tasks whose results have expired will have a status of 'expired'.\nIf 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'\n", @@ -199,7 +310,9 @@ "description": "List of Query Task IDs", "required": true, "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "collectionFormat": "csv" } ], @@ -208,16 +321,22 @@ "description": "Multiple query results", "schema": { "type": "object", - "additionalProperties": { "type": "string" } + "additionalProperties": { + "type": "string" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -226,7 +345,9 @@ }, "/query_tasks/{query_task_id}": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "query_task", "summary": "Get Async Query Info", "description": "### Get Query Task details\n\nUse this function to check the status of an async query task. After the status\nreaches \"Complete\", you can call [query_task_results(query_task_id)](#!/Query/query_task_results) to\nretrieve the results of the query.\n\nUse [create_query_task()](#!/Query/create_query_task) to create an async query task.\n", @@ -249,15 +370,21 @@ "responses": { "200": { "description": "query_task", - "schema": { "$ref": "#/definitions/QueryTask" } + "schema": { + "$ref": "#/definitions/QueryTask" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -266,11 +393,16 @@ }, "/query_tasks/{query_task_id}/results": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "query_task_results", "summary": "Get Async Query Results", "description": "### Get Async Query Results\n\nReturns the results of an async query task if the query has completed.\n\nIf the query task is still running or waiting to run, this function returns 204 No Content.\n\nIf the query task ID is invalid or the cached results of the query task have expired, this function returns 404 Not Found.\n\nUse [query_task(query_task_id)](#!/Query/query_task) to check the execution status of the query task\nCall query_task_results only after the query task status reaches \"Complete\".\n\nYou can also use [query_task_multi_results()](#!/Query/query_task_multi_results) retrieve the\nresults of multiple async query tasks at the same time.\n\n#### SQL Error Handling:\nIf the query fails due to a SQL db error, how this is communicated depends on the result_format you requested in `create_query_task()`.\n\nFor `json_detail` result_format: `query_task_results()` will respond with HTTP status '200 OK' and db SQL error info\nwill be in the `errors` property of the response object. The 'data' property will be empty.\n\nFor all other result formats: `query_task_results()` will respond with HTTP status `400 Bad Request` and some db SQL error info\nwill be in the message of the 400 error response, but not as detailed as expressed in `json_detail.errors`.\nThese data formats can only carry row data, and error info is not row data.\n", - "produces": ["text", "application/json"], + "produces": [ + "text", + "application/json" + ], "parameters": [ { "name": "query_task_id", @@ -283,19 +415,27 @@ "responses": { "200": { "description": "The query results.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "204": { "description": "The query is not finished", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "The Query Task Id was not found or the results have expired.", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -304,7 +444,9 @@ }, "/queries/{query_id}": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "query", "summary": "Get Query", "description": "### Get a previously created query by id.\n\nA Looker query object includes the various parameters that define a database query that has been run or\ncould be run in the future. These parameters include: model, view, fields, filters, pivots, etc.\nQuery *results* are not part of the query object.\n\nQuery objects are unique and immutable. Query objects are created automatically in Looker as users explore data.\nLooker does not delete them; they become part of the query history. When asked to create a query for\nany given set of parameters, Looker will first try to find an existing query object with matching\nparameters and will only create a new object when an appropriate object can not be found.\n\nThis 'get' method is used to get the details about a query for a given id. See the other methods here\nto 'create' and 'run' queries.\n\nNote that some fields like 'filter_config' and 'vis_config' etc are specific to how the Looker UI\nbuilds queries and visualizations and are not generally useful for API use. They are not required when\ncreating new queries and can usually just be ignored.\n\n", @@ -328,15 +470,21 @@ "responses": { "200": { "description": "Query", - "schema": { "$ref": "#/definitions/Query" } + "schema": { + "$ref": "#/definitions/Query" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -345,7 +493,9 @@ }, "/queries/slug/{slug}": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "query_for_slug", "summary": "Get Query for Slug", "description": "### Get the query for a given query slug.\n\nThis returns the query for the 'slug' in a query share URL.\n\nThe 'slug' is a randomly chosen short string that is used as an alternative to the query's id value\nfor use in URLs etc. This method exists as a convenience to help you use the API to 'find' queries that\nhave been created using the Looker UI.\n\nYou can use the Looker explore page to build a query and then choose the 'Share' option to\nshow the share url for the query. Share urls generally look something like 'https://looker.yourcompany/x/vwGSbfc'.\nThe trailing 'vwGSbfc' is the share slug. You can pass that string to this api method to get details about the query.\nThose details include the 'id' that you can use to run the query. Or, you can copy the query body\n(perhaps with your own modification) and use that as the basis to make/run new queries.\n\nThis will also work with slugs from Looker explore urls like\n'https://looker.yourcompany/explore/ecommerce/orders?qid=aogBgL6o3cKK1jN3RoZl5s'. In this case\n'aogBgL6o3cKK1jN3RoZl5s' is the slug.\n", @@ -368,15 +518,21 @@ "responses": { "200": { "description": "Query", - "schema": { "$ref": "#/definitions/Query" } + "schema": { + "$ref": "#/definitions/Query" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -385,7 +541,9 @@ }, "/queries": { "post": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "create_query", "summary": "Create Query", "description": "### Create a query.\n\nThis allows you to create a new query that you can later run. Looker queries are immutable once created\nand are not deleted. If you create a query that is exactly like an existing query then the existing query\nwill be returned and no new query will be created. Whether a new query is created or not, you can use\nthe 'id' in the returned query with the 'run' method.\n\nThe query parameters are passed as json in the body of the request.\n\n", @@ -395,7 +553,9 @@ "in": "body", "description": "Query", "required": true, - "schema": { "$ref": "#/definitions/Query" } + "schema": { + "$ref": "#/definitions/Query" + } }, { "name": "fields", @@ -408,27 +568,39 @@ "responses": { "200": { "description": "Query", - "schema": { "$ref": "#/definitions/Query" } + "schema": { + "$ref": "#/definitions/Query" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -437,11 +609,18 @@ }, "/queries/{query_id}/run/{result_format}": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "run_query", "summary": "Run Query", "description": "### Run a saved query.\n\nThis runs a previously saved query. You can use this on a query that was generated in the Looker UI\nor one that you have explicitly created using the API. You can also use a query 'id' from a saved 'Look'.\n\nThe 'result_format' parameter specifies the desired structure and format of the response.\n\nSupported formats:\n\n| result_format | Description\n| :-----------: | :--- |\n| json | Plain json\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| md | Simple markdown\n| xlsx | MS Excel spreadsheet\n| sql | Returns the generated SQL rather than running the query\n| png | A PNG image of the visualization of the query\n| jpg | A JPG image of the visualization of the query\n\n\n", - "produces": ["text", "application/json", "image/png", "image/jpeg"], + "produces": [ + "text", + "application/json", + "image/png", + "image/jpeg" + ], "parameters": [ { "name": "query_id", @@ -547,22 +726,35 @@ } ], "responses": { - "200": { "description": "Query", "schema": { "type": "string" } }, + "200": { + "description": "Query", + "schema": { + "type": "string" + } + }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -571,11 +763,18 @@ }, "/queries/run/{result_format}": { "post": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "run_inline_query", "summary": "Run Inline Query", "description": "### Run the query that is specified inline in the posted body.\n\nThis allows running a query as defined in json in the posted body. This combines\nthe two actions of posting & running a query into one step.\n\nHere is an example body in json:\n```\n{\n \"model\":\"thelook\",\n \"view\":\"inventory_items\",\n \"fields\":[\"category.name\",\"inventory_items.days_in_inventory_tier\",\"products.count\"],\n \"filters\":{\"category.name\":\"socks\"},\n \"sorts\":[\"products.count desc 0\"],\n \"limit\":\"500\",\n \"query_timezone\":\"America/Los_Angeles\"\n}\n```\n\nWhen using the Ruby SDK this would be passed as a Ruby hash like:\n```\n{\n :model=>\"thelook\",\n :view=>\"inventory_items\",\n :fields=>\n [\"category.name\",\n \"inventory_items.days_in_inventory_tier\",\n \"products.count\"],\n :filters=>{:\"category.name\"=>\"socks\"},\n :sorts=>[\"products.count desc 0\"],\n :limit=>\"500\",\n :query_timezone=>\"America/Los_Angeles\",\n}\n```\n\nThis will return the result of running the query in the format specified by the 'result_format' parameter.\n\nSupported formats:\n\n| result_format | Description\n| :-----------: | :--- |\n| json | Plain json\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| md | Simple markdown\n| xlsx | MS Excel spreadsheet\n| sql | Returns the generated SQL rather than running the query\n| png | A PNG image of the visualization of the query\n| jpg | A JPG image of the visualization of the query\n\n\n", - "produces": ["text", "application/json", "image/png", "image/jpeg"], + "produces": [ + "text", + "application/json", + "image/png", + "image/jpeg" + ], "parameters": [ { "name": "result_format", @@ -589,7 +788,9 @@ "in": "body", "description": "inline query", "required": true, - "schema": { "$ref": "#/definitions/Query" } + "schema": { + "$ref": "#/definitions/Query" + } }, { "name": "limit", @@ -682,23 +883,33 @@ "responses": { "200": { "description": "Query Result", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -707,11 +918,18 @@ }, "/queries/models/{model_name}/views/{view_name}/run/{result_format}": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "run_url_encoded_query", "summary": "Run Url Encoded Query", "description": "### Run an URL encoded query.\n\nThis requires the caller to encode the specifiers for the query into the URL query part using\nLooker-specific syntax as explained below.\n\nGenerally, you would want to use one of the methods that takes the parameters as json in the POST body\nfor creating and/or running queries. This method exists for cases where one really needs to encode the\nparameters into the URL of a single 'GET' request. This matches the way that the Looker UI formats\n'explore' URLs etc.\n\nThe parameters here are very similar to the json body formatting except that the filter syntax is\ntricky. Unfortunately, this format makes this method not currently callable via the 'Try it out!' button\nin this documentation page. But, this is callable when creating URLs manually or when using the Looker SDK.\n\nHere is an example inline query URL:\n\n```\nhttps://looker.mycompany.com:19999/api/3.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\n```\n\nWhen invoking this endpoint with the Ruby SDK, pass the query parameter parts as a hash. The hash to match the above would look like:\n\n```ruby\nquery_params =\n{\n :fields => \"category.name,inventory_items.days_in_inventory_tier,products.count\",\n :\"f[category.name]\" => \"socks\",\n :sorts => \"products.count desc 0\",\n :limit => \"500\",\n :query_timezone => \"America/Los_Angeles\"\n}\nresponse = ruby_sdk.run_url_encoded_query('thelook','inventory_items','json', query_params)\n\n```\n\nAgain, it is generally easier to use the variant of this method that passes the full query in the POST body.\nThis method is available for cases where other alternatives won't fit the need.\n\nSupported formats:\n\n| result_format | Description\n| :-----------: | :--- |\n| json | Plain json\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| md | Simple markdown\n| xlsx | MS Excel spreadsheet\n| sql | Returns the generated SQL rather than running the query\n| png | A PNG image of the visualization of the query\n| jpg | A JPG image of the visualization of the query\n\n\n", - "produces": ["text", "application/json", "image/png", "image/jpeg"], + "produces": [ + "text", + "application/json", + "image/png", + "image/jpeg" + ], "parameters": [ { "name": "model_name", @@ -736,22 +954,35 @@ } ], "responses": { - "200": { "description": "Query", "schema": { "type": "string" } }, + "200": { + "description": "Query", + "schema": { + "type": "string" + } + }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -760,11 +991,15 @@ }, "/login": { "post": { - "tags": ["ApiAuth"], + "tags": [ + "ApiAuth" + ], "operationId": "login", "summary": "Login", "description": "### Present client credentials to obtain an authorization token\n\nLooker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://looker.com/docs/r/api/outh2_resource_owner_pc) pattern.\nThe client credentials required for this login must be obtained by creating an API3 key on a user account\nin the Looker Admin console. The API3 key consists of a public `client_id` and a private `client_secret`.\n\nThe access token returned by `login` must be used in the HTTP Authorization header of subsequent\nAPI requests, like this:\n```\nAuthorization: token 4QDkCyCtZzYgj4C2p2cj3csJH7zqS5RzKs2kTnG4\n```\nReplace \"4QDkCy...\" with the `access_token` value returned by `login`.\nThe word `token` is a string literal and must be included exactly as shown.\n\nThis 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.\n\nExample of passing credentials in the HTTP request body:\n````\nPOST HTTP /login\nContent-Type: application/x-www-form-urlencoded\n\nclient_id=CGc9B7v7J48dQSJvxxx&client_secret=nNVS9cSS3xNpSC9JdsBvvvvv\n````\n\n### Best Practice:\nAlways 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.\n\nFor more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API3](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md).\n", - "consumes": ["application/x-www-form-urlencoded"], + "consumes": [ + "application/x-www-form-urlencoded" + ], "parameters": [ { "name": "client_id", @@ -784,15 +1019,21 @@ "responses": { "200": { "description": "Access token with metadata.", - "schema": { "$ref": "#/definitions/AccessToken" } + "schema": { + "$ref": "#/definitions/AccessToken" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -801,7 +1042,9 @@ }, "/login/{user_id}": { "post": { - "tags": ["ApiAuth"], + "tags": [ + "ApiAuth" + ], "operationId": "login_user", "summary": "Login user", "description": "### Create an access token that runs as a given user.\n\nThis can only be called by an authenticated admin user. It allows that admin to generate a new\nauthentication token for the user with the given user id. That token can then be used for subsequent\nAPI calls - which are then performed *as* that target user.\n\nThe target user does *not* need to have a pre-existing API client_id/client_secret pair. And, no such\ncredentials are created by this call.\n\nThis allows for building systems where api user authentication for an arbitrary number of users is done\noutside of Looker and funneled through a single 'service account' with admin permissions. Note that a\nnew access token is generated on each call. If target users are going to be making numerous API\ncalls in a short period then it is wise to cache this authentication token rather than call this before\neach of those API calls.\n\nSee 'login' for more detail on the access token and how to use it.\n", @@ -825,15 +1068,21 @@ "responses": { "200": { "description": "Access token with metadata.", - "schema": { "$ref": "#/definitions/AccessToken" } + "schema": { + "$ref": "#/definitions/AccessToken" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -842,22 +1091,30 @@ }, "/logout": { "delete": { - "tags": ["ApiAuth"], + "tags": [ + "ApiAuth" + ], "operationId": "logout", "summary": "Logout", "description": "### Logout of the API and invalidate the current access token.\n", "responses": { "204": { "description": "Logged out successfully.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -866,29 +1123,39 @@ }, "/cloud_storage": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "cloud_storage_configuration", "summary": "Get Cloud Storage", "description": "Get the current Cloud Storage Configuration.\n", "responses": { "200": { "description": "Current Cloud Storage Configuration", - "schema": { "$ref": "#/definitions/BackupConfiguration" } + "schema": { + "$ref": "#/definitions/BackupConfiguration" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "update_cloud_storage_configuration", "summary": "Update Cloud Storage", "description": "Update the current Cloud Storage Configuration.\n", @@ -898,25 +1165,35 @@ "in": "body", "description": "Options for Cloud Storage Configuration", "required": true, - "schema": { "$ref": "#/definitions/BackupConfiguration" } + "schema": { + "$ref": "#/definitions/BackupConfiguration" + } } ], "responses": { "200": { "description": "New state for specified model set.", - "schema": { "$ref": "#/definitions/BackupConfiguration" } + "schema": { + "$ref": "#/definitions/BackupConfiguration" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "beta", @@ -925,7 +1202,9 @@ }, "/color_collections": { "get": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "all_color_collections", "summary": "Get all Color Collections", "description": "### Get an array of all existing Color Collections\nGet a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n\nGet all **standard** color collections with [ColorCollection](#!/ColorCollection/color_collections_standard)\n\nGet all **custom** color collections with [ColorCollection](#!/ColorCollection/color_collections_custom)\n\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", @@ -943,23 +1222,31 @@ "description": "ColorCollections", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ColorCollection" } + "items": { + "$ref": "#/definitions/ColorCollection" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "create_color_collection", "summary": "Create ColorCollection", "description": "### Create a custom color collection with the specified information\n\nCreates a new custom color collection object, returning the details, including the created id.\n\n**Update** an existing color collection with [Update Color Collection](#!/ColorCollection/update_color_collection)\n\n**Permanently delete** an existing custom color collection with [Delete Color Collection](#!/ColorCollection/delete_color_collection)\n\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", @@ -969,37 +1256,53 @@ "in": "body", "description": "ColorCollection", "required": true, - "schema": { "$ref": "#/definitions/ColorCollection" } + "schema": { + "$ref": "#/definitions/ColorCollection" + } } ], "responses": { "200": { "description": "ColorCollection", - "schema": { "$ref": "#/definitions/ColorCollection" } + "schema": { + "$ref": "#/definitions/ColorCollection" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "403": { "description": "Permission Denied", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -1008,7 +1311,9 @@ }, "/color_collections/custom": { "get": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "color_collections_custom", "summary": "Get all Custom Color Collections", "description": "### Get an array of all existing **Custom** Color Collections\nGet a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n\nGet all **standard** color collections with [ColorCollection](#!/ColorCollection/color_collections_standard)\n\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", @@ -1026,16 +1331,22 @@ "description": "ColorCollections", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ColorCollection" } + "items": { + "$ref": "#/definitions/ColorCollection" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -1044,7 +1355,9 @@ }, "/color_collections/standard": { "get": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "color_collections_standard", "summary": "Get all Standard Color Collections", "description": "### Get an array of all existing **Standard** Color Collections\nGet a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n\nGet all **custom** color collections with [ColorCollection](#!/ColorCollection/color_collections_custom)\n\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", @@ -1062,16 +1375,22 @@ "description": "ColorCollections", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ColorCollection" } + "items": { + "$ref": "#/definitions/ColorCollection" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -1080,7 +1399,9 @@ }, "/color_collections/default": { "put": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "set_default_color_collection", "summary": "Set Default Color Collection", "description": "### Set the global default Color Collection by ID\n\nReturns the new specified default Color Collection object.\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", @@ -1096,45 +1417,63 @@ "responses": { "200": { "description": "ColorCollection", - "schema": { "$ref": "#/definitions/ColorCollection" } + "schema": { + "$ref": "#/definitions/ColorCollection" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "get": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "default_color_collection", "summary": "Get Default Color Collection", "description": "### Get the default color collection\n\nUse this to retrieve the default Color Collection.\n\nSet the default color collection with [ColorCollection](#!/ColorCollection/set_default_color_collection)\n", "responses": { "200": { "description": "ColorCollection", - "schema": { "$ref": "#/definitions/ColorCollection" } + "schema": { + "$ref": "#/definitions/ColorCollection" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } - }, + "schema": { + "$ref": "#/definitions/Error" + } + }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -1143,7 +1482,9 @@ }, "/color_collections/{collection_id}": { "get": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "color_collection", "summary": "Get Color Collection by ID", "description": "### Get a Color Collection by ID\n\nUse this to retrieve a specific Color Collection.\nGet a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n\nGet all **standard** color collections with [ColorCollection](#!/ColorCollection/color_collections_standard)\n\nGet all **custom** color collections with [ColorCollection](#!/ColorCollection/color_collections_custom)\n\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", @@ -1166,22 +1507,30 @@ "responses": { "200": { "description": "ColorCollection", - "schema": { "$ref": "#/definitions/ColorCollection" } + "schema": { + "$ref": "#/definitions/ColorCollection" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "update_color_collection", "summary": "Update Custom Color collection", "description": "### Update a custom color collection by id.\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", @@ -1198,40 +1547,56 @@ "in": "body", "description": "ColorCollection", "required": true, - "schema": { "$ref": "#/definitions/ColorCollection" } + "schema": { + "$ref": "#/definitions/ColorCollection" + } } ], "responses": { "200": { "description": "ColorCollection", - "schema": { "$ref": "#/definitions/ColorCollection" } + "schema": { + "$ref": "#/definitions/ColorCollection" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "403": { "description": "Permission Denied", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["ColorCollection"], + "tags": [ + "ColorCollection" + ], "operationId": "delete_color_collection", "summary": "Delete ColorCollection", "description": "### Delete a custom color collection by id\n\nThis operation permanently deletes the identified **Custom** color collection.\n\n**Standard** color collections cannot be deleted\n\nBecause multiple color collections can have the same label, they must be deleted by ID, not name.\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", @@ -1245,26 +1610,38 @@ } ], "responses": { - "200": { "description": "Success" }, + "200": { + "description": "Success" + }, "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "403": { "description": "Permission Denied", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -1273,7 +1650,9 @@ }, "/commands": { "post": { - "tags": ["Command"], + "tags": [ + "Command" + ], "operationId": "create_command", "summary": "Create a custom command", "description": "### Create a new command.\n# Required fields: [:name, :linked_content_id, :linked_content_type]\n# `linked_content_type` must be one of [\"dashboard\", \"lookml_dashboard\"]\n#\n", @@ -1283,40 +1662,56 @@ "in": "body", "description": "Writable command parameters", "required": true, - "schema": { "$ref": "#/definitions/Command" } + "schema": { + "$ref": "#/definitions/Command" + } } ], "responses": { "200": { "description": "The command is saved.", - "schema": { "$ref": "#/definitions/Command" } + "schema": { + "$ref": "#/definitions/Command" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "get": { - "tags": ["Command"], + "tags": [ + "Command" + ], "operationId": "get_all_commands", "summary": "Get All Commands", "description": "### Get All Commands.\n", @@ -1349,20 +1744,28 @@ "description": "Commands", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Command" } + "items": { + "$ref": "#/definitions/Command" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "405": { "description": "Resource Can't Be Modified", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -1371,7 +1774,9 @@ }, "/commands/{command_id}": { "patch": { - "tags": ["Command"], + "tags": [ + "Command" + ], "operationId": "update_command", "summary": "Update a custom command", "description": "### Update an existing custom command.\n# Optional fields: ['name', 'description']\n#\n", @@ -1389,36 +1794,50 @@ "in": "body", "description": "Re-writable command parameters", "required": true, - "schema": { "$ref": "#/definitions/UpdateCommand" } + "schema": { + "$ref": "#/definitions/UpdateCommand" + } } ], "responses": { "200": { "description": "The command is updated.", - "schema": { "$ref": "#/definitions/Command" } + "schema": { + "$ref": "#/definitions/Command" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Command"], + "tags": [ + "Command" + ], "operationId": "delete_command", "summary": "Delete a custom command", "description": "### Delete an existing custom command.\n", @@ -1433,22 +1852,32 @@ } ], "responses": { - "204": { "description": "The command is deleted." }, + "204": { + "description": "The command is deleted." + }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "405": { "description": "Resource Can't Be Modified", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -1457,7 +1886,9 @@ }, "/content_favorite/search": { "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "search_content_favorites", "summary": "Search Favorite Contents", "description": "### Search Favorite Content\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", @@ -1548,16 +1979,22 @@ "description": "Favorite Content", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ContentFavorite" } + "items": { + "$ref": "#/definitions/ContentFavorite" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -1566,7 +2003,9 @@ }, "/content_favorite/{content_favorite_id}": { "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "content_favorite", "summary": "Get Favorite Content", "description": "### Get favorite content by its id", @@ -1590,22 +2029,30 @@ "responses": { "200": { "description": "Favorite Content", - "schema": { "$ref": "#/definitions/ContentFavorite" } + "schema": { + "$ref": "#/definitions/ContentFavorite" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "delete_content_favorite", "summary": "Delete Favorite Content", "description": "### Delete favorite content", @@ -1622,19 +2069,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -1643,7 +2098,9 @@ }, "/content_favorite": { "post": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "create_content_favorite", "summary": "Create Favorite Content", "description": "### Create favorite content", @@ -1653,33 +2110,47 @@ "in": "body", "description": "Favorite Content", "required": true, - "schema": { "$ref": "#/definitions/ContentFavorite" } + "schema": { + "$ref": "#/definitions/ContentFavorite" + } } ], "responses": { "200": { "description": "Favorite Content", - "schema": { "$ref": "#/definitions/ContentFavorite" } + "schema": { + "$ref": "#/definitions/ContentFavorite" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -1688,7 +2159,9 @@ }, "/content_metadata": { "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "all_content_metadatas", "summary": "Get All Content Metadatas", "description": "### Get information about all content metadata in a space.\n", @@ -1714,16 +2187,22 @@ "description": "Content Metadata", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ContentMeta" } + "items": { + "$ref": "#/definitions/ContentMeta" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -1732,7 +2211,9 @@ }, "/content_metadata/{content_metadata_id}": { "patch": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "update_content_metadata", "summary": "Update Content Metadata", "description": "### Move a piece of content.\n", @@ -1750,36 +2231,50 @@ "in": "body", "description": "Content Metadata", "required": true, - "schema": { "$ref": "#/definitions/ContentMeta" } + "schema": { + "$ref": "#/definitions/ContentMeta" + } } ], "responses": { "200": { "description": "Content Metadata", - "schema": { "$ref": "#/definitions/ContentMeta" } + "schema": { + "$ref": "#/definitions/ContentMeta" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "content_metadata", "summary": "Get Content Metadata", "description": "### Get information about an individual content metadata record.\n", @@ -1803,15 +2298,21 @@ "responses": { "200": { "description": "Content Metadata", - "schema": { "$ref": "#/definitions/ContentMeta" } + "schema": { + "$ref": "#/definitions/ContentMeta" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -1820,7 +2321,9 @@ }, "/content_metadata_access": { "post": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "create_content_metadata_access", "summary": "Create Content Metadata Access", "description": "### Create content metadata access.\n", @@ -1830,7 +2333,9 @@ "in": "body", "description": "Content Metadata Access", "required": true, - "schema": { "$ref": "#/definitions/ContentMetaGroupUser" } + "schema": { + "$ref": "#/definitions/ContentMetaGroupUser" + } }, { "name": "send_boards_notification_email", @@ -1843,27 +2348,39 @@ "responses": { "200": { "description": "Content Metadata Access", - "schema": { "$ref": "#/definitions/ContentMetaGroupUser" } + "schema": { + "$ref": "#/definitions/ContentMetaGroupUser" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -1871,7 +2388,9 @@ "x-looker-rate-limited": true }, "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "all_content_metadata_accesses", "summary": "Get All Content Metadata Accesses", "description": "### All content metadata access records for a content metadata item.\n", @@ -1897,16 +2416,22 @@ "description": "Content Metadata Access", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ContentMetaGroupUser" } + "items": { + "$ref": "#/definitions/ContentMetaGroupUser" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -1915,7 +2440,9 @@ }, "/content_metadata_access/{content_metadata_access_id}": { "put": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "update_content_metadata_access", "summary": "Update Content Metadata Access", "description": "### Update type of access for content metadata.\n", @@ -1932,36 +2459,50 @@ "in": "body", "description": "Content Metadata Access", "required": true, - "schema": { "$ref": "#/definitions/ContentMetaGroupUser" } + "schema": { + "$ref": "#/definitions/ContentMetaGroupUser" + } } ], "responses": { "200": { "description": "Content Metadata Access", - "schema": { "$ref": "#/definitions/ContentMetaGroupUser" } + "schema": { + "$ref": "#/definitions/ContentMetaGroupUser" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "delete_content_metadata_access", "summary": "Delete Content Metadata Access", "description": "### Remove content metadata access.\n", @@ -1978,19 +2519,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -1999,11 +2548,16 @@ }, "/content_thumbnail/{type}/{resource_id}": { "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "content_thumbnail", "summary": "Get Content Thumbnail", "description": "### Get an image representing the contents of a dashboard or look.\n\nThe returned thumbnail is an abstract representation of the contents of a dashbord or look and does not\nreflect the actual data displayed in the respective visualizations.\n", - "produces": ["image/svg+xml", "image/png"], + "produces": [ + "image/svg+xml", + "image/png" + ], "parameters": [ { "name": "type", @@ -2053,15 +2607,21 @@ "responses": { "200": { "description": "Content thumbnail", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -2070,7 +2630,9 @@ }, "/content_validation": { "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "content_validation", "summary": "Validate Content", "description": "### Validate All Content\n\nPerforms validation of all looks and dashboards\nReturns a list of errors found as well as metadata about the content validation run.\n", @@ -2086,23 +2648,33 @@ "responses": { "200": { "description": "Content validation results", - "schema": { "$ref": "#/definitions/ContentValidation" } + "schema": { + "$ref": "#/definitions/ContentValidation" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -2111,7 +2683,9 @@ }, "/content_view/search": { "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "search_content_views", "summary": "Search Content Views", "description": "### Search Content Views\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", @@ -2215,16 +2789,22 @@ "description": "Content View", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ContentView" } + "items": { + "$ref": "#/definitions/ContentView" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -2233,29 +2813,39 @@ }, "/custom_welcome_email": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "custom_welcome_email", "summary": "Get Custom Welcome Email", "description": "### Get the current status and content of custom welcome emails\n", "responses": { "200": { "description": "Custom Welcome Email", - "schema": { "$ref": "#/definitions/CustomWelcomeEmail" } + "schema": { + "$ref": "#/definitions/CustomWelcomeEmail" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "update_custom_welcome_email", "summary": "Update Custom Welcome Email Content", "description": "Update custom welcome email setting and values. Optionally send a test email with the new content to the currently logged in user.\n", @@ -2265,7 +2855,9 @@ "in": "body", "description": "Custom Welcome Email setting and value to save", "required": true, - "schema": { "$ref": "#/definitions/CustomWelcomeEmail" } + "schema": { + "$ref": "#/definitions/CustomWelcomeEmail" + } }, { "name": "send_test_welcome_email", @@ -2278,23 +2870,33 @@ "responses": { "200": { "description": "Custom Welcome Email", - "schema": { "$ref": "#/definitions/CustomWelcomeEmail" } + "schema": { + "$ref": "#/definitions/CustomWelcomeEmail" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -2303,7 +2905,9 @@ }, "/custom_welcome_email_test": { "put": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "update_custom_welcome_email_test", "summary": "Send a test welcome email to the currently logged in user with the supplied content ", "description": "Requests to this endpoint will send a welcome email with the custom content provided in the body to the currently logged in user.\n", @@ -2313,29 +2917,41 @@ "in": "body", "description": "Subject, header, and Body of the email to be sent.", "required": true, - "schema": { "$ref": "#/definitions/WelcomeEmailTest" } + "schema": { + "$ref": "#/definitions/WelcomeEmailTest" + } } ], "responses": { "200": { "description": "Send Test Welcome Email", - "schema": { "$ref": "#/definitions/WelcomeEmailTest" } + "schema": { + "$ref": "#/definitions/WelcomeEmailTest" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -2344,7 +2960,9 @@ }, "/dashboards": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "all_dashboards", "summary": "Get All Dashboards", "description": "### Get information about all active dashboards.\n\nReturns an array of **abbreviated dashboard objects**. Dashboards marked as deleted are excluded from this list.\n\nGet the **full details** of a specific dashboard by id with [dashboard()](#!/Dashboard/dashboard)\n\nFind **deleted dashboards** with [search_dashboards()](#!/Dashboard/search_dashboards)\n", @@ -2362,23 +2980,31 @@ "description": "dashboards", "schema": { "type": "array", - "items": { "$ref": "#/definitions/DashboardBase" } + "items": { + "$ref": "#/definitions/DashboardBase" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "create_dashboard", "summary": "Create Dashboard", "description": "### Create a new dashboard\n\nCreates a new dashboard object and returns the details of the newly created dashboard.\n\n`Title`, `user_id`, and `space_id` are all required fields.\n`Space_id` and `user_id` must contain the id of an existing space or user, respectively.\nA dashboard's `title` must be unique within the space in which it resides.\n\nIf you receive a 422 error response when creating a dashboard, be sure to look at the\nresponse body for information about exactly which fields are missing or contain invalid data.\n\nYou can **update** an existing dashboard with [update_dashboard()](#!/Dashboard/update_dashboard)\n\nYou can **permanently delete** an existing dashboard with [delete_dashboard()](#!/Dashboard/delete_dashboard)\n", @@ -2388,33 +3014,47 @@ "in": "body", "description": "Dashboard", "required": true, - "schema": { "$ref": "#/definitions/Dashboard" } + "schema": { + "$ref": "#/definitions/Dashboard" + } } ], "responses": { "200": { "description": "Dashboard", - "schema": { "$ref": "#/definitions/Dashboard" } + "schema": { + "$ref": "#/definitions/Dashboard" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -2423,7 +3063,9 @@ }, "/dashboards/search": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "search_dashboards", "summary": "Search Dashboards", "description": "### Search Dashboards\n\nReturns an **array of dashboard objects** that match the specified search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\nThe parameters `limit`, and `offset` are recommended for fetching results in page-size chunks.\n\nGet a **single dashboard** by id with [dashboard()](#!/Dashboard/dashboard)\n", @@ -2571,16 +3213,22 @@ "description": "dashboards", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Dashboard" } + "items": { + "$ref": "#/definitions/Dashboard" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -2589,7 +3237,9 @@ }, "/dashboards/{lookml_dashboard_id}/import/{space_id}": { "post": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "import_lookml_dashboard", "summary": "Import LookML Dashboard", "description": "### Import a LookML dashboard to a space as a UDD\nCreates a UDD (a dashboard which exists in the Looker database rather than as a LookML file) from the LookML dashboard\nand places it in the space specified. The created UDD will have a lookml_link_id which links to the original LookML dashboard.\n\nTo give the imported dashboard specify a (e.g. title: \"my title\") in the body of your request, otherwise the imported\ndashboard will have the same title as the original LookML dashboard.\n\nFor this operation to succeed the user must have permission to see the LookML dashboard in question, and have permission to\ncreate content in the space the dashboard is being imported to.\n\n**Sync** a linked UDD with [sync_lookml_dashboard()](#!/Dashboard/sync_lookml_dashboard)\n**Unlink** a linked UDD by setting lookml_link_id to null with [update_dashboard()](#!/Dashboard/update_dashboard)\n", @@ -2613,7 +3263,9 @@ "in": "body", "description": "Dashboard", "required": false, - "schema": { "$ref": "#/definitions/Dashboard" } + "schema": { + "$ref": "#/definitions/Dashboard" + } }, { "name": "raw_locale", @@ -2626,31 +3278,45 @@ "responses": { "200": { "description": "Dashboard", - "schema": { "$ref": "#/definitions/Dashboard" } + "schema": { + "$ref": "#/definitions/Dashboard" + } }, "201": { "description": "dashboard", - "schema": { "$ref": "#/definitions/Dashboard" } + "schema": { + "$ref": "#/definitions/Dashboard" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -2659,7 +3325,9 @@ }, "/dashboards/{lookml_dashboard_id}/sync": { "patch": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "sync_lookml_dashboard", "summary": "Sync LookML Dashboard", "description": "### Update all linked dashboards to match the specified LookML dashboard.\n\nAny UDD (a dashboard which exists in the Looker database rather than as a LookML file) which has a `lookml_link_id`\nproperty value referring to a LookML dashboard's id (model::dashboardname) will be updated so that it matches the current state of the LookML dashboard.\n\nFor this operation to succeed the user must have permission to view the LookML dashboard, and only linked dashboards\nthat the user has permission to update will be synced.\n\nTo **link** or **unlink** a UDD set the `lookml_link_id` property with [update_dashboard()](#!/Dashboard/update_dashboard)\n", @@ -2676,7 +3344,9 @@ "in": "body", "description": "Dashboard", "required": true, - "schema": { "$ref": "#/definitions/Dashboard" } + "schema": { + "$ref": "#/definitions/Dashboard" + } }, { "name": "raw_locale", @@ -2691,24 +3361,35 @@ "description": "Ids of all the dashboards that were updated by this operation", "schema": { "type": "array", - "items": { "type": "integer", "format": "int64" } + "items": { + "type": "integer", + "format": "int64" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -2717,7 +3398,9 @@ }, "/dashboards/{dashboard_id}": { "delete": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "delete_dashboard", "summary": "Delete Dashboard", "description": "### Delete the dashboard with the specified id\n\nPermanently **deletes** a dashboard. (The dashboard cannot be recovered after this operation.)\n\n\"Soft\" delete or hide a dashboard by setting its `deleted` status to `True` with [update_dashboard()](#!/Dashboard/update_dashboard).\n\nNote: When a dashboard is deleted in the UI, it is soft deleted. Use this API call to permanently remove it, if desired.\n", @@ -2733,30 +3416,42 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "405": { "description": "Resource Can't Be Modified", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "update_dashboard", "summary": "Update Dashboard", "description": "### Update a dashboard\n\nYou can use this function to change the string and integer properties of\na dashboard. Nested objects such as filters, dashboard elements, or dashboard layout components\ncannot be modified by this function - use the update functions for the respective\nnested object types (like [update_dashboard_filter()](#!/3.1/Dashboard/update_dashboard_filter) to change a filter)\nto modify nested objects referenced by a dashboard.\n\nIf you receive a 422 error response when updating a dashboard, be sure to look at the\nresponse body for information about exactly which fields are missing or contain invalid data.\n", @@ -2773,40 +3468,56 @@ "in": "body", "description": "Dashboard", "required": true, - "schema": { "$ref": "#/definitions/Dashboard" } + "schema": { + "$ref": "#/definitions/Dashboard" + } } ], "responses": { "200": { "description": "Dashboard", - "schema": { "$ref": "#/definitions/Dashboard" } + "schema": { + "$ref": "#/definitions/Dashboard" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "405": { "description": "Resource Can't Be Modified", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard", "summary": "Get Dashboard", "description": "### Get information about a dashboard\n\nReturns the full details of the identified dashboard object\n\nGet a **summary list** of all active dashboards with [all_dashboards()](#!/Dashboard/all_dashboards)\n\nYou can **Search** for dashboards with [search_dashboards()](#!/Dashboard/search_dashboards)\n", @@ -2829,15 +3540,21 @@ "responses": { "200": { "description": "Dashboard", - "schema": { "$ref": "#/definitions/Dashboard" } + "schema": { + "$ref": "#/definitions/Dashboard" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -2846,7 +3563,9 @@ }, "/dashboards/aggregate_table_lookml/{dashboard_id}": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_aggregate_table_lookml", "summary": "Get Aggregate Table LookML for a dashboard", "description": "### Get Aggregate Table LookML for Each Query on a Dahboard\n\nReturns a JSON object that contains the dashboard id and Aggregate Table lookml\n\n", @@ -2862,15 +3581,21 @@ "responses": { "200": { "description": "JSON for Aggregate Table LookML", - "schema": { "$ref": "#/definitions/DashboardAggregateTableLookml" } + "schema": { + "$ref": "#/definitions/DashboardAggregateTableLookml" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -2879,7 +3604,9 @@ }, "/dashboards/lookml/{dashboard_id}": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_lookml", "summary": "Get lookml of a UDD", "description": "### Get lookml of a UDD\n\nReturns a JSON object that contains the dashboard id and the full lookml\n\n", @@ -2895,15 +3622,21 @@ "responses": { "200": { "description": "json of dashboard", - "schema": { "$ref": "#/definitions/DashboardLookml" } + "schema": { + "$ref": "#/definitions/DashboardLookml" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -2912,7 +3645,9 @@ }, "/dashboards/{dashboard_id}/copy": { "post": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "copy_dashboard", "summary": "Copy Dashboard", "description": "### Copy an existing dashboard\n\nCreates a copy of an existing dashboard, in a specified folder, and returns the copied dashboard.\n\n`dashboard_id` and `folder_id` are required.\n`dashboard_id` and `folder_id` must already exist, and `folder_id` must be different from the current `folder_id` of the dashboard.\n", @@ -2935,31 +3670,45 @@ "responses": { "200": { "description": "Dashboard", - "schema": { "$ref": "#/definitions/Dashboard" } + "schema": { + "$ref": "#/definitions/Dashboard" + } }, "201": { "description": "dashboard", - "schema": { "$ref": "#/definitions/Dashboard" } + "schema": { + "$ref": "#/definitions/Dashboard" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -2968,7 +3717,9 @@ }, "/dashboards/{dashboard_id}/move": { "patch": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "move_dashboard", "summary": "Move Dashboard", "description": "### Move an existing dashboard\n\nMoves a dashboard to a specified folder, and returns the moved dashboard.\n\n`dashboard_id` and `folder_id` are required.\n`dashboard_id` and `folder_id` must already exist, and `folder_id` must be different from the current `folder_id` of the dashboard.\n", @@ -2991,27 +3742,39 @@ "responses": { "200": { "description": "Dashboard", - "schema": { "$ref": "#/definitions/Dashboard" } + "schema": { + "$ref": "#/definitions/Dashboard" + } }, "201": { "description": "dashboard", - "schema": { "$ref": "#/definitions/Dashboard" } + "schema": { + "$ref": "#/definitions/Dashboard" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -3020,7 +3783,9 @@ }, "/dashboard_elements/search": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "search_dashboard_elements", "summary": "Search Dashboard Elements", "description": "### Search Dashboard Elements\n\nReturns an **array of DashboardElement objects** that match the specified search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", @@ -3082,16 +3847,22 @@ "description": "Dashboard elements", "schema": { "type": "array", - "items": { "$ref": "#/definitions/DashboardElement" } + "items": { + "$ref": "#/definitions/DashboardElement" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -3100,7 +3871,9 @@ }, "/dashboard_elements/{dashboard_element_id}": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_element", "summary": "Get DashboardElement", "description": "### Get information about the dashboard element with a specific id.", @@ -3123,22 +3896,30 @@ "responses": { "200": { "description": "DashboardElement", - "schema": { "$ref": "#/definitions/DashboardElement" } + "schema": { + "$ref": "#/definitions/DashboardElement" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "delete_dashboard_element", "summary": "Delete DashboardElement", "description": "### Delete a dashboard element with a specific id.", @@ -3154,26 +3935,36 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "update_dashboard_element", "summary": "Update DashboardElement", "description": "### Update the dashboard element with a specific id.", @@ -3190,7 +3981,9 @@ "in": "body", "description": "DashboardElement", "required": true, - "schema": { "$ref": "#/definitions/DashboardElement" } + "schema": { + "$ref": "#/definitions/DashboardElement" + } }, { "name": "fields", @@ -3203,23 +3996,33 @@ "responses": { "200": { "description": "DashboardElement", - "schema": { "$ref": "#/definitions/DashboardElement" } + "schema": { + "$ref": "#/definitions/DashboardElement" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -3228,7 +4031,9 @@ }, "/dashboards/{dashboard_id}/dashboard_elements": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_dashboard_elements", "summary": "Get All DashboardElements", "description": "### Get information about all the dashboard elements on a dashboard with a specific id.", @@ -3253,16 +4058,22 @@ "description": "DashboardElement", "schema": { "type": "array", - "items": { "$ref": "#/definitions/DashboardElement" } + "items": { + "$ref": "#/definitions/DashboardElement" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -3271,7 +4082,9 @@ }, "/dashboard_elements": { "post": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "create_dashboard_element", "summary": "Create DashboardElement", "description": "### Create a dashboard element on the dashboard with a specific id.", @@ -3281,7 +4094,9 @@ "in": "body", "description": "DashboardElement", "required": true, - "schema": { "$ref": "#/definitions/DashboardElement" } + "schema": { + "$ref": "#/definitions/DashboardElement" + } }, { "name": "fields", @@ -3294,27 +4109,39 @@ "responses": { "200": { "description": "DashboardElement", - "schema": { "$ref": "#/definitions/DashboardElement" } + "schema": { + "$ref": "#/definitions/DashboardElement" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -3323,7 +4150,9 @@ }, "/dashboard_filters/{dashboard_filter_id}": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_filter", "summary": "Get Dashboard Filter", "description": "### Get information about the dashboard filters with a specific id.", @@ -3346,22 +4175,30 @@ "responses": { "200": { "description": "Dashboard Filter", - "schema": { "$ref": "#/definitions/DashboardFilter" } + "schema": { + "$ref": "#/definitions/DashboardFilter" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "delete_dashboard_filter", "summary": "Delete Dashboard Filter", "description": "### Delete a dashboard filter with a specific id.", @@ -3377,26 +4214,36 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "update_dashboard_filter", "summary": "Update Dashboard Filter", "description": "### Update the dashboard filter with a specific id.", @@ -3413,7 +4260,9 @@ "in": "body", "description": "Dashboard Filter", "required": true, - "schema": { "$ref": "#/definitions/DashboardFilter" } + "schema": { + "$ref": "#/definitions/DashboardFilter" + } }, { "name": "fields", @@ -3426,23 +4275,33 @@ "responses": { "200": { "description": "Dashboard Filter", - "schema": { "$ref": "#/definitions/DashboardFilter" } + "schema": { + "$ref": "#/definitions/DashboardFilter" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -3451,7 +4310,9 @@ }, "/dashboards/{dashboard_id}/dashboard_filters": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_dashboard_filters", "summary": "Get All Dashboard Filters", "description": "### Get information about all the dashboard filters on a dashboard with a specific id.", @@ -3476,16 +4337,22 @@ "description": "Dashboard Filter", "schema": { "type": "array", - "items": { "$ref": "#/definitions/DashboardFilter" } + "items": { + "$ref": "#/definitions/DashboardFilter" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -3494,7 +4361,9 @@ }, "/dashboard_filters": { "post": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "create_dashboard_filter", "summary": "Create Dashboard Filter", "description": "### Create a dashboard filter on the dashboard with a specific id.", @@ -3504,7 +4373,9 @@ "in": "body", "description": "Dashboard Filter", "required": true, - "schema": { "$ref": "#/definitions/CreateDashboardFilter" } + "schema": { + "$ref": "#/definitions/CreateDashboardFilter" + } }, { "name": "fields", @@ -3517,27 +4388,39 @@ "responses": { "200": { "description": "Dashboard Filter", - "schema": { "$ref": "#/definitions/DashboardFilter" } + "schema": { + "$ref": "#/definitions/DashboardFilter" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -3546,7 +4429,9 @@ }, "/dashboard_layout_components/{dashboard_layout_component_id}": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_layout_component", "summary": "Get DashboardLayoutComponent", "description": "### Get information about the dashboard elements with a specific id.", @@ -3569,22 +4454,30 @@ "responses": { "200": { "description": "DashboardLayoutComponent", - "schema": { "$ref": "#/definitions/DashboardLayoutComponent" } + "schema": { + "$ref": "#/definitions/DashboardLayoutComponent" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "update_dashboard_layout_component", "summary": "Update DashboardLayoutComponent", "description": "### Update the dashboard element with a specific id.", @@ -3601,7 +4494,9 @@ "in": "body", "description": "DashboardLayoutComponent", "required": true, - "schema": { "$ref": "#/definitions/DashboardLayoutComponent" } + "schema": { + "$ref": "#/definitions/DashboardLayoutComponent" + } }, { "name": "fields", @@ -3614,23 +4509,33 @@ "responses": { "200": { "description": "DashboardLayoutComponent", - "schema": { "$ref": "#/definitions/DashboardLayoutComponent" } + "schema": { + "$ref": "#/definitions/DashboardLayoutComponent" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -3639,7 +4544,9 @@ }, "/dashboard_layouts/{dashboard_layout_id}/dashboard_layout_components": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_layout_dashboard_layout_components", "summary": "Get All DashboardLayoutComponents", "description": "### Get information about all the dashboard layout components for a dashboard layout with a specific id.", @@ -3664,16 +4571,22 @@ "description": "DashboardLayoutComponent", "schema": { "type": "array", - "items": { "$ref": "#/definitions/DashboardLayoutComponent" } + "items": { + "$ref": "#/definitions/DashboardLayoutComponent" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -3682,7 +4595,9 @@ }, "/dashboard_layouts/{dashboard_layout_id}": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_layout", "summary": "Get DashboardLayout", "description": "### Get information about the dashboard layouts with a specific id.", @@ -3705,22 +4620,30 @@ "responses": { "200": { "description": "DashboardLayout", - "schema": { "$ref": "#/definitions/DashboardLayout" } + "schema": { + "$ref": "#/definitions/DashboardLayout" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "delete_dashboard_layout", "summary": "Delete DashboardLayout", "description": "### Delete a dashboard layout with a specific id.", @@ -3736,30 +4659,42 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "update_dashboard_layout", "summary": "Update DashboardLayout", "description": "### Update the dashboard layout with a specific id.", @@ -3776,7 +4711,9 @@ "in": "body", "description": "DashboardLayout", "required": true, - "schema": { "$ref": "#/definitions/DashboardLayout" } + "schema": { + "$ref": "#/definitions/DashboardLayout" + } }, { "name": "fields", @@ -3789,23 +4726,33 @@ "responses": { "200": { "description": "DashboardLayout", - "schema": { "$ref": "#/definitions/DashboardLayout" } + "schema": { + "$ref": "#/definitions/DashboardLayout" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -3814,7 +4761,9 @@ }, "/dashboards/{dashboard_id}/dashboard_layouts": { "get": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "dashboard_dashboard_layouts", "summary": "Get All DashboardLayouts", "description": "### Get information about all the dashboard elements on a dashboard with a specific id.", @@ -3839,16 +4788,22 @@ "description": "DashboardLayout", "schema": { "type": "array", - "items": { "$ref": "#/definitions/DashboardLayout" } + "items": { + "$ref": "#/definitions/DashboardLayout" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -3857,7 +4812,9 @@ }, "/dashboard_layouts": { "post": { - "tags": ["Dashboard"], + "tags": [ + "Dashboard" + ], "operationId": "create_dashboard_layout", "summary": "Create DashboardLayout", "description": "### Create a dashboard layout on the dashboard with a specific id.", @@ -3867,7 +4824,9 @@ "in": "body", "description": "DashboardLayout", "required": true, - "schema": { "$ref": "#/definitions/DashboardLayout" } + "schema": { + "$ref": "#/definitions/DashboardLayout" + } }, { "name": "fields", @@ -3880,27 +4839,39 @@ "responses": { "200": { "description": "DashboardLayout", - "schema": { "$ref": "#/definitions/DashboardLayout" } + "schema": { + "$ref": "#/definitions/DashboardLayout" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -3909,7 +4880,9 @@ }, "/data_actions": { "post": { - "tags": ["DataAction"], + "tags": [ + "DataAction" + ], "operationId": "perform_data_action", "summary": "Send a Data Action", "description": "Perform a data action. The data action object can be obtained from query results, and used to perform an arbitrary action.", @@ -3919,21 +4892,29 @@ "in": "body", "description": "Data Action Request", "required": true, - "schema": { "$ref": "#/definitions/DataActionRequest" } + "schema": { + "$ref": "#/definitions/DataActionRequest" + } } ], "responses": { "200": { "description": "Data Action Response", - "schema": { "$ref": "#/definitions/DataActionResponse" } + "schema": { + "$ref": "#/definitions/DataActionResponse" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -3942,7 +4923,9 @@ }, "/data_actions/form": { "post": { - "tags": ["DataAction"], + "tags": [ + "DataAction" + ], "operationId": "fetch_remote_data_action_form", "summary": "Fetch Remote Data Action Form", "description": "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.", @@ -3954,26 +4937,36 @@ "required": true, "schema": { "type": "object", - "additionalProperties": { "type": "string" } + "additionalProperties": { + "type": "string" + } } } ], "responses": { "200": { "description": "Data Action Form", - "schema": { "$ref": "#/definitions/DataActionForm" } + "schema": { + "$ref": "#/definitions/DataActionForm" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "beta", @@ -3982,7 +4975,9 @@ }, "/datagroups": { "get": { - "tags": ["Datagroup"], + "tags": [ + "Datagroup" + ], "operationId": "all_datagroups", "summary": "Get All Datagroups", "description": "### Get information about all datagroups.\n", @@ -3991,16 +4986,22 @@ "description": "Datagroup", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Datagroup" } + "items": { + "$ref": "#/definitions/Datagroup" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -4009,7 +5010,9 @@ }, "/datagroups/{datagroup_id}": { "get": { - "tags": ["Datagroup"], + "tags": [ + "Datagroup" + ], "operationId": "datagroup", "summary": "Get Datagroup", "description": "### Get information about a datagroup.\n", @@ -4026,22 +5029,30 @@ "responses": { "200": { "description": "Datagroup", - "schema": { "$ref": "#/definitions/Datagroup" } + "schema": { + "$ref": "#/definitions/Datagroup" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Datagroup"], + "tags": [ + "Datagroup" + ], "operationId": "update_datagroup", "summary": "Update Datagroup", "description": "### Update a datagroup using the specified params.\n", @@ -4059,33 +5070,47 @@ "in": "body", "description": "Datagroup", "required": true, - "schema": { "$ref": "#/definitions/Datagroup" } + "schema": { + "$ref": "#/definitions/Datagroup" + } } ], "responses": { "200": { "description": "Datagroup", - "schema": { "$ref": "#/definitions/Datagroup" } + "schema": { + "$ref": "#/definitions/Datagroup" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -4094,7 +5119,9 @@ }, "/connections": { "get": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "all_connections", "summary": "Get All Connections", "description": "### Get information about all connections.\n", @@ -4112,23 +5139,31 @@ "description": "Connection", "schema": { "type": "array", - "items": { "$ref": "#/definitions/DBConnection" } + "items": { + "$ref": "#/definitions/DBConnection" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "create_connection", "summary": "Create Connection", "description": "### Create a connection using the specified configuration.\n", @@ -4138,33 +5173,47 @@ "in": "body", "description": "Connection", "required": true, - "schema": { "$ref": "#/definitions/DBConnection" } + "schema": { + "$ref": "#/definitions/DBConnection" + } } ], "responses": { "200": { "description": "Connection", - "schema": { "$ref": "#/definitions/DBConnection" } + "schema": { + "$ref": "#/definitions/DBConnection" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -4173,7 +5222,9 @@ }, "/connections/{connection_name}": { "get": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "connection", "summary": "Get Connection", "description": "### Get information about a connection.\n", @@ -4196,22 +5247,30 @@ "responses": { "200": { "description": "Connection", - "schema": { "$ref": "#/definitions/DBConnection" } + "schema": { + "$ref": "#/definitions/DBConnection" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "update_connection", "summary": "Update Connection", "description": "### Update a connection using the specified configuration.\n", @@ -4228,36 +5287,50 @@ "in": "body", "description": "Connection", "required": true, - "schema": { "$ref": "#/definitions/DBConnection" } + "schema": { + "$ref": "#/definitions/DBConnection" + } } ], "responses": { "200": { "description": "Connection", - "schema": { "$ref": "#/definitions/DBConnection" } + "schema": { + "$ref": "#/definitions/DBConnection" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "delete_connection", "summary": "Delete Connection", "description": "### Delete a connection.\n", @@ -4273,19 +5346,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -4294,7 +5375,9 @@ }, "/connections/{connection_name}/connection_override/{override_context}": { "delete": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "delete_connection_override", "summary": "Delete Connection Override", "description": "### Delete a connection override.\n", @@ -4317,23 +5400,33 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -4342,7 +5435,9 @@ }, "/connections/{connection_name}/test": { "put": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "test_connection", "summary": "Test Connection", "description": "### Test an existing connection.\n\nNote that a connection's 'dialect' property has a 'connection_tests' property that lists the\nspecific types of tests that the connection supports.\n\nThis API is rate limited.\n\nUnsupported tests in the request will be ignored.\n", @@ -4360,7 +5455,9 @@ "description": "Array of names of tests to run", "required": false, "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "collectionFormat": "csv" } ], @@ -4369,24 +5466,34 @@ "description": "Test results", "schema": { "type": "array", - "items": { "$ref": "#/definitions/DBConnectionTestResult" } + "items": { + "$ref": "#/definitions/DBConnectionTestResult" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -4396,7 +5503,9 @@ }, "/connections/test": { "put": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "test_connection_config", "summary": "Test Connection Configuration", "description": "### Test a connection configuration.\n\nNote that a connection's 'dialect' property has a 'connection_tests' property that lists the\nspecific types of tests that the connection supports.\n\nThis API is rate limited.\n\nUnsupported tests in the request will be ignored.\n", @@ -4406,7 +5515,9 @@ "in": "body", "description": "Connection", "required": true, - "schema": { "$ref": "#/definitions/DBConnection" } + "schema": { + "$ref": "#/definitions/DBConnection" + } }, { "name": "tests", @@ -4414,7 +5525,9 @@ "description": "Array of names of tests to run", "required": false, "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "collectionFormat": "csv" } ], @@ -4423,20 +5536,28 @@ "description": "Test results", "schema": { "type": "array", - "items": { "$ref": "#/definitions/DBConnectionTestResult" } + "items": { + "$ref": "#/definitions/DBConnectionTestResult" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -4446,7 +5567,9 @@ }, "/projects/{project_id}/manifest/lock_all": { "post": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "lock_all", "summary": "Lock All", "description": " ### Generate Lockfile for All LookML Dependencies\n\n Git must have been configured, must be in dev mode and deploy permission required\n\n Install_all is a two step process\n 1. For each remote_dependency in a project the dependency manager will resolve any ambiguous ref.\n 2. The project will then write out a lockfile including each remote_dependency with its resolved ref.\n\n", @@ -4469,26 +5592,36 @@ "responses": { "200": { "description": "Project Dependency Manager", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "204": { "description": "Returns 204 if dependencies successfully installed, otherwise 400 with an error message" }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -4497,7 +5630,9 @@ }, "/derived_table/graph/model/{model}": { "get": { - "tags": ["LookmlModel"], + "tags": [ + "LookmlModel" + ], "operationId": "graph_derived_tables_for_model", "summary": "Get Derived Table", "description": "### Discover information about derived tables\n", @@ -4527,15 +5662,21 @@ "responses": { "200": { "description": "Derived Table", - "schema": { "$ref": "#/definitions/DependencyGraph" } + "schema": { + "$ref": "#/definitions/DependencyGraph" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -4544,7 +5685,9 @@ }, "/dialect_info": { "get": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "all_dialect_infos", "summary": "Get All Dialect Infos", "description": "### Get information about all dialects.\n", @@ -4562,16 +5705,22 @@ "description": "Dialect Info", "schema": { "type": "array", - "items": { "$ref": "#/definitions/DialectInfo" } + "items": { + "$ref": "#/definitions/DialectInfo" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -4580,29 +5729,39 @@ }, "/digest_emails_enabled": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "digest_emails_enabled", "summary": "Get Digest_emails", "description": "### Retrieve the value for whether or not digest emails is enabled\n", "responses": { "200": { "description": "Digest_emails", - "schema": { "$ref": "#/definitions/DigestEmails" } + "schema": { + "$ref": "#/definitions/DigestEmails" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "update_digest_emails_enabled", "summary": "Update Digest_emails", "description": "### Update the setting for enabling/disabling digest emails\n", @@ -4612,29 +5771,41 @@ "in": "body", "description": "Digest_emails", "required": true, - "schema": { "$ref": "#/definitions/DigestEmails" } + "schema": { + "$ref": "#/definitions/DigestEmails" + } } ], "responses": { "200": { "description": "Digest_emails", - "schema": { "$ref": "#/definitions/DigestEmails" } + "schema": { + "$ref": "#/definitions/DigestEmails" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -4643,26 +5814,36 @@ }, "/digest_email_send": { "post": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "create_digest_email_send", "summary": "Deliver digest email contents", "description": "### Trigger the generation of digest email records and send them to Looker's internal system. This does not send\nany actual emails, it generates records containing content which may be of interest for users who have become inactive.\nEmails will be sent at a later time from Looker's internal system if the Digest Emails feature is enabled in settings.", "responses": { "200": { "description": "Status of generating and sending the data", - "schema": { "$ref": "#/definitions/DigestEmailSend" } + "schema": { + "$ref": "#/definitions/DigestEmailSend" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -4672,7 +5853,9 @@ }, "/embed/sso_url": { "post": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "create_sso_embed_url", "summary": "Create SSO Embed Url", "description": "### Create SSO Embed URL\n\nCreates an SSO embed URL and cryptographically signs it with an embed secret.\nThis signed URL can then be used to instantiate a Looker embed session in a PBL web application.\nDo not make any modifications to this URL - any change may invalidate the signature and\ncause the URL to fail to load a Looker embed session.\n\nA signed SSO embed URL can only be used once. After it has been used to request a page from the\nLooker server, the URL is invalid. Future requests using the same URL will fail. This is to prevent\n'replay attacks'.\n\nThe `target_url` property must be a complete URL of a Looker UI page - scheme, hostname, path and query params.\nTo 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`.\nThe best way to obtain this target_url is to navigate to the desired Looker page in your web browser,\ncopy the URL shown in the browser address bar and paste it into the `target_url` property as a quoted string value in this API request.\n\nPermissions for the embed user are defined by the groups in which the embed user is a member (group_ids property)\nand the lists of models and permissions assigned to the embed user.\nAt a minimum, you must provide values for either the group_ids property, or both the models and permissions properties.\nThese properties are additive; an embed user can be a member of certain groups AND be granted access to models and permissions.\n\nThe embed user's access is the union of permissions granted by the group_ids, models, and permissions properties.\n\nThis function does not strictly require all group_ids, user attribute names, or model names to exist at the moment the\nSSO embed url is created. Unknown group_id, user attribute names or model names will be passed through to the output URL.\nTo diagnose potential problems with an SSO embed URL, you can copy the signed URL into the Embed URI Validator text box in `/admin/embed`.\n\nThe `secret_id` parameter is optional. If specified, its value must be the id of an active secret defined in the Looker instance.\nif not specified, the URL will be signed using the newest active secret defined in the Looker instance.\n\n#### Security Note\nProtect this signed URL as you would an access token or password credentials - do not write\nit to disk, do not pass it to a third party, and only pass it through a secure HTTPS\nencrypted transport.\n", @@ -4682,33 +5865,47 @@ "in": "body", "description": "SSO parameters", "required": true, - "schema": { "$ref": "#/definitions/EmbedSsoParams" } + "schema": { + "$ref": "#/definitions/EmbedSsoParams" + } } ], "responses": { "200": { "description": "Signed SSO URL", - "schema": { "$ref": "#/definitions/EmbedUrlResponse" } + "schema": { + "$ref": "#/definitions/EmbedUrlResponse" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -4717,7 +5914,9 @@ }, "/embed/token_url/me": { "post": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "create_embed_url_as_me", "summary": "Create Embed URL", "description": "### Create an Embed URL\n\nCreates an embed URL that runs as the Looker user making this API call. (\"Embed as me\")\nThis embed URL can then be used to instantiate a Looker embed session in a\n\"Powered by Looker\" (PBL) web application.\n\nThis is similar to Private Embedding (https://docs.looker.com/r/admin/embed/private-embed). Instead of\nof logging into the Web UI to authenticate, the user has already authenticated against the API to be able to\nmake this call. However, unlike Private Embed where the user has access to any other part of the Looker UI,\nthe embed web session created by requesting the EmbedUrlResponse.url in a browser only has access to\ncontent visible under the `/embed` context.\n\nAn embed URL can only be used once, and must be used within 5 minutes of being created. After it\nhas been used to request a page from the Looker server, the URL is invalid. Future requests using\nthe same URL will fail. This is to prevent 'replay attacks'.\n\nThe `target_url` property must be a complete URL of a Looker Embedded UI page - scheme, hostname, path starting with \"/embed\" and query params.\nTo 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`.\nThe best way to obtain this target_url is to navigate to the desired Looker page in your web browser,\ncopy 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.\n\n#### Security Note\nProtect this embed URL as you would an access token or password credentials - do not write\nit to disk, do not pass it to a third party, and only pass it through a secure HTTPS\nencrypted transport.\n", @@ -4727,33 +5926,47 @@ "in": "body", "description": "Embed parameters", "required": true, - "schema": { "$ref": "#/definitions/EmbedParams" } + "schema": { + "$ref": "#/definitions/EmbedParams" + } } ], "responses": { "200": { "description": "Embed URL", - "schema": { "$ref": "#/definitions/EmbedUrlResponse" } + "schema": { + "$ref": "#/definitions/EmbedUrlResponse" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -4762,7 +5975,9 @@ }, "/external_oauth_applications": { "get": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "all_external_oauth_applications", "summary": "Get All External OAuth Application. This is an OAuth Application which Looker uses to access external systems.s", "description": "### Get all External OAuth Applications.\n", @@ -4787,23 +6002,31 @@ "description": "External OAuth Application. This is an OAuth Application which Looker uses to access external systems.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ExternalOauthApplication" } + "items": { + "$ref": "#/definitions/ExternalOauthApplication" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "create_external_oauth_application", "summary": "Create External OAuth Application. This is an OAuth Application which Looker uses to access external systems.", "description": "### Create an OAuth Application using the specified configuration.\n", @@ -4813,33 +6036,47 @@ "in": "body", "description": "External OAuth Application. This is an OAuth Application which Looker uses to access external systems.", "required": true, - "schema": { "$ref": "#/definitions/ExternalOauthApplication" } + "schema": { + "$ref": "#/definitions/ExternalOauthApplication" + } } ], "responses": { "200": { "description": "External OAuth Application. This is an OAuth Application which Looker uses to access external systems.", - "schema": { "$ref": "#/definitions/ExternalOauthApplication" } + "schema": { + "$ref": "#/definitions/ExternalOauthApplication" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -4848,7 +6085,9 @@ }, "/projects/{project_id}/git_branches": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "all_git_branches", "summary": "Get All Git Branches", "description": "### Get All Git Branches\n\nReturns a list of git branches in the project repository\n", @@ -4866,16 +6105,22 @@ "description": "Git Branch", "schema": { "type": "array", - "items": { "$ref": "#/definitions/GitBranch" } + "items": { + "$ref": "#/definitions/GitBranch" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -4884,7 +6129,9 @@ }, "/projects/{project_id}/git_branch": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "git_branch", "summary": "Get Active Git Branch", "description": "### Get the Current Git Branch\n\nReturns the git branch currently checked out in the given project repository\n", @@ -4900,22 +6147,30 @@ "responses": { "200": { "description": "Git Branch", - "schema": { "$ref": "#/definitions/GitBranch" } + "schema": { + "$ref": "#/definitions/GitBranch" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "create_git_branch", "summary": "Checkout New Git Branch", "description": "### Create and Checkout a Git Branch\n\nCreates and checks out a new branch in the given project repository\nOnly allowed in development mode\n - Call `update_session` to select the 'dev' workspace.\n\nOptionally specify a branch name, tag name or commit SHA as the start point in the ref field.\n If no ref is specified, HEAD of the current branch will be used as the start point for the new branch.\n\n", @@ -4932,40 +6187,56 @@ "in": "body", "description": "Git Branch", "required": true, - "schema": { "$ref": "#/definitions/GitBranch" } + "schema": { + "$ref": "#/definitions/GitBranch" + } } ], "responses": { "200": { "description": "Git Branch", - "schema": { "$ref": "#/definitions/GitBranch" } + "schema": { + "$ref": "#/definitions/GitBranch" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "put": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "update_git_branch", "summary": "Update Project Git Branch", "description": "### Checkout and/or reset --hard an existing Git Branch\n\nOnly allowed in development mode\n - Call `update_session` to select the 'dev' workspace.\n\nCheckout an existing branch if name field is different from the name of the currently checked out branch.\n\nOptionally specify a branch name, tag name or commit SHA to which the branch should be reset.\n **DANGER** hard reset will be force pushed to the remote. Unsaved changes and commits may be permanently lost.\n\n", @@ -4982,29 +6253,41 @@ "in": "body", "description": "Git Branch", "required": true, - "schema": { "$ref": "#/definitions/GitBranch" } + "schema": { + "$ref": "#/definitions/GitBranch" + } } ], "responses": { "200": { "description": "Git Branch", - "schema": { "$ref": "#/definitions/GitBranch" } + "schema": { + "$ref": "#/definitions/GitBranch" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -5013,7 +6296,9 @@ }, "/projects/{project_id}/git_branch/{branch_name}": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "find_git_branch", "summary": "Find a Git Branch", "description": "### Get the specified Git Branch\n\nReturns the git branch specified in branch_name path param if it exists in the given project repository\n", @@ -5036,22 +6321,30 @@ "responses": { "200": { "description": "Git Branch", - "schema": { "$ref": "#/definitions/GitBranch" } + "schema": { + "$ref": "#/definitions/GitBranch" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "delete_git_branch", "summary": "Delete a Git Branch", "description": "### Delete the specified Git Branch\n\nDelete git branch specified in branch_name path param from local and remote of specified project repository\n", @@ -5074,19 +6367,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -5095,7 +6396,9 @@ }, "/groups": { "get": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "all_groups", "summary": "Get All Groups", "description": "### Get information about all groups.\n", @@ -5136,7 +6439,10 @@ "description": "Optional of ids to get specific groups.", "required": false, "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "collectionFormat": "csv" }, { @@ -5160,23 +6466,31 @@ "description": "Group", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Group" } + "items": { + "$ref": "#/definitions/Group" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "create_group", "summary": "Create Group", "description": "### Creates a new group (admin only).\n", @@ -5186,7 +6500,9 @@ "in": "body", "description": "Group", "required": true, - "schema": { "$ref": "#/definitions/Group" } + "schema": { + "$ref": "#/definitions/Group" + } }, { "name": "fields", @@ -5199,27 +6515,39 @@ "responses": { "200": { "description": "Group", - "schema": { "$ref": "#/definitions/Group" } + "schema": { + "$ref": "#/definitions/Group" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -5228,7 +6556,9 @@ }, "/groups/search": { "get": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "search_groups", "summary": "Search Groups", "description": "### Search groups\n\nReturns all group records that match the given search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", @@ -5312,16 +6642,22 @@ "description": "Group", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Group" } + "items": { + "$ref": "#/definitions/Group" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -5330,7 +6666,9 @@ }, "/groups/search/with_roles": { "get": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "search_groups_with_roles", "summary": "Search Groups with Roles", "description": "### Search groups include roles\n\nReturns all group records that match the given search criteria, and attaches any associated roles.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", @@ -5414,16 +6752,22 @@ "description": "Group", "schema": { "type": "array", - "items": { "$ref": "#/definitions/GroupSearch" } + "items": { + "$ref": "#/definitions/GroupSearch" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -5432,7 +6776,9 @@ }, "/groups/search/with_hierarchy": { "get": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "search_groups_with_hierarchy", "summary": "Search Groups with Hierarchy", "description": "### Search groups include hierarchy\n\nReturns all group records that match the given search criteria, and attaches\nassociated role_ids and parent group_ids.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", @@ -5516,16 +6862,22 @@ "description": "Group", "schema": { "type": "array", - "items": { "$ref": "#/definitions/GroupHierarchy" } + "items": { + "$ref": "#/definitions/GroupHierarchy" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -5534,7 +6886,9 @@ }, "/groups/{group_id}": { "get": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "group", "summary": "Get Group", "description": "### Get information about a group.\n", @@ -5558,22 +6912,30 @@ "responses": { "200": { "description": "Group", - "schema": { "$ref": "#/definitions/Group" } + "schema": { + "$ref": "#/definitions/Group" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "update_group", "summary": "Update Group", "description": "### Updates the a group (admin only).", @@ -5591,7 +6953,9 @@ "in": "body", "description": "Group", "required": true, - "schema": { "$ref": "#/definitions/Group" } + "schema": { + "$ref": "#/definitions/Group" + } }, { "name": "fields", @@ -5604,30 +6968,42 @@ "responses": { "200": { "description": "Group", - "schema": { "$ref": "#/definitions/Group" } + "schema": { + "$ref": "#/definitions/Group" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "delete_group", "summary": "Delete Group", "description": "### Deletes a group (admin only).\n", @@ -5644,23 +7020,33 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "403": { "description": "Permission Denied", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -5669,7 +7055,9 @@ }, "/groups/{group_id}/groups": { "get": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "all_group_groups", "summary": "Get All Groups in Group", "description": "### Get information about all the groups in a group\n", @@ -5695,23 +7083,31 @@ "description": "All groups in group.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Group" } + "items": { + "$ref": "#/definitions/Group" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "add_group_group", "summary": "Add a Group to Group", "description": "### Adds a new group to a group.\n", @@ -5729,25 +7125,35 @@ "in": "body", "description": "Group id to add", "required": true, - "schema": { "$ref": "#/definitions/GroupIdForGroupInclusion" } + "schema": { + "$ref": "#/definitions/GroupIdForGroupInclusion" + } } ], "responses": { "200": { "description": "Added group.", - "schema": { "$ref": "#/definitions/Group" } + "schema": { + "$ref": "#/definitions/Group" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "403": { "description": "Permission Denied", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -5756,7 +7162,9 @@ }, "/groups/{group_id}/users": { "get": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "all_group_users", "summary": "Get All Users in Group", "description": "### Get information about all the users directly included in a group.\n", @@ -5805,23 +7213,31 @@ "description": "All users in group.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/User" } + "items": { + "$ref": "#/definitions/User" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "add_group_user", "summary": "Add a User to Group", "description": "### Adds a new user to a group.\n", @@ -5839,25 +7255,35 @@ "in": "body", "description": "User id to add", "required": true, - "schema": { "$ref": "#/definitions/GroupIdForGroupUserInclusion" } + "schema": { + "$ref": "#/definitions/GroupIdForGroupUserInclusion" + } } ], "responses": { "200": { "description": "Added user.", - "schema": { "$ref": "#/definitions/User" } + "schema": { + "$ref": "#/definitions/User" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "403": { "description": "Permission Denied", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -5866,7 +7292,9 @@ }, "/groups/{group_id}/users/{user_id}": { "delete": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "delete_group_user", "summary": "Remove a User from Group", "description": "### Removes a user from a group.\n", @@ -5889,18 +7317,26 @@ } ], "responses": { - "204": { "description": "User successfully removed from group" }, + "204": { + "description": "User successfully removed from group" + }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "403": { "description": "Permission Denied", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -5909,7 +7345,9 @@ }, "/groups/{group_id}/groups/{deleting_group_id}": { "delete": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "delete_group_from_group", "summary": "Deletes a Group from Group", "description": "### Removes a group from a group.\n", @@ -5932,18 +7370,26 @@ } ], "responses": { - "204": { "description": "Group successfully deleted" }, + "204": { + "description": "Group successfully deleted" + }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "403": { "description": "Permission Denied", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -5952,7 +7398,9 @@ }, "/groups/{group_id}/attribute_values/{user_attribute_id}": { "patch": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "update_user_attribute_group_value", "summary": "Set User Attribute Group Value", "description": "### Set the value of a user attribute for a group.\n\nFor information about how user attribute values are calculated, see [Set User Attribute Group Values](#!/UserAttribute/set_user_attribute_group_values).\n", @@ -5978,32 +7426,44 @@ "in": "body", "description": "New value for group.", "required": true, - "schema": { "$ref": "#/definitions/UserAttributeGroupValue" } + "schema": { + "$ref": "#/definitions/UserAttributeGroupValue" + } } ], "responses": { "200": { "description": "Group value object.", - "schema": { "$ref": "#/definitions/UserAttributeGroupValue" } + "schema": { + "$ref": "#/definitions/UserAttributeGroupValue" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Group"], + "tags": [ + "Group" + ], "operationId": "delete_user_attribute_group_value", "summary": "Delete User Attribute Group Value", "description": "### Remove a user attribute value from a group.\n", @@ -6026,14 +7486,20 @@ } ], "responses": { - "204": { "description": "Value successfully unset" }, + "204": { + "description": "Value successfully unset" + }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -6042,7 +7508,9 @@ }, "/boards": { "get": { - "tags": ["Board"], + "tags": [ + "Board" + ], "operationId": "all_boards", "summary": "Get All Boards", "description": "### Get information about all boards.\n", @@ -6060,23 +7528,31 @@ "description": "Board", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Board" } + "items": { + "$ref": "#/definitions/Board" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Board"], + "tags": [ + "Board" + ], "operationId": "create_board", "summary": "Create Board", "description": "### Create a new board.\n", @@ -6086,7 +7562,9 @@ "in": "body", "description": "Board", "required": true, - "schema": { "$ref": "#/definitions/Board" } + "schema": { + "$ref": "#/definitions/Board" + } }, { "name": "fields", @@ -6099,27 +7577,39 @@ "responses": { "200": { "description": "Board", - "schema": { "$ref": "#/definitions/Board" } + "schema": { + "$ref": "#/definitions/Board" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -6128,7 +7618,9 @@ }, "/boards/search": { "get": { - "tags": ["Board"], + "tags": [ + "Board" + ], "operationId": "search_boards", "summary": "Search Boards", "description": "### Search Boards\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", @@ -6234,16 +7726,22 @@ "description": "boards", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Board" } + "items": { + "$ref": "#/definitions/Board" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -6252,7 +7750,9 @@ }, "/boards/{board_id}": { "get": { - "tags": ["Board"], + "tags": [ + "Board" + ], "operationId": "board", "summary": "Get Board", "description": "### Get information about a board.\n", @@ -6276,22 +7776,30 @@ "responses": { "200": { "description": "Board", - "schema": { "$ref": "#/definitions/Board" } + "schema": { + "$ref": "#/definitions/Board" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Board"], + "tags": [ + "Board" + ], "operationId": "update_board", "summary": "Update Board", "description": "### Update a board definition.\n", @@ -6309,7 +7817,9 @@ "in": "body", "description": "Board", "required": true, - "schema": { "$ref": "#/definitions/Board" } + "schema": { + "$ref": "#/definitions/Board" + } }, { "name": "fields", @@ -6322,30 +7832,42 @@ "responses": { "200": { "description": "Board", - "schema": { "$ref": "#/definitions/Board" } + "schema": { + "$ref": "#/definitions/Board" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Board"], + "tags": [ + "Board" + ], "operationId": "delete_board", "summary": "Delete Board", "description": "### Delete a board.\n", @@ -6362,19 +7884,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -6383,7 +7913,9 @@ }, "/board_items": { "get": { - "tags": ["Board"], + "tags": [ + "Board" + ], "operationId": "all_board_items", "summary": "Get All Board Items", "description": "### Get information about all board items.\n", @@ -6415,23 +7947,31 @@ "description": "Board Item", "schema": { "type": "array", - "items": { "$ref": "#/definitions/BoardItem" } + "items": { + "$ref": "#/definitions/BoardItem" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } - }, + "schema": { + "$ref": "#/definitions/Error" + } + }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Board"], + "tags": [ + "Board" + ], "operationId": "create_board_item", "summary": "Create Board Item", "description": "### Create a new board item.\n", @@ -6441,7 +7981,9 @@ "in": "body", "description": "Board Item", "required": true, - "schema": { "$ref": "#/definitions/BoardItem" } + "schema": { + "$ref": "#/definitions/BoardItem" + } }, { "name": "fields", @@ -6454,27 +7996,39 @@ "responses": { "200": { "description": "Board Item", - "schema": { "$ref": "#/definitions/BoardItem" } + "schema": { + "$ref": "#/definitions/BoardItem" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -6483,7 +8037,9 @@ }, "/board_items/{board_item_id}": { "get": { - "tags": ["Board"], + "tags": [ + "Board" + ], "operationId": "board_item", "summary": "Get Board Item", "description": "### Get information about a board item.\n", @@ -6507,22 +8063,30 @@ "responses": { "200": { "description": "Board Item", - "schema": { "$ref": "#/definitions/BoardItem" } + "schema": { + "$ref": "#/definitions/BoardItem" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Board"], + "tags": [ + "Board" + ], "operationId": "update_board_item", "summary": "Update Board Item", "description": "### Update a board item definition.\n", @@ -6540,7 +8104,9 @@ "in": "body", "description": "Board Item", "required": true, - "schema": { "$ref": "#/definitions/BoardItem" } + "schema": { + "$ref": "#/definitions/BoardItem" + } }, { "name": "fields", @@ -6553,30 +8119,42 @@ "responses": { "200": { "description": "Board Item", - "schema": { "$ref": "#/definitions/BoardItem" } + "schema": { + "$ref": "#/definitions/BoardItem" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Board"], + "tags": [ + "Board" + ], "operationId": "delete_board_item", "summary": "Delete Board Item", "description": "### Delete a board item.\n", @@ -6593,19 +8171,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -6614,7 +8200,9 @@ }, "/primary_homepage_sections": { "get": { - "tags": ["Homepage"], + "tags": [ + "Homepage" + ], "operationId": "all_primary_homepage_sections", "summary": "Get All Primary homepage sections", "description": "### Get information about the primary homepage's sections.\n", @@ -6632,16 +8220,22 @@ "description": "Primary homepage section", "schema": { "type": "array", - "items": { "$ref": "#/definitions/HomepageSection" } + "items": { + "$ref": "#/definitions/HomepageSection" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -6650,7 +8244,9 @@ }, "/board_sections": { "get": { - "tags": ["Board"], + "tags": [ + "Board" + ], "operationId": "all_board_sections", "summary": "Get All Board sections", "description": "### Get information about all board sections.\n", @@ -6675,23 +8271,31 @@ "description": "Board section", "schema": { "type": "array", - "items": { "$ref": "#/definitions/BoardSection" } + "items": { + "$ref": "#/definitions/BoardSection" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Board"], + "tags": [ + "Board" + ], "operationId": "create_board_section", "summary": "Create Board section", "description": "### Create a new board section.\n", @@ -6701,7 +8305,9 @@ "in": "body", "description": "Board section", "required": true, - "schema": { "$ref": "#/definitions/BoardSection" } + "schema": { + "$ref": "#/definitions/BoardSection" + } }, { "name": "fields", @@ -6714,27 +8320,39 @@ "responses": { "200": { "description": "Board section", - "schema": { "$ref": "#/definitions/BoardSection" } + "schema": { + "$ref": "#/definitions/BoardSection" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -6743,7 +8361,9 @@ }, "/board_sections/{board_section_id}": { "get": { - "tags": ["Board"], + "tags": [ + "Board" + ], "operationId": "board_section", "summary": "Get Board section", "description": "### Get information about a board section.\n", @@ -6767,22 +8387,30 @@ "responses": { "200": { "description": "Board section", - "schema": { "$ref": "#/definitions/BoardSection" } + "schema": { + "$ref": "#/definitions/BoardSection" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Board"], + "tags": [ + "Board" + ], "operationId": "update_board_section", "summary": "Update Board section", "description": "### Update a board section definition.\n", @@ -6800,7 +8428,9 @@ "in": "body", "description": "Board section", "required": true, - "schema": { "$ref": "#/definitions/BoardSection" } + "schema": { + "$ref": "#/definitions/BoardSection" + } }, { "name": "fields", @@ -6813,30 +8443,42 @@ "responses": { "200": { "description": "Board section", - "schema": { "$ref": "#/definitions/BoardSection" } + "schema": { + "$ref": "#/definitions/BoardSection" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Board"], + "tags": [ + "Board" + ], "operationId": "delete_board_section", "summary": "Delete Board section", "description": "### Delete a board section.\n", @@ -6853,19 +8495,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -6874,7 +8524,9 @@ }, "/integration_hubs": { "get": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "all_integration_hubs", "summary": "Get All Integration Hubs", "description": "### Get information about all Integration Hubs.\n", @@ -6892,23 +8544,31 @@ "description": "Integration Hub", "schema": { "type": "array", - "items": { "$ref": "#/definitions/IntegrationHub" } + "items": { + "$ref": "#/definitions/IntegrationHub" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "create_integration_hub", "summary": "Create Integration Hub", "description": "### Create a new Integration Hub.\n\nThis API is rate limited to prevent it from being used for SSRF attacks\n", @@ -6918,7 +8578,9 @@ "in": "body", "description": "Integration Hub", "required": true, - "schema": { "$ref": "#/definitions/IntegrationHub" } + "schema": { + "$ref": "#/definitions/IntegrationHub" + } }, { "name": "fields", @@ -6931,27 +8593,39 @@ "responses": { "200": { "description": "Integration Hub", - "schema": { "$ref": "#/definitions/IntegrationHub" } + "schema": { + "$ref": "#/definitions/IntegrationHub" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -6961,7 +8635,9 @@ }, "/integration_hubs/{integration_hub_id}": { "get": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "integration_hub", "summary": "Get Integration Hub", "description": "### Get information about a Integration Hub.\n", @@ -6985,22 +8661,30 @@ "responses": { "200": { "description": "Integration Hub", - "schema": { "$ref": "#/definitions/IntegrationHub" } + "schema": { + "$ref": "#/definitions/IntegrationHub" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "update_integration_hub", "summary": "Update Integration Hub", "description": "### Update a Integration Hub definition.\n\nThis API is rate limited to prevent it from being used for SSRF attacks\n", @@ -7018,7 +8702,9 @@ "in": "body", "description": "Integration Hub", "required": true, - "schema": { "$ref": "#/definitions/IntegrationHub" } + "schema": { + "$ref": "#/definitions/IntegrationHub" + } }, { "name": "fields", @@ -7031,23 +8717,33 @@ "responses": { "200": { "description": "Integration Hub", - "schema": { "$ref": "#/definitions/IntegrationHub" } + "schema": { + "$ref": "#/definitions/IntegrationHub" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -7055,7 +8751,9 @@ "x-looker-rate-limited": true }, "delete": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "delete_integration_hub", "summary": "Delete Integration Hub", "description": "### Delete a Integration Hub.\n", @@ -7072,19 +8770,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -7093,7 +8799,9 @@ }, "/integration_hubs/{integration_hub_id}/accept_legal_agreement": { "post": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "accept_integration_hub_legal_agreement", "summary": "Accept Integration Hub Legal Agreement", "description": "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.", @@ -7110,19 +8818,27 @@ "responses": { "200": { "description": "Integration hub", - "schema": { "$ref": "#/definitions/IntegrationHub" } + "schema": { + "$ref": "#/definitions/IntegrationHub" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "beta", @@ -7131,7 +8847,9 @@ }, "/integrations": { "get": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "all_integrations", "summary": "Get All Integrations", "description": "### Get information about all Integrations.\n", @@ -7156,16 +8874,22 @@ "description": "Integration", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Integration" } + "items": { + "$ref": "#/definitions/Integration" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -7174,7 +8898,9 @@ }, "/integrations/{integration_id}": { "get": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "integration", "summary": "Get Integration", "description": "### Get information about a Integration.\n", @@ -7197,22 +8923,30 @@ "responses": { "200": { "description": "Integration", - "schema": { "$ref": "#/definitions/Integration" } + "schema": { + "$ref": "#/definitions/Integration" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "update_integration", "summary": "Update Integration", "description": "### Update parameters on a Integration.\n", @@ -7229,7 +8963,9 @@ "in": "body", "description": "Integration", "required": true, - "schema": { "$ref": "#/definitions/Integration" } + "schema": { + "$ref": "#/definitions/Integration" + } }, { "name": "fields", @@ -7242,23 +8978,33 @@ "responses": { "200": { "description": "Integration", - "schema": { "$ref": "#/definitions/Integration" } + "schema": { + "$ref": "#/definitions/Integration" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -7267,7 +9013,9 @@ }, "/integrations/{integration_id}/form": { "post": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "fetch_integration_form", "summary": "Fetch Remote Integration Form", "description": "Returns the Integration form for presentation to the user.", @@ -7286,26 +9034,36 @@ "required": false, "schema": { "type": "object", - "additionalProperties": { "type": "string" } + "additionalProperties": { + "type": "string" + } } } ], "responses": { "200": { "description": "Data Action Form", - "schema": { "$ref": "#/definitions/DataActionForm" } + "schema": { + "$ref": "#/definitions/DataActionForm" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "beta", @@ -7314,7 +9072,9 @@ }, "/integrations/{integration_id}/test": { "post": { - "tags": ["Integration"], + "tags": [ + "Integration" + ], "operationId": "test_integration", "summary": "Test integration", "description": "Tests the integration to make sure all the settings are working.", @@ -7330,19 +9090,27 @@ "responses": { "200": { "description": "Test Result", - "schema": { "$ref": "#/definitions/IntegrationTestResult" } + "schema": { + "$ref": "#/definitions/IntegrationTestResult" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "beta", @@ -7351,29 +9119,39 @@ }, "/internal_help_resources_content": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "internal_help_resources_content", "summary": "Get Internal Help Resources Content", "description": "### Set the menu item name and content for internal help resources\n", "responses": { "200": { "description": "Internal Help Resources Content", - "schema": { "$ref": "#/definitions/InternalHelpResourcesContent" } + "schema": { + "$ref": "#/definitions/InternalHelpResourcesContent" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "update_internal_help_resources_content", "summary": "Update internal help resources content", "description": "Update internal help resources content\n", @@ -7383,29 +9161,41 @@ "in": "body", "description": "Internal Help Resources Content", "required": true, - "schema": { "$ref": "#/definitions/InternalHelpResourcesContent" } + "schema": { + "$ref": "#/definitions/InternalHelpResourcesContent" + } } ], "responses": { "200": { "description": "Internal Help Resources Content", - "schema": { "$ref": "#/definitions/InternalHelpResourcesContent" } + "schema": { + "$ref": "#/definitions/InternalHelpResourcesContent" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -7414,22 +9204,30 @@ }, "/internal_help_resources_enabled": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "internal_help_resources", "summary": "Get Internal Help Resources", "description": "### Get and set the options for internal help resources\n", "responses": { "200": { "description": "Internal Help Resources", - "schema": { "$ref": "#/definitions/InternalHelpResources" } + "schema": { + "$ref": "#/definitions/InternalHelpResources" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -7438,7 +9236,9 @@ }, "/internal_help_resources": { "patch": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "update_internal_help_resources", "summary": "Update internal help resources configuration", "description": "Update internal help resources settings\n", @@ -7448,29 +9248,41 @@ "in": "body", "description": "Custom Welcome Email", "required": true, - "schema": { "$ref": "#/definitions/InternalHelpResources" } + "schema": { + "$ref": "#/definitions/InternalHelpResources" + } } ], "responses": { "200": { "description": "Custom Welcome Email", - "schema": { "$ref": "#/definitions/InternalHelpResources" } + "schema": { + "$ref": "#/definitions/InternalHelpResources" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -7479,25 +9291,33 @@ }, "/ldap_config": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "ldap_config", "summary": "Get LDAP Configuration", "description": "### Get the LDAP configuration.\n\nLooker can be optionally configured to authenticate users against an Active Directory or other LDAP directory server.\nLDAP setup requires coordination with an administrator of that directory server.\n\nOnly Looker administrators can read and update the LDAP configuration.\n\nConfiguring LDAP impacts authentication for all users. This configuration should be done carefully.\n\nLooker 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).\n\nLDAP is enabled or disabled for Looker using the **enabled** field.\n\nLooker will never return an **auth_password** field. That value can be set, but never retrieved.\n\nSee the [Looker LDAP docs](https://www.looker.com/docs/r/api/ldap_setup) for additional information.\n", "responses": { "200": { "description": "LDAP Configuration.", - "schema": { "$ref": "#/definitions/LDAPConfig" } + "schema": { + "$ref": "#/definitions/LDAPConfig" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "update_ldap_config", "summary": "Update LDAP Configuration", "description": "### Update the LDAP configuration.\n\nConfiguring LDAP impacts authentication for all users. This configuration should be done carefully.\n\nOnly Looker administrators can read and update the LDAP configuration.\n\nLDAP is enabled or disabled for Looker using the **enabled** field.\n\nIt is **highly** recommended that any LDAP setting changes be tested using the APIs below before being set globally.\n\nSee the [Looker LDAP docs](https://www.looker.com/docs/r/api/ldap_setup) for additional information.\n", @@ -7507,25 +9327,35 @@ "in": "body", "description": "LDAP Config", "required": true, - "schema": { "$ref": "#/definitions/LDAPConfig" } + "schema": { + "$ref": "#/definitions/LDAPConfig" + } } ], "responses": { "200": { "description": "New state for LDAP Configuration.", - "schema": { "$ref": "#/definitions/LDAPConfig" } + "schema": { + "$ref": "#/definitions/LDAPConfig" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -7534,7 +9364,9 @@ }, "/ldap_config/test_connection": { "put": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "test_ldap_config_connection", "summary": "Test LDAP Connection", "description": "### Test the connection settings for an LDAP configuration.\n\nThis tests that the connection is possible given a connection_host and connection_port.\n\n**connection_host** and **connection_port** are required. **connection_tls** is optional.\n\nExample:\n```json\n{\n \"connection_host\": \"ldap.example.com\",\n \"connection_port\": \"636\",\n \"connection_tls\": true\n}\n```\n\nNo authentication to the LDAP server is attempted.\n\nThe active LDAP settings are not modified.\n", @@ -7544,25 +9376,35 @@ "in": "body", "description": "LDAP Config", "required": true, - "schema": { "$ref": "#/definitions/LDAPConfig" } + "schema": { + "$ref": "#/definitions/LDAPConfig" + } } ], "responses": { "200": { "description": "Result info.", - "schema": { "$ref": "#/definitions/LDAPConfigTestResult" } + "schema": { + "$ref": "#/definitions/LDAPConfigTestResult" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -7571,7 +9413,9 @@ }, "/ldap_config/test_auth": { "put": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "test_ldap_config_auth", "summary": "Test LDAP Auth", "description": "### Test the connection authentication settings for an LDAP configuration.\n\nThis 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.\n\n**connection_host**, **connection_port**, and **auth_username**, are required. **connection_tls** and **auth_password** are optional.\n\nExample:\n```json\n{\n \"connection_host\": \"ldap.example.com\",\n \"connection_port\": \"636\",\n \"connection_tls\": true,\n \"auth_username\": \"cn=looker,dc=example,dc=com\",\n \"auth_password\": \"secret\"\n}\n```\n\nLooker 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.\n\nThe active LDAP settings are not modified.\n\n", @@ -7581,25 +9425,35 @@ "in": "body", "description": "LDAP Config", "required": true, - "schema": { "$ref": "#/definitions/LDAPConfig" } + "schema": { + "$ref": "#/definitions/LDAPConfig" + } } ], "responses": { "200": { "description": "Result info.", - "schema": { "$ref": "#/definitions/LDAPConfigTestResult" } + "schema": { + "$ref": "#/definitions/LDAPConfigTestResult" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -7608,7 +9462,9 @@ }, "/ldap_config/test_user_info": { "put": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "test_ldap_config_user_info", "summary": "Test LDAP User Info", "description": "### Test the user authentication settings for an LDAP configuration without authenticating the user.\n\nThis test will let you easily test the mapping for user properties and roles for any user without needing to authenticate as that user.\n\nThis test accepts a full LDAP configuration along with a username and attempts to find the full info for the user from the LDAP server without actually authenticating the user. So, user password is not required.The configuration is validated before attempting to contact the server.\n\n**test_ldap_user** is required.\n\nThe active LDAP settings are not modified.\n\n", @@ -7618,25 +9474,35 @@ "in": "body", "description": "LDAP Config", "required": true, - "schema": { "$ref": "#/definitions/LDAPConfig" } + "schema": { + "$ref": "#/definitions/LDAPConfig" + } } ], "responses": { "200": { "description": "Result info.", - "schema": { "$ref": "#/definitions/LDAPConfigTestResult" } + "schema": { + "$ref": "#/definitions/LDAPConfigTestResult" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -7645,7 +9511,9 @@ }, "/ldap_config/test_user_auth": { "put": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "test_ldap_config_user_auth", "summary": "Test LDAP User Auth", "description": "### Test the user authentication settings for an LDAP configuration.\n\nThis 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.\n\nLooker 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.\n\n**test_ldap_user** and **test_ldap_password** are required.\n\nThe active LDAP settings are not modified.\n\n", @@ -7655,25 +9523,35 @@ "in": "body", "description": "LDAP Config", "required": true, - "schema": { "$ref": "#/definitions/LDAPConfig" } + "schema": { + "$ref": "#/definitions/LDAPConfig" + } } ], "responses": { "200": { "description": "Result info.", - "schema": { "$ref": "#/definitions/LDAPConfigTestResult" } + "schema": { + "$ref": "#/definitions/LDAPConfigTestResult" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -7682,7 +9560,9 @@ }, "/legacy_features": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "all_legacy_features", "summary": "Get All Legacy Features", "description": "### Get all legacy features.\n", @@ -7691,16 +9571,22 @@ "description": "Legacy Feature", "schema": { "type": "array", - "items": { "$ref": "#/definitions/LegacyFeature" } + "items": { + "$ref": "#/definitions/LegacyFeature" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -7709,7 +9595,9 @@ }, "/legacy_features/{legacy_feature_id}": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "legacy_feature", "summary": "Get Legacy Feature", "description": "### Get information about the legacy feature with a specific id.\n", @@ -7725,22 +9613,30 @@ "responses": { "200": { "description": "Legacy Feature", - "schema": { "$ref": "#/definitions/LegacyFeature" } + "schema": { + "$ref": "#/definitions/LegacyFeature" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "update_legacy_feature", "summary": "Update Legacy Feature", "description": "### Update information about the legacy feature with a specific id.\n", @@ -7757,29 +9653,41 @@ "in": "body", "description": "Legacy Feature", "required": true, - "schema": { "$ref": "#/definitions/LegacyFeature" } + "schema": { + "$ref": "#/definitions/LegacyFeature" + } } ], "responses": { "200": { "description": "Legacy Feature", - "schema": { "$ref": "#/definitions/LegacyFeature" } + "schema": { + "$ref": "#/definitions/LegacyFeature" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -7788,7 +9696,9 @@ }, "/locales": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "all_locales", "summary": "Get All Locales", "description": "### Get a list of locales that Looker supports.\n", @@ -7797,16 +9707,22 @@ "description": "Locale", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Locale" } + "items": { + "$ref": "#/definitions/Locale" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -7815,7 +9731,9 @@ }, "/looks": { "get": { - "tags": ["Look"], + "tags": [ + "Look" + ], "operationId": "all_looks", "summary": "Get All Looks", "description": "### Get information about all active Looks\n\nReturns an array of **abbreviated Look objects** describing all the looks that the caller has access to. Soft-deleted Looks are **not** included.\n\nGet the **full details** of a specific look by id with [look(id)](#!/Look/look)\n\nFind **soft-deleted looks** with [search_looks()](#!/Look/search_looks)\n", @@ -7833,23 +9751,31 @@ "description": "Look", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Look" } + "items": { + "$ref": "#/definitions/Look" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Look"], + "tags": [ + "Look" + ], "operationId": "create_look", "summary": "Create Look", "description": "### Create a Look\n\nTo create a look to display query data, first create the query with [create_query()](#!/Query/create_query)\nthen assign the query's id to the `query_id` property in the call to `create_look()`.\n\nTo place the look into a particular space, assign the space's id to the `space_id` property\nin the call to `create_look()`.\n", @@ -7859,7 +9785,9 @@ "in": "body", "description": "Look", "required": true, - "schema": { "$ref": "#/definitions/LookWithQuery" } + "schema": { + "$ref": "#/definitions/LookWithQuery" + } }, { "name": "fields", @@ -7872,27 +9800,39 @@ "responses": { "200": { "description": "Look", - "schema": { "$ref": "#/definitions/LookWithQuery" } + "schema": { + "$ref": "#/definitions/LookWithQuery" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -7901,7 +9841,9 @@ }, "/looks/search": { "get": { - "tags": ["Look"], + "tags": [ + "Look" + ], "operationId": "search_looks", "summary": "Search Looks", "description": "### Search Looks\n\nReturns an **array of Look objects** that match the specified search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\nGet a **single look** by id with [look(id)](#!/Look/look)\n", @@ -8043,16 +9985,22 @@ "description": "looks", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Look" } + "items": { + "$ref": "#/definitions/Look" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -8061,7 +10009,9 @@ }, "/looks/{look_id}": { "get": { - "tags": ["Look"], + "tags": [ + "Look" + ], "operationId": "look", "summary": "Get Look", "description": "### Get a Look.\n\nReturns detailed information about a Look and its associated Query.\n\n", @@ -8085,22 +10035,30 @@ "responses": { "200": { "description": "Look", - "schema": { "$ref": "#/definitions/LookWithQuery" } + "schema": { + "$ref": "#/definitions/LookWithQuery" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Look"], + "tags": [ + "Look" + ], "operationId": "update_look", "summary": "Update Look", "description": "### Modify a Look\n\nUse this function to modify parts of a look. Property values given in a call to `update_look` are\napplied to the existing look, so there's no need to include properties whose values are not changing.\nIt's best to specify only the properties you want to change and leave everything else out\nof your `update_look` call. **Look properties marked 'read-only' will be ignored.**\n\nWhen a user deletes a look in the Looker UI, the look data remains in the database but is\nmarked with a deleted flag (\"soft-deleted\"). Soft-deleted looks can be undeleted (by an admin)\nif the delete was in error.\n\nTo soft-delete a look via the API, use [update_look()](#!/Look/update_look) to change the look's `deleted` property to `true`.\nYou can undelete a look by calling `update_look` to change the look's `deleted` property to `false`.\n\nSoft-deleted looks are excluded from the results of [all_looks()](#!/Look/all_looks) and [search_looks()](#!/Look/search_looks), so they\nessentially disappear from view even though they still reside in the db.\nIn API 3.1 and later, you can pass `deleted: true` as a parameter to [search_looks()](#!/3.1/Look/search_looks) to list soft-deleted looks.\n\nNOTE: [delete_look()](#!/Look/delete_look) performs a \"hard delete\" - the look data is removed from the Looker\ndatabase and destroyed. There is no \"undo\" for `delete_look()`.\n", @@ -8118,7 +10076,9 @@ "in": "body", "description": "Look", "required": true, - "schema": { "$ref": "#/definitions/LookWithQuery" } + "schema": { + "$ref": "#/definitions/LookWithQuery" + } }, { "name": "fields", @@ -8131,30 +10091,42 @@ "responses": { "200": { "description": "Look", - "schema": { "$ref": "#/definitions/LookWithQuery" } + "schema": { + "$ref": "#/definitions/LookWithQuery" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Look"], + "tags": [ + "Look" + ], "operationId": "delete_look", "summary": "Delete Look", "description": "### Permanently Delete a Look\n\nThis operation **permanently** removes a look from the Looker database.\n\nNOTE: There is no \"undo\" for this kind of delete.\n\nFor information about soft-delete (which can be undone) see [update_look()](#!/Look/update_look).\n", @@ -8171,19 +10143,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -8192,11 +10172,18 @@ }, "/looks/{look_id}/run/{result_format}": { "get": { - "tags": ["Look"], + "tags": [ + "Look" + ], "operationId": "run_look", "summary": "Run Look", "description": "### Run a Look\n\nRuns a given look's query and returns the results in the requested format.\n\nSupported formats:\n\n| result_format | Description\n| :-----------: | :--- |\n| json | Plain json\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| md | Simple markdown\n| xlsx | MS Excel spreadsheet\n| sql | Returns the generated SQL rather than running the query\n| png | A PNG image of the visualization of the query\n| jpg | A JPG image of the visualization of the query\n\n\n", - "produces": ["text", "application/json", "image/png", "image/jpeg"], + "produces": [ + "text", + "application/json", + "image/png", + "image/jpeg" + ], "parameters": [ { "name": "look_id", @@ -8302,22 +10289,35 @@ } ], "responses": { - "200": { "description": "Look", "schema": { "type": "string" } }, + "200": { + "description": "Look", + "schema": { + "type": "string" + } + }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -8326,7 +10326,9 @@ }, "/looks/{look_id}/copy": { "post": { - "tags": ["Look"], + "tags": [ + "Look" + ], "operationId": "copy_look", "summary": "Copy Look", "description": "### Copy an existing look\n\nCreates a copy of an existing look, in a specified folder, and returns the copied look.\n\n`look_id` and `folder_id` are required.\n\n`look_id` and `folder_id` must already exist, and `folder_id` must be different from the current `folder_id` of the dashboard.\n", @@ -8351,31 +10353,45 @@ "responses": { "200": { "description": "Look", - "schema": { "$ref": "#/definitions/LookWithQuery" } + "schema": { + "$ref": "#/definitions/LookWithQuery" + } }, "201": { "description": "look", - "schema": { "$ref": "#/definitions/Look" } + "schema": { + "$ref": "#/definitions/Look" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -8384,7 +10400,9 @@ }, "/looks/{look_id}/move": { "patch": { - "tags": ["Look"], + "tags": [ + "Look" + ], "operationId": "move_look", "summary": "Move Look", "description": "### Move an existing look\n\nMoves a look to a specified folder, and returns the moved look.\n\n`look_id` and `folder_id` are required.\n`look_id` and `folder_id` must already exist, and `folder_id` must be different from the current `folder_id` of the dashboard.\n", @@ -8409,27 +10427,39 @@ "responses": { "200": { "description": "Look", - "schema": { "$ref": "#/definitions/LookWithQuery" } + "schema": { + "$ref": "#/definitions/LookWithQuery" + } }, "201": { "description": "look", - "schema": { "$ref": "#/definitions/Look" } + "schema": { + "$ref": "#/definitions/Look" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -8438,7 +10468,9 @@ }, "/lookml_models": { "get": { - "tags": ["LookmlModel"], + "tags": [ + "LookmlModel" + ], "operationId": "all_lookml_models", "summary": "Get All LookML Models", "description": "### Get information about all lookml models.\n", @@ -8456,23 +10488,31 @@ "description": "LookML Model", "schema": { "type": "array", - "items": { "$ref": "#/definitions/LookmlModel" } + "items": { + "$ref": "#/definitions/LookmlModel" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["LookmlModel"], + "tags": [ + "LookmlModel" + ], "operationId": "create_lookml_model", "summary": "Create LookML Model", "description": "### Create a lookml model using the specified configuration.\n", @@ -8482,33 +10522,47 @@ "in": "body", "description": "LookML Model", "required": true, - "schema": { "$ref": "#/definitions/LookmlModel" } + "schema": { + "$ref": "#/definitions/LookmlModel" + } } ], "responses": { "200": { "description": "LookML Model", - "schema": { "$ref": "#/definitions/LookmlModel" } + "schema": { + "$ref": "#/definitions/LookmlModel" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -8517,7 +10571,9 @@ }, "/lookml_models/{lookml_model_name}": { "get": { - "tags": ["LookmlModel"], + "tags": [ + "LookmlModel" + ], "operationId": "lookml_model", "summary": "Get LookML Model", "description": "### Get information about a lookml model.\n", @@ -8540,22 +10596,30 @@ "responses": { "200": { "description": "LookML Model", - "schema": { "$ref": "#/definitions/LookmlModel" } + "schema": { + "$ref": "#/definitions/LookmlModel" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["LookmlModel"], + "tags": [ + "LookmlModel" + ], "operationId": "update_lookml_model", "summary": "Update LookML Model", "description": "### Update a lookml model using the specified configuration.\n", @@ -8572,36 +10636,50 @@ "in": "body", "description": "LookML Model", "required": true, - "schema": { "$ref": "#/definitions/LookmlModel" } + "schema": { + "$ref": "#/definitions/LookmlModel" + } } ], "responses": { "200": { "description": "LookML Model", - "schema": { "$ref": "#/definitions/LookmlModel" } + "schema": { + "$ref": "#/definitions/LookmlModel" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["LookmlModel"], + "tags": [ + "LookmlModel" + ], "operationId": "delete_lookml_model", "summary": "Delete LookML Model", "description": "### Delete a lookml model.\n", @@ -8617,19 +10695,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -8638,7 +10724,9 @@ }, "/lookml_models/{lookml_model_name}/explores/{explore_name}": { "get": { - "tags": ["LookmlModel"], + "tags": [ + "LookmlModel" + ], "operationId": "lookml_model_explore", "summary": "Get LookML Model Explore", "description": "### Get information about a lookml model explore.\n", @@ -8668,15 +10756,21 @@ "responses": { "200": { "description": "LookML Model Explore", - "schema": { "$ref": "#/definitions/LookmlModelExplore" } + "schema": { + "$ref": "#/definitions/LookmlModelExplore" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -8685,7 +10779,9 @@ }, "/merge_queries/{merge_query_id}": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "merge_query", "summary": "Get Merge Query", "description": "### Get Merge Query\n\nReturns a merge query object given its id.\n", @@ -8708,15 +10804,21 @@ "responses": { "200": { "description": "Merge Query", - "schema": { "$ref": "#/definitions/MergeQuery" } + "schema": { + "$ref": "#/definitions/MergeQuery" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -8725,7 +10827,9 @@ }, "/merge_queries": { "post": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "create_merge_query", "summary": "Create Merge Query", "description": "### Create Merge Query\n\nCreates a new merge query object.\n\nA merge query takes the results of one or more queries and combines (merges) the results\naccording to field mapping definitions. The result is similar to a SQL left outer join.\n\nA merge query can merge results of queries from different SQL databases.\n\nThe order that queries are defined in the source_queries array property is significant. The\nfirst query in the array defines the primary key into which the results of subsequent\nqueries will be merged.\n\nLike model/view query objects, merge queries are immutable and have structural identity - if\nyou make a request to create a new merge query that is identical to an existing merge query,\nthe existing merge query will be returned instead of creating a duplicate. Conversely, any\nchange to the contents of a merge query will produce a new object with a new id.\n", @@ -8735,7 +10839,9 @@ "in": "body", "description": "Merge Query", "required": false, - "schema": { "$ref": "#/definitions/MergeQuery" } + "schema": { + "$ref": "#/definitions/MergeQuery" + } }, { "name": "fields", @@ -8748,27 +10854,39 @@ "responses": { "200": { "description": "Merge Query", - "schema": { "$ref": "#/definitions/MergeQuery" } + "schema": { + "$ref": "#/definitions/MergeQuery" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -8777,7 +10895,9 @@ }, "/models/{model_name}/views/{view_name}/fields/{field_name}/suggestions": { "get": { - "tags": ["Metadata"], + "tags": [ + "Metadata" + ], "operationId": "model_fieldname_suggestions", "summary": "Model field name suggestions", "description": "### Field name suggestions for a model and view\n\n", @@ -8821,15 +10941,21 @@ "responses": { "200": { "description": "Model view field suggestions", - "schema": { "$ref": "#/definitions/ModelFieldSuggestions" } + "schema": { + "$ref": "#/definitions/ModelFieldSuggestions" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -8838,7 +10964,9 @@ }, "/connections/{connection_name}/databases": { "get": { - "tags": ["Metadata"], + "tags": [ + "Metadata" + ], "operationId": "connection_databases", "summary": "List accessible databases to this connection", "description": "### List databases available to this connection\n\nCertain dialects can support multiple databases per single connection.\nIf this connection supports multiple databases, the database names will be returned in an array.\n\nConnections using dialects that do not support multiple databases will return an empty array.\n\n**Note**: [Connection Features](#!/Metadata/connection_features) can be used to determine if a connection supports\nmultiple databases.\n", @@ -8854,19 +10982,30 @@ "responses": { "200": { "description": "Database names", - "schema": { "type": "array", "items": { "type": "string" } } + "schema": { + "type": "array", + "items": { + "type": "string" + } + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -8875,7 +11014,9 @@ }, "/connections/{connection_name}/features": { "get": { - "tags": ["Metadata"], + "tags": [ + "Metadata" + ], "operationId": "connection_features", "summary": "Metadata features supported by this connection", "description": "### Retrieve metadata features for this connection\n\nReturns a list of feature names with `true` (available) or `false` (not available)\n\n", @@ -8898,23 +11039,33 @@ "responses": { "200": { "description": "Connection features", - "schema": { "$ref": "#/definitions/ConnectionFeatures" } + "schema": { + "$ref": "#/definitions/ConnectionFeatures" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -8924,7 +11075,9 @@ }, "/connections/{connection_name}/schemas": { "get": { - "tags": ["Metadata"], + "tags": [ + "Metadata" + ], "operationId": "connection_schemas", "summary": "Get schemas for a connection", "description": "### Get the list of schemas and tables for a connection\n\n", @@ -8963,24 +11116,34 @@ "description": "Schemas for connection", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Schema" } + "items": { + "$ref": "#/definitions/Schema" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -8989,7 +11152,9 @@ }, "/connections/{connection_name}/tables": { "get": { - "tags": ["Metadata"], + "tags": [ + "Metadata" + ], "operationId": "connection_tables", "summary": "Get tables for a connection", "description": "### Get the list of tables for a schema\n\nFor dialects that support multiple databases, optionally identify which to use. If not provided, the default\ndatabase for the connection will be used.\n\nFor dialects that do **not** support multiple databases, **do not use** the database parameter\n", @@ -9035,24 +11200,34 @@ "description": "Schemas and tables for connection", "schema": { "type": "array", - "items": { "$ref": "#/definitions/SchemaTables" } + "items": { + "$ref": "#/definitions/SchemaTables" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -9061,7 +11236,9 @@ }, "/connections/{connection_name}/columns": { "get": { - "tags": ["Metadata"], + "tags": [ + "Metadata" + ], "operationId": "connection_columns", "summary": "Get columns for a connection", "description": "### Get the columns (and therefore also the tables) in a specific schema\n\n", @@ -9122,24 +11299,34 @@ "description": "Columns schema for connection", "schema": { "type": "array", - "items": { "$ref": "#/definitions/SchemaColumns" } + "items": { + "$ref": "#/definitions/SchemaColumns" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -9148,7 +11335,9 @@ }, "/connections/{connection_name}/search_columns": { "get": { - "tags": ["Metadata"], + "tags": [ + "Metadata" + ], "operationId": "connection_search_columns", "summary": "Search a connection for columns", "description": "### Search a connection for columns matching the specified name\n\n**Note**: `column_name` must be a valid column name. It is not a search pattern.\n", @@ -9180,24 +11369,34 @@ "description": "Column names matching search pattern", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ColumnSearch" } + "items": { + "$ref": "#/definitions/ColumnSearch" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -9207,7 +11406,9 @@ }, "/connections/{connection_name}/cost_estimate": { "post": { - "tags": ["Metadata"], + "tags": [ + "Metadata" + ], "operationId": "connection_cost_estimate", "summary": "Estimate costs for a connection", "description": "### Connection cost estimating\n\nAssign a `sql` statement to the body of the request. e.g., for Ruby, `{sql: 'select * from users'}`\n\n**Note**: If the connection's dialect has no support for cost estimates, an error will be returned\n", @@ -9224,7 +11425,9 @@ "in": "body", "description": "SQL statement to estimate", "required": true, - "schema": { "$ref": "#/definitions/CreateCostEstimate" } + "schema": { + "$ref": "#/definitions/CreateCostEstimate" + } }, { "name": "fields", @@ -9237,23 +11440,33 @@ "responses": { "200": { "description": "Connection cost estimates", - "schema": { "$ref": "#/definitions/CostEstimate" } + "schema": { + "$ref": "#/definitions/CostEstimate" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -9263,22 +11476,30 @@ }, "/mobile/settings": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "mobile_settings", "summary": "Get Mobile_Settings", "description": "### Get all mobile settings.\n", "responses": { "200": { "description": "Mobile_Settings", - "schema": { "$ref": "#/definitions/MobileSettings" } + "schema": { + "$ref": "#/definitions/MobileSettings" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -9287,7 +11508,9 @@ }, "/model_sets/search": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "search_model_sets", "summary": "Search Model Sets", "description": "### Search model sets\nReturns all model set records that match the given search criteria.\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", @@ -9364,16 +11587,22 @@ "description": "Model Set", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ModelSet" } + "items": { + "$ref": "#/definitions/ModelSet" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -9382,7 +11611,9 @@ }, "/model_sets/{model_set_id}": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "model_set", "summary": "Get Model Set", "description": "### Get information about the model set with a specific id.\n", @@ -9406,22 +11637,30 @@ "responses": { "200": { "description": "Specified model set.", - "schema": { "$ref": "#/definitions/ModelSet" } + "schema": { + "$ref": "#/definitions/ModelSet" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "delete_model_set", "summary": "Delete Model Set", "description": "### Delete the model set with a specific id.\n", @@ -9438,26 +11677,36 @@ "responses": { "204": { "description": "Model set succssfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "405": { "description": "Resource Can't Be Modified", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "update_model_set", "summary": "Update Model Set", "description": "### Update information about the model set with a specific id.\n", @@ -9475,29 +11724,41 @@ "in": "body", "description": "ModelSet", "required": true, - "schema": { "$ref": "#/definitions/ModelSet" } + "schema": { + "$ref": "#/definitions/ModelSet" + } } ], "responses": { "200": { "description": "New state for specified model set.", - "schema": { "$ref": "#/definitions/ModelSet" } + "schema": { + "$ref": "#/definitions/ModelSet" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "405": { "description": "Resource Can't Be Modified", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -9506,7 +11767,9 @@ }, "/model_sets": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "all_model_sets", "summary": "Get All Model Sets", "description": "### Get information about all model sets.\n", @@ -9524,19 +11787,25 @@ "description": "All model sets.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ModelSet" } + "items": { + "$ref": "#/definitions/ModelSet" + } } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "create_model_set", "summary": "Create Model Set", "description": "### Create a model set with the specified information. Model sets are used by Roles.\n", @@ -9546,29 +11815,41 @@ "in": "body", "description": "ModelSet", "required": true, - "schema": { "$ref": "#/definitions/ModelSet" } + "schema": { + "$ref": "#/definitions/ModelSet" + } } ], "responses": { "200": { "description": "Newly created ModelSet", - "schema": { "$ref": "#/definitions/ModelSet" } + "schema": { + "$ref": "#/definitions/ModelSet" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -9577,7 +11858,9 @@ }, "/oauth_client_apps": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "all_oauth_client_apps", "summary": "Get All OAuth Client Apps", "description": "### List All OAuth Client Apps\n\nLists all applications registered to use OAuth2 login with this Looker instance, including\nenabled and disabled apps.\n\nResults are filtered to include only the apps that the caller (current user)\nhas permission to see.\n", @@ -9595,16 +11878,22 @@ "description": "OAuth Client App", "schema": { "type": "array", - "items": { "$ref": "#/definitions/OauthClientApp" } + "items": { + "$ref": "#/definitions/OauthClientApp" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -9613,7 +11902,9 @@ }, "/oauth_client_apps/{client_guid}": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "oauth_client_app", "summary": "Get OAuth Client App", "description": "### Get Oauth Client App\n\nReturns the registered app client with matching client_guid.\n", @@ -9636,22 +11927,30 @@ "responses": { "200": { "description": "OAuth Client App", - "schema": { "$ref": "#/definitions/OauthClientApp" } + "schema": { + "$ref": "#/definitions/OauthClientApp" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "delete_oauth_client_app", "summary": "Delete OAuth Client App", "description": "### Delete OAuth Client App\n\nDeletes the registration info of the app with the matching client_guid.\nAll active sessions and tokens issued for this app will immediately become invalid.\n\n### Note: this deletion cannot be undone.\n", @@ -9667,26 +11966,36 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "register_oauth_client_app", "summary": "Register OAuth App", "description": "### Register an OAuth2 Client App\n\nRegisters details identifying an external web app or native app as an OAuth2 login client of the Looker instance.\nThe app registration must provide a unique client_guid and redirect_uri that the app will present\nin OAuth login requests. If the client_guid and redirect_uri parameters in the login request do not match\nthe app details registered with the Looker instance, the request is assumed to be a forgery and is rejected.\n", @@ -9703,7 +12012,9 @@ "in": "body", "description": "OAuth Client App", "required": true, - "schema": { "$ref": "#/definitions/OauthClientApp" } + "schema": { + "$ref": "#/definitions/OauthClientApp" + } }, { "name": "fields", @@ -9716,34 +12027,48 @@ "responses": { "200": { "description": "OAuth Client App", - "schema": { "$ref": "#/definitions/OauthClientApp" } + "schema": { + "$ref": "#/definitions/OauthClientApp" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "update_oauth_client_app", "summary": "Update OAuth App", "description": "### Update OAuth2 Client App Details\n\nModifies the details a previously registered OAuth2 login client app.\n", @@ -9760,7 +12085,9 @@ "in": "body", "description": "OAuth Client App", "required": true, - "schema": { "$ref": "#/definitions/OauthClientApp" } + "schema": { + "$ref": "#/definitions/OauthClientApp" + } }, { "name": "fields", @@ -9773,23 +12100,33 @@ "responses": { "200": { "description": "OAuth Client App", - "schema": { "$ref": "#/definitions/OauthClientApp" } + "schema": { + "$ref": "#/definitions/OauthClientApp" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -9798,7 +12135,9 @@ }, "/oauth_client_apps/{client_guid}/tokens": { "delete": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "invalidate_tokens", "summary": "Invalidate Tokens", "description": "### Invalidate All Issued Tokens\n\nImmediately invalidates all auth codes, sessions, access tokens and refresh tokens issued for\nthis app for ALL USERS of this app.\n", @@ -9814,19 +12153,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -9835,7 +12182,9 @@ }, "/oauth_client_apps/{client_guid}/users/{user_id}": { "post": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "activate_app_user", "summary": "Activate OAuth App User", "description": "### Activate an app for a user\n\nActivates a user for a given oauth client app. This indicates the user has been informed that\nthe app will have access to the user's looker data, and that the user has accepted and allowed\nthe app to use their Looker account.\n\nActivating a user for an app that the user is already activated with returns a success response.\n", @@ -9866,31 +12215,45 @@ "responses": { "200": { "description": "OAuth Client App", - "schema": { "type": "string" } + "schema": { + "type": "string" + } + }, + "204": { + "description": "Deleted" }, - "204": { "description": "Deleted" }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "deactivate_app_user", "summary": "Deactivate OAuth App User", "description": "### Deactivate an app for a user\n\nDeactivate a user for a given oauth client app. All tokens issued to the app for\nthis user will be invalid immediately. Before the user can use the app with their\nLooker account, the user will have to read and accept an account use disclosure statement for the app.\n\nAdmin users can deactivate other users, but non-admin users can only deactivate themselves.\n\nAs with most REST DELETE operations, this endpoint does not return an error if the indicated\nresource (app or user) does not exist or has already been deactivated.\n", @@ -9921,19 +12284,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -9942,25 +12313,33 @@ }, "/oidc_config": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "oidc_config", "summary": "Get OIDC Configuration", "description": "### Get the OIDC configuration.\n\nLooker can be optionally configured to authenticate users against an OpenID Connect (OIDC)\nauthentication server. OIDC setup requires coordination with an administrator of that server.\n\nOnly Looker administrators can read and update the OIDC configuration.\n\nConfiguring OIDC impacts authentication for all users. This configuration should be done carefully.\n\nLooker maintains a single OIDC configuation. 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).\n\nOIDC is enabled or disabled for Looker using the **enabled** field.\n", "responses": { "200": { "description": "OIDC Configuration.", - "schema": { "$ref": "#/definitions/OIDCConfig" } + "schema": { + "$ref": "#/definitions/OIDCConfig" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "update_oidc_config", "summary": "Update OIDC Configuration", "description": "### Update the OIDC configuration.\n\nConfiguring OIDC impacts authentication for all users. This configuration should be done carefully.\n\nOnly Looker administrators can read and update the OIDC configuration.\n\nOIDC is enabled or disabled for Looker using the **enabled** field.\n\nIt is **highly** recommended that any OIDC setting changes be tested using the APIs below before being set globally.\n", @@ -9970,25 +12349,35 @@ "in": "body", "description": "OIDC Config", "required": true, - "schema": { "$ref": "#/definitions/OIDCConfig" } + "schema": { + "$ref": "#/definitions/OIDCConfig" + } } ], "responses": { "200": { "description": "New state for OIDC Configuration.", - "schema": { "$ref": "#/definitions/OIDCConfig" } + "schema": { + "$ref": "#/definitions/OIDCConfig" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "beta", @@ -9997,7 +12386,9 @@ }, "/oidc_test_configs/{test_slug}": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "oidc_test_config", "summary": "Get OIDC Test Configuration", "description": "### Get a OIDC test configuration by test_slug.\n", @@ -10013,18 +12404,24 @@ "responses": { "200": { "description": "OIDC test config.", - "schema": { "$ref": "#/definitions/OIDCConfig" } + "schema": { + "$ref": "#/definitions/OIDCConfig" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "delete_oidc_test_config", "summary": "Delete OIDC Test Configuration", "description": "### Delete a OIDC test configuration.\n", @@ -10040,15 +12437,21 @@ "responses": { "204": { "description": "Test config succssfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -10057,7 +12460,9 @@ }, "/oidc_test_configs": { "post": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "create_oidc_test_config", "summary": "Create OIDC Test Configuration", "description": "### Create a OIDC test configuration.\n", @@ -10067,25 +12472,35 @@ "in": "body", "description": "OIDC test config", "required": true, - "schema": { "$ref": "#/definitions/OIDCConfig" } + "schema": { + "$ref": "#/definitions/OIDCConfig" + } } ], "responses": { "200": { "description": "OIDC test config", - "schema": { "$ref": "#/definitions/OIDCConfig" } + "schema": { + "$ref": "#/definitions/OIDCConfig" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "beta", @@ -10094,29 +12509,39 @@ }, "/password_config": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "password_config", "summary": "Get Password Config", "description": "### Get password config.\n", "responses": { "200": { "description": "Password Config", - "schema": { "$ref": "#/definitions/PasswordConfig" } + "schema": { + "$ref": "#/definitions/PasswordConfig" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "update_password_config", "summary": "Update Password Config", "description": "### Update password config.\n", @@ -10126,29 +12551,41 @@ "in": "body", "description": "Password Config", "required": true, - "schema": { "$ref": "#/definitions/PasswordConfig" } + "schema": { + "$ref": "#/definitions/PasswordConfig" + } } ], "responses": { "200": { "description": "Password Config", - "schema": { "$ref": "#/definitions/PasswordConfig" } + "schema": { + "$ref": "#/definitions/PasswordConfig" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -10157,30 +12594,42 @@ }, "/password_config/force_password_reset_at_next_login_for_all_users": { "put": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "force_password_reset_at_next_login_for_all_users", "summary": "Force password reset", "description": "### Force all credentials_email users to reset their login passwords upon their next login.\n", "responses": { "200": { "description": "Password Config", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -10189,7 +12638,9 @@ }, "/permissions": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "all_permissions", "summary": "Get All Permissions", "description": "### Get all supported permissions.\n", @@ -10198,16 +12649,22 @@ "description": "Permission", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Permission" } + "items": { + "$ref": "#/definitions/Permission" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -10216,7 +12673,9 @@ }, "/permission_sets/search": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "search_permission_sets", "summary": "Search Permission Sets", "description": "### Search permission sets\nReturns all permission set records that match the given search criteria.\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", @@ -10293,16 +12752,22 @@ "description": "Permission Set", "schema": { "type": "array", - "items": { "$ref": "#/definitions/PermissionSet" } + "items": { + "$ref": "#/definitions/PermissionSet" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -10311,7 +12776,9 @@ }, "/permission_sets/{permission_set_id}": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "permission_set", "summary": "Get Permission Set", "description": "### Get information about the permission set with a specific id.\n", @@ -10335,22 +12802,30 @@ "responses": { "200": { "description": "Permission Set", - "schema": { "$ref": "#/definitions/PermissionSet" } + "schema": { + "$ref": "#/definitions/PermissionSet" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "delete_permission_set", "summary": "Delete Permission Set", "description": "### Delete the permission set with a specific id.\n", @@ -10367,30 +12842,42 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "405": { "description": "Resource Can't Be Modified", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "update_permission_set", "summary": "Update Permission Set", "description": "### Update information about the permission set with a specific id.\n", @@ -10408,33 +12895,47 @@ "in": "body", "description": "Permission Set", "required": true, - "schema": { "$ref": "#/definitions/PermissionSet" } + "schema": { + "$ref": "#/definitions/PermissionSet" + } } ], "responses": { "200": { "description": "Permission Set", - "schema": { "$ref": "#/definitions/PermissionSet" } + "schema": { + "$ref": "#/definitions/PermissionSet" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "405": { "description": "Resource Can't Be Modified", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -10443,7 +12944,9 @@ }, "/permission_sets": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "all_permission_sets", "summary": "Get All Permission Sets", "description": "### Get information about all permission sets.\n", @@ -10461,23 +12964,31 @@ "description": "Permission Set", "schema": { "type": "array", - "items": { "$ref": "#/definitions/PermissionSet" } + "items": { + "$ref": "#/definitions/PermissionSet" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "create_permission_set", "summary": "Create Permission Set", "description": "### Create a permission set with the specified information. Permission sets are used by Roles.\n", @@ -10487,33 +12998,47 @@ "in": "body", "description": "Permission Set", "required": true, - "schema": { "$ref": "#/definitions/PermissionSet" } + "schema": { + "$ref": "#/definitions/PermissionSet" + } } ], "responses": { "200": { "description": "Permission Set", - "schema": { "$ref": "#/definitions/PermissionSet" } + "schema": { + "$ref": "#/definitions/PermissionSet" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -10522,7 +13047,9 @@ }, "/projects/{project_id}/deploy_ref_to_production": { "post": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "deploy_ref_to_production", "summary": "Deploy Remote Branch or Ref to Production", "description": "### Deploy a Remote Branch or Ref to Production\n\nGit must have been configured and deploy permission required.\n\nDeploy is a one/two step process\n1. If this is the first deploy of this project, create the production project with git repository.\n2. Pull the branch or ref into the production project.\n\nCan only specify either a branch or a ref.\n\n", @@ -10550,25 +13077,38 @@ } ], "responses": { - "200": { "description": "Project", "schema": { "type": "string" } }, + "200": { + "description": "Project", + "schema": { + "type": "string" + } + }, "204": { "description": "Returns 204 if project was successfully deployed to production, otherwise 400 with an error message" }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -10577,7 +13117,9 @@ }, "/projects/{project_id}/deploy_to_production": { "post": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "deploy_to_production", "summary": "Deploy To Production", "description": "### Deploy LookML from this Development Mode Project to Production\n\nGit must have been configured, must be in dev mode and deploy permission required\n\nDeploy is a two / three step process:\n\n1. Push commits in current branch of dev mode project to the production branch (origin/master).\n Note a. This step is skipped in read-only projects.\n Note b. If this step is unsuccessful for any reason (e.g. rejected non-fastforward because production branch has\n commits not in current branch), subsequent steps will be skipped.\n2. If this is the first deploy of this project, create the production project with git repository.\n3. Pull the production branch into the production project.\n\n", @@ -10591,25 +13133,38 @@ } ], "responses": { - "200": { "description": "Project", "schema": { "type": "string" } }, + "200": { + "description": "Project", + "schema": { + "type": "string" + } + }, "204": { "description": "Returns 204 if project was successfully deployed to production, otherwise 400 with an error message" }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -10618,7 +13173,9 @@ }, "/projects/{project_id}/reset_to_production": { "post": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "reset_project_to_production", "summary": "Reset To Production", "description": "### Reset a project to the revision of the project that is in production.\n\n**DANGER** this will delete any changes that have not been pushed to a remote repository.\n", @@ -10632,25 +13189,38 @@ } ], "responses": { - "200": { "description": "Project", "schema": { "type": "string" } }, + "200": { + "description": "Project", + "schema": { + "type": "string" + } + }, "204": { "description": "Returns 204 if project was successfully reset, otherwise 400 with an error message" }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -10659,7 +13229,9 @@ }, "/projects/{project_id}/reset_to_remote": { "post": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "reset_project_to_remote", "summary": "Reset To Remote", "description": "### Reset a project development branch to the revision of the project that is on the remote.\n\n**DANGER** this will delete any changes that have not been pushed to a remote repository.\n", @@ -10673,25 +13245,38 @@ } ], "responses": { - "200": { "description": "Project", "schema": { "type": "string" } }, + "200": { + "description": "Project", + "schema": { + "type": "string" + } + }, "204": { "description": "Returns 204 if project was successfully reset, otherwise 400 with an error message" }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -10700,7 +13285,9 @@ }, "/projects": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "all_projects", "summary": "Get All Projects", "description": "### Get All Projects\n\nReturns all projects visible to the current user\n", @@ -10718,23 +13305,31 @@ "description": "Project", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Project" } + "items": { + "$ref": "#/definitions/Project" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "create_project", "summary": "Create Project", "description": "### Create A Project\n\ndev mode required.\n- Call `update_session` to select the 'dev' workspace.\n\n`name` is required.\n`git_remote_url` is not allowed. To configure Git for the newly created project, follow the instructions in `update_project`.\n\n", @@ -10744,33 +13339,47 @@ "in": "body", "description": "Project", "required": true, - "schema": { "$ref": "#/definitions/Project" } + "schema": { + "$ref": "#/definitions/Project" + } } ], "responses": { "200": { "description": "Project", - "schema": { "$ref": "#/definitions/Project" } + "schema": { + "$ref": "#/definitions/Project" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -10779,7 +13388,9 @@ }, "/projects/{project_id}": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "project", "summary": "Get Project", "description": "### Get A Project\n\nReturns the project with the given project id\n", @@ -10802,22 +13413,30 @@ "responses": { "200": { "description": "Project", - "schema": { "$ref": "#/definitions/Project" } + "schema": { + "$ref": "#/definitions/Project" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "update_project", "summary": "Update Project", "description": "### Update Project Configuration\n\nApply changes to a project's configuration.\n\n\n#### Configuring Git for a Project\n\nTo set up a Looker project with a remote git repository, follow these steps:\n\n1. Call `update_session` to select the 'dev' workspace.\n1. Call `create_git_deploy_key` to create a new deploy key for the project\n1. Copy the deploy key text into the remote git repository's ssh key configuration\n1. Call `update_project` to set project's `git_remote_url` ()and `git_service_name`, if necessary).\n\nWhen you modify a project's `git_remote_url`, Looker connects to the remote repository to fetch\nmetadata. The remote git repository MUST be configured with the Looker-generated deploy\nkey for this project prior to setting the project's `git_remote_url`.\n\nTo set up a Looker project with a git repository residing on the Looker server (a 'bare' git repo):\n\n1. Call `update_session` to select the 'dev' workspace.\n1. Call `update_project` setting `git_remote_url` to null and `git_service_name` to \"bare\".\n\n", @@ -10834,7 +13453,9 @@ "in": "body", "description": "Project", "required": true, - "schema": { "$ref": "#/definitions/Project" } + "schema": { + "$ref": "#/definitions/Project" + } }, { "name": "fields", @@ -10847,31 +13468,45 @@ "responses": { "200": { "description": "Project", - "schema": { "$ref": "#/definitions/Project" } + "schema": { + "$ref": "#/definitions/Project" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "500": { "description": "Server Error", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -10880,7 +13515,9 @@ }, "/projects/{project_id}/manifest": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "manifest", "summary": "Get Manifest", "description": "### Get A Projects Manifest object\n\nReturns the project with the given project id\n", @@ -10896,15 +13533,21 @@ "responses": { "200": { "description": "Manifest", - "schema": { "$ref": "#/definitions/Manifest" } + "schema": { + "$ref": "#/definitions/Manifest" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -10913,11 +13556,15 @@ }, "/projects/{project_id}/git/deploy_key": { "post": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "create_git_deploy_key", "summary": "Create Deploy Key", "description": "### Create Git Deploy Key\n\nCreate a public/private key pair for authenticating ssh git requests from Looker to a remote git repository\nfor a particular Looker project.\n\nReturns the public key of the generated ssh key pair.\n\nCopy this public key to your remote git repository's ssh keys configuration so that the remote git service can\nvalidate and accept git requests from the Looker server.\n", - "produces": ["text/plain"], + "produces": [ + "text/plain" + ], "parameters": [ { "name": "project_id", @@ -10928,37 +13575,56 @@ } ], "responses": { - "200": { "description": "Project", "schema": { "type": "string" } }, + "200": { + "description": "Project", + "schema": { + "type": "string" + } + }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "git_deploy_key", "summary": "Git Deploy Key", "description": "### Git Deploy Key\n\nReturns the ssh public key previously created for a project's git repository.\n", - "produces": ["text/plain"], + "produces": [ + "text/plain" + ], "parameters": [ { "name": "project_id", @@ -10971,15 +13637,21 @@ "responses": { "200": { "description": "The text of the public key portion of the deploy_key", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -10988,7 +13660,9 @@ }, "/projects/{project_id}/validate": { "post": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "validate_project", "summary": "Validate Project", "description": "### Validate Project\n\nPerforms lint validation of all lookml files in the project.\nReturns a list of errors found, if any.\n\nValidating the content of all the files in a project can be computationally intensive\nfor large projects. For best performance, call `validate_project(project_id)` only\nwhen you really want to recompute project validation. To quickly display the results of\nthe most recent project validation (without recomputing), use `project_validation_results(project_id)`\n", @@ -11011,30 +13685,42 @@ "responses": { "200": { "description": "Project validation results", - "schema": { "$ref": "#/definitions/ProjectValidation" } + "schema": { + "$ref": "#/definitions/ProjectValidation" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "project_validation_results", "summary": "Cached Project Validation Results", "description": "### Get Cached Project Validation Results\n\nReturns the cached results of a previous project validation calculation, if any.\nReturns http status 204 No Content if no validation results exist.\n\nValidating the content of all the files in a project can be computationally intensive\nfor large projects. Use this API to simply fetch the results of the most recent\nproject validation rather than revalidating the entire project from scratch.\n\nA value of `\"stale\": true` in the response indicates that the project has changed since\nthe cached validation results were computed. The cached validation results may no longer\nreflect the current state of the project.\n", @@ -11057,16 +13743,24 @@ "responses": { "200": { "description": "Project validation results", - "schema": { "$ref": "#/definitions/ProjectValidationCache" } + "schema": { + "$ref": "#/definitions/ProjectValidationCache" + } + }, + "204": { + "description": "Deleted" }, - "204": { "description": "Deleted" }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -11075,7 +13769,9 @@ }, "/projects/{project_id}/current_workspace": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "project_workspace", "summary": "Get Project Workspace", "description": "### Get Project Workspace\n\nReturns information about the state of the project files in the currently selected workspace\n", @@ -11098,15 +13794,21 @@ "responses": { "200": { "description": "Project Workspace", - "schema": { "$ref": "#/definitions/ProjectWorkspace" } + "schema": { + "$ref": "#/definitions/ProjectWorkspace" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -11115,7 +13817,9 @@ }, "/projects/{project_id}/files": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "all_project_files", "summary": "Get All Project Files", "description": "### Get All Project Files\n\nReturns a list of the files in the project\n", @@ -11140,16 +13844,22 @@ "description": "Project File", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ProjectFile" } + "items": { + "$ref": "#/definitions/ProjectFile" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -11158,7 +13868,9 @@ }, "/projects/{project_id}/files/file": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "project_file", "summary": "Get Project File", "description": "### Get Project File Info\n\nReturns information about a file in the project\n", @@ -11188,15 +13900,21 @@ "responses": { "200": { "description": "Project File", - "schema": { "$ref": "#/definitions/ProjectFile" } + "schema": { + "$ref": "#/definitions/ProjectFile" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -11205,7 +13923,9 @@ }, "/projects/{project_id}/git_connection_tests": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "all_git_connection_tests", "summary": "Get All Git Connection Tests", "description": "### Get All Git Connection Tests\n\ndev mode required.\n - Call `update_session` to select the 'dev' workspace.\n\nReturns 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.\n\nTests 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.\n\nFor example, a late-stage test for write access is meaningless if connecting to the git server (an early test) is failing.\n", @@ -11230,16 +13950,22 @@ "description": "Git Connection Test", "schema": { "type": "array", - "items": { "$ref": "#/definitions/GitConnectionTest" } + "items": { + "$ref": "#/definitions/GitConnectionTest" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -11248,7 +13974,9 @@ }, "/projects/{project_id}/git_connection_tests/{test_id}": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "run_git_connection_test", "summary": "Run Git Connection Test", "description": "### Run a git connection test\n\nRun 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\nis intended to help debug git connections when things do not work properly, to give\nmore helpful information about why a git url is not working with Looker.\n\nTests should be run in the order they are returned by [Get All Git Connection Tests](#!/Project/all_git_connection_tests).\n", @@ -11285,23 +14013,33 @@ "responses": { "200": { "description": "Git Connection Test Result", - "schema": { "$ref": "#/definitions/GitConnectionTestResult" } + "schema": { + "$ref": "#/definitions/GitConnectionTestResult" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -11310,7 +14048,9 @@ }, "/projects/{project_id}/lookml_tests": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "all_lookml_tests", "summary": "Get All LookML Tests", "description": "### Get All LookML Tests\n\nReturns a list of tests which can be run to validate a project's LookML code and/or the underlying data,\noptionally filtered by the file id.\nCall [Run LookML Test](#!/Project/run_lookml_test) to execute tests.\n", @@ -11335,16 +14075,22 @@ "description": "LookML Test", "schema": { "type": "array", - "items": { "$ref": "#/definitions/LookmlTest" } + "items": { + "$ref": "#/definitions/LookmlTest" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -11353,7 +14099,9 @@ }, "/projects/{project_id}/lookml_tests/run": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "run_lookml_test", "summary": "Run LookML Test", "description": "### Run LookML Tests\n\nRuns all tests in the project, optionally filtered by file, test, and/or model.\n", @@ -11392,24 +14140,34 @@ "description": "LookML Test Results", "schema": { "type": "array", - "items": { "$ref": "#/definitions/LookmlTestResult" } + "items": { + "$ref": "#/definitions/LookmlTestResult" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -11418,7 +14176,9 @@ }, "/render_tasks/looks/{look_id}/{result_format}": { "post": { - "tags": ["RenderTask"], + "tags": [ + "RenderTask" + ], "operationId": "create_look_render_task", "summary": "Create Look Render Task", "description": "### Create a new task to render a look to an image.\n\nReturns a render task object.\nTo check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\nOnce the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n\n", @@ -11465,27 +14225,39 @@ "responses": { "200": { "description": "Render Task", - "schema": { "$ref": "#/definitions/RenderTask" } + "schema": { + "$ref": "#/definitions/RenderTask" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -11494,7 +14266,9 @@ }, "/render_tasks/queries/{query_id}/{result_format}": { "post": { - "tags": ["RenderTask"], + "tags": [ + "RenderTask" + ], "operationId": "create_query_render_task", "summary": "Create Query Render Task", "description": "### Create a new task to render an existing query to an image.\n\nReturns a render task object.\nTo check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\nOnce the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n\n", @@ -11541,27 +14315,39 @@ "responses": { "200": { "description": "Render Task", - "schema": { "$ref": "#/definitions/RenderTask" } + "schema": { + "$ref": "#/definitions/RenderTask" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -11570,7 +14356,9 @@ }, "/render_tasks/dashboards/{dashboard_id}/{result_format}": { "post": { - "tags": ["RenderTask"], + "tags": [ + "RenderTask" + ], "operationId": "create_dashboard_render_task", "summary": "Create Dashboard Render Task", "description": "### Create a new task to render a dashboard to a document or image.\n\nReturns a render task object.\nTo check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\nOnce the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n\n", @@ -11594,7 +14382,9 @@ "in": "body", "description": "Dashboard render task parameters", "required": true, - "schema": { "$ref": "#/definitions/CreateDashboardRenderTask" } + "schema": { + "$ref": "#/definitions/CreateDashboardRenderTask" + } }, { "name": "width", @@ -11644,27 +14434,39 @@ "responses": { "200": { "description": "Render Task", - "schema": { "$ref": "#/definitions/RenderTask" } + "schema": { + "$ref": "#/definitions/RenderTask" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -11673,7 +14475,9 @@ }, "/render_tasks/{render_task_id}": { "get": { - "tags": ["RenderTask"], + "tags": [ + "RenderTask" + ], "operationId": "render_task", "summary": "Get Render Task", "description": "### Get information about a render task.\n\nReturns a render task object.\nTo check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\nOnce the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n\n", @@ -11696,15 +14500,21 @@ "responses": { "200": { "description": "Render Task", - "schema": { "$ref": "#/definitions/RenderTask" } + "schema": { + "$ref": "#/definitions/RenderTask" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -11713,11 +14523,17 @@ }, "/render_tasks/{render_task_id}/results": { "get": { - "tags": ["RenderTask"], + "tags": [ + "RenderTask" + ], "operationId": "render_task_results", "summary": "Render Task Results", "description": "### Get the document or image produced by a completed render task.\n\nNote that the PDF or image result will be a binary blob in the HTTP response, as indicated by the\nContent-Type in the response headers. This may require specialized (or at least different) handling than text\nresponses such as JSON. You may need to tell your HTTP client that the response is binary so that it does not\nattempt to parse the binary data as text.\n\nIf the render task exists but has not finished rendering the results, the response HTTP status will be\n**202 Accepted**, the response body will be empty, and the response will have a Retry-After header indicating\nthat the caller should repeat the request at a later time.\n\nReturns 404 if the render task cannot be found, if the cached result has expired, or if the caller\ndoes not have permission to view the results.\n\nFor detailed information about the status of the render task, use [Render Task](#!/RenderTask/render_task).\nPolling loops waiting for completion of a render task would be better served by polling **render_task(id)** until\nthe task status reaches completion (or error) instead of polling **render_task_results(id)** alone.\n", - "produces": ["image/jpeg", "image/png", "application/pdf"], + "produces": [ + "image/jpeg", + "image/png", + "application/pdf" + ], "parameters": [ { "name": "render_task_id", @@ -11730,16 +14546,24 @@ "responses": { "200": { "description": "Document or image", - "schema": { "type": "string" } + "schema": { + "type": "string" + } + }, + "202": { + "description": "Accepted" }, - "202": { "description": "Accepted" }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -11748,7 +14572,9 @@ }, "/projects/{root_project_id}/credential/{credential_id}": { "put": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "update_repository_credential", "summary": "Create Repository Credential", "description": "### Configure Repository Credential for a remote dependency\n\nAdmin required.\n\n`root_project_id` is required.\n`credential_id` is required.\n\n", @@ -11772,40 +14598,56 @@ "in": "body", "description": "Remote Project Information", "required": true, - "schema": { "$ref": "#/definitions/RepositoryCredential" } + "schema": { + "$ref": "#/definitions/RepositoryCredential" + } } ], "responses": { "200": { "description": "Repository Credential", - "schema": { "$ref": "#/definitions/RepositoryCredential" } + "schema": { + "$ref": "#/definitions/RepositoryCredential" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "delete_repository_credential", "summary": "Delete Repository Credential", "description": "### Repository Credential for a remote dependency\n\nAdmin required.\n\n`root_project_id` is required.\n`credential_id` is required.\n", @@ -11828,19 +14670,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -11849,7 +14699,9 @@ }, "/projects/{root_project_id}/credentials": { "get": { - "tags": ["Project"], + "tags": [ + "Project" + ], "operationId": "get_all_repository_credentials", "summary": "Get All Repository Credentials", "description": "### Get all Repository Credentials for a project\n\n`root_project_id` is required.\n", @@ -11867,16 +14719,22 @@ "description": "Repository Credential", "schema": { "type": "array", - "items": { "$ref": "#/definitions/RepositoryCredential" } + "items": { + "$ref": "#/definitions/RepositoryCredential" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -11885,7 +14743,9 @@ }, "/roles": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "all_roles", "summary": "Get All Roles", "description": "### Get information about all roles.\n", @@ -11903,7 +14763,10 @@ "description": "Optional list of ids to get specific roles.", "required": false, "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "collectionFormat": "csv" } ], @@ -11912,23 +14775,31 @@ "description": "Role", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Role" } + "items": { + "$ref": "#/definitions/Role" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "create_role", "summary": "Create Role", "description": "### Create a role with the specified information.\n", @@ -11938,33 +14809,47 @@ "in": "body", "description": "Role", "required": true, - "schema": { "$ref": "#/definitions/Role" } + "schema": { + "$ref": "#/definitions/Role" + } } ], "responses": { "200": { "description": "Role", - "schema": { "$ref": "#/definitions/Role" } + "schema": { + "$ref": "#/definitions/Role" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -11973,7 +14858,9 @@ }, "/roles/search": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "search_roles", "summary": "Search Roles", "description": "### Search roles\n\nReturns all role records that match the given search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", @@ -12043,16 +14930,22 @@ "description": "Role", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Role" } + "items": { + "$ref": "#/definitions/Role" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -12061,7 +14954,9 @@ }, "/roles/{role_id}": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "role", "summary": "Get Role", "description": "### Get information about the role with a specific id.\n", @@ -12078,22 +14973,30 @@ "responses": { "200": { "description": "Role", - "schema": { "$ref": "#/definitions/Role" } + "schema": { + "$ref": "#/definitions/Role" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "delete_role", "summary": "Delete Role", "description": "### Delete the role with a specific id.\n", @@ -12110,30 +15013,42 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "405": { "description": "Resource Can't Be Modified", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "update_role", "summary": "Update Role", "description": "### Update information about the role with a specific id.\n", @@ -12151,33 +15066,47 @@ "in": "body", "description": "Role", "required": true, - "schema": { "$ref": "#/definitions/Role" } + "schema": { + "$ref": "#/definitions/Role" + } } ], "responses": { "200": { "description": "Role", - "schema": { "$ref": "#/definitions/Role" } + "schema": { + "$ref": "#/definitions/Role" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "405": { "description": "Resource Can't Be Modified", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -12186,7 +15115,9 @@ }, "/roles/{role_id}/groups": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "role_groups", "summary": "Get Role Groups", "description": "### Get information about all the groups with the role that has a specific id.\n", @@ -12212,23 +15143,31 @@ "description": "Groups with role.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Group" } + "items": { + "$ref": "#/definitions/Group" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "put": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "set_role_groups", "summary": "Update Role Groups", "description": "### Set all groups for a role, removing all existing group associations from that role.\n", @@ -12248,7 +15187,10 @@ "required": true, "schema": { "type": "array", - "items": { "type": "integer", "format": "int64" } + "items": { + "type": "integer", + "format": "int64" + } } } ], @@ -12257,24 +15199,34 @@ "description": "Groups with role.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Group" } + "items": { + "$ref": "#/definitions/Group" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -12283,7 +15235,9 @@ }, "/roles/{role_id}/users": { "get": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "role_users", "summary": "Get Role Users", "description": "### Get information about all the users with the role that has a specific id.\n", @@ -12316,23 +15270,31 @@ "description": "Users with role.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/User" } + "items": { + "$ref": "#/definitions/User" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "put": { - "tags": ["Role"], + "tags": [ + "Role" + ], "operationId": "set_role_users", "summary": "Update Role Users", "description": "### Set all the users of the role with a specific id.\n", @@ -12352,7 +15314,10 @@ "required": true, "schema": { "type": "array", - "items": { "type": "integer", "format": "int64" } + "items": { + "type": "integer", + "format": "int64" + } } } ], @@ -12361,32 +15326,46 @@ "description": "Users with role.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/User" } + "items": { + "$ref": "#/definitions/User" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "403": { "description": "Permission Denied", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "405": { "description": "Resource Can't Be Modified", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -12395,7 +15374,9 @@ }, "/running_queries": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "all_running_queries", "summary": "Get All Running Queries", "description": "Get information about all running queries.\n", @@ -12404,12 +15385,16 @@ "description": "Running Queries.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/RunningQueries" } + "items": { + "$ref": "#/definitions/RunningQueries" + } } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -12418,7 +15403,9 @@ }, "/running_queries/{query_task_id}": { "delete": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "kill_query", "summary": "Kill Running Query", "description": "Kill a query with a specific query_task_id.\n", @@ -12434,19 +15421,27 @@ "responses": { "204": { "description": "Query successfully killed.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -12455,25 +15450,33 @@ }, "/saml_config": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "saml_config", "summary": "Get SAML Configuration", "description": "### Get the SAML configuration.\n\nLooker can be optionally configured to authenticate users against a SAML authentication server.\nSAML setup requires coordination with an administrator of that server.\n\nOnly Looker administrators can read and update the SAML configuration.\n\nConfiguring SAML impacts authentication for all users. This configuration should be done carefully.\n\nLooker maintains a single SAML configuation. 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).\n\nSAML is enabled or disabled for Looker using the **enabled** field.\n", "responses": { "200": { "description": "SAML Configuration.", - "schema": { "$ref": "#/definitions/SamlConfig" } + "schema": { + "$ref": "#/definitions/SamlConfig" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "update_saml_config", "summary": "Update SAML Configuration", "description": "### Update the SAML configuration.\n\nConfiguring SAML impacts authentication for all users. This configuration should be done carefully.\n\nOnly Looker administrators can read and update the SAML configuration.\n\nSAML is enabled or disabled for Looker using the **enabled** field.\n\nIt is **highly** recommended that any SAML setting changes be tested using the APIs below before being set globally.\n", @@ -12483,25 +15486,35 @@ "in": "body", "description": "SAML Config", "required": true, - "schema": { "$ref": "#/definitions/SamlConfig" } + "schema": { + "$ref": "#/definitions/SamlConfig" + } } ], "responses": { "200": { "description": "New state for SAML Configuration.", - "schema": { "$ref": "#/definitions/SamlConfig" } + "schema": { + "$ref": "#/definitions/SamlConfig" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -12510,7 +15523,9 @@ }, "/saml_test_configs/{test_slug}": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "saml_test_config", "summary": "Get SAML Test Configuration", "description": "### Get a SAML test configuration by test_slug.\n", @@ -12526,18 +15541,24 @@ "responses": { "200": { "description": "SAML test config.", - "schema": { "$ref": "#/definitions/SamlConfig" } + "schema": { + "$ref": "#/definitions/SamlConfig" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "delete_saml_test_config", "summary": "Delete SAML Test Configuration", "description": "### Delete a SAML test configuration.\n", @@ -12553,15 +15574,21 @@ "responses": { "204": { "description": "Test config succssfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -12570,7 +15597,9 @@ }, "/saml_test_configs": { "post": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "create_saml_test_config", "summary": "Create SAML Test Configuration", "description": "### Create a SAML test configuration.\n", @@ -12580,25 +15609,35 @@ "in": "body", "description": "SAML test config", "required": true, - "schema": { "$ref": "#/definitions/SamlConfig" } + "schema": { + "$ref": "#/definitions/SamlConfig" + } } ], "responses": { "200": { "description": "SAML test config", - "schema": { "$ref": "#/definitions/SamlConfig" } + "schema": { + "$ref": "#/definitions/SamlConfig" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -12607,32 +15646,44 @@ }, "/parse_saml_idp_metadata": { "post": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "parse_saml_idp_metadata", "summary": "Parse SAML IdP XML", "description": "### Parse the given xml as a SAML IdP metadata document and return the result.\n", - "consumes": ["text/plain"], + "consumes": [ + "text/plain" + ], "parameters": [ { "name": "body", "in": "body", "description": "SAML IdP metadata xml", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "200": { "description": "Parse result", - "schema": { "$ref": "#/definitions/SamlMetadataParseResult" } + "schema": { + "$ref": "#/definitions/SamlMetadataParseResult" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -12641,32 +15692,44 @@ }, "/fetch_and_parse_saml_idp_metadata": { "post": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "fetch_and_parse_saml_idp_metadata", "summary": "Parse SAML IdP Url", "description": "### Fetch the given url and parse it as a SAML IdP metadata document and return the result.\nNote that this requires that the url be public or at least at a location where the Looker instance\ncan fetch it without requiring any special authentication.\n", - "consumes": ["text/plain"], + "consumes": [ + "text/plain" + ], "parameters": [ { "name": "body", "in": "body", "description": "SAML IdP metadata public url", "required": true, - "schema": { "type": "string" } + "schema": { + "type": "string" + } } ], "responses": { "200": { "description": "Parse result", - "schema": { "$ref": "#/definitions/SamlMetadataParseResult" } + "schema": { + "$ref": "#/definitions/SamlMetadataParseResult" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -12675,7 +15738,9 @@ }, "/scheduled_plans/space/{space_id}": { "get": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "scheduled_plans_for_space", "summary": "Scheduled Plans for Space", "description": "### Get Scheduled Plans for a Space\n\nReturns scheduled plans owned by the caller for a given space id.\n", @@ -12701,16 +15766,22 @@ "description": "Scheduled Plan", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ScheduledPlan" } + "items": { + "$ref": "#/definitions/ScheduledPlan" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -12719,7 +15790,9 @@ }, "/scheduled_plans/{scheduled_plan_id}": { "delete": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "delete_scheduled_plan", "summary": "Delete Scheduled Plan", "description": "### Delete a Scheduled Plan\n\nNormal users can only delete their own scheduled plans.\nAdmins can delete other users' scheduled plans.\nThis delete cannot be undone.\n", @@ -12736,26 +15809,36 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "db_query" }, "patch": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "update_scheduled_plan", "summary": "Update Scheduled Plan", "description": "### Update a Scheduled Plan\n\nAdmins can update other users' Scheduled Plans.\n\nNote: Any scheduled plan destinations specified in an update will **replace** all scheduled plan destinations\ncurrently defined for the scheduled plan.\n\nFor Example: If a scheduled plan has destinations A, B, and C, and you call update on this scheduled plan\nspecifying only B in the destinations, then destinations A and C will be deleted by the update.\n\nUpdating 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.\n\nIf you omit the scheduled_plan_destinations property from the object passed to update, then the destinations\ndefined on the original scheduled plan will remain unchanged.\n\n#### Email Permissions:\n\nFor details about permissions required to schedule delivery to email and the safeguards\nLooker offers to protect against sending to unauthorized email destinations, see [Email Domain Whitelist for Scheduled Looks](https://docs.looker.com/r/api/embed-permissions).\n\n\n#### Scheduled Plan Destination Formats\n\nScheduled plan destinations must specify the data format to produce and send to the destination.\n\nFormats:\n\n| format | Description\n| :-----------: | :--- |\n| json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| 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.\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| xlsx | MS Excel spreadsheet\n| wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n| assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n| wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n||\n\nValid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n\n\n", @@ -12773,36 +15856,50 @@ "in": "body", "description": "Scheduled Plan", "required": true, - "schema": { "$ref": "#/definitions/ScheduledPlan" } + "schema": { + "$ref": "#/definitions/ScheduledPlan" + } } ], "responses": { "200": { "description": "Scheduled Plan", - "schema": { "$ref": "#/definitions/ScheduledPlan" } + "schema": { + "$ref": "#/definitions/ScheduledPlan" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "db_query" }, "get": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "scheduled_plan", "summary": "Get Scheduled Plan", "description": "### Get Information About a Scheduled Plan\n\nAdmins can fetch information about other users' Scheduled Plans.\n", @@ -12826,15 +15923,21 @@ "responses": { "200": { "description": "Scheduled Plan", - "schema": { "$ref": "#/definitions/ScheduledPlan" } + "schema": { + "$ref": "#/definitions/ScheduledPlan" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -12843,7 +15946,9 @@ }, "/scheduled_plans": { "post": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "create_scheduled_plan", "summary": "Create Scheduled Plan", "description": "### Create a Scheduled Plan\n\nCreate a scheduled plan to render a Look or Dashboard on a recurring schedule.\n\nTo create a scheduled plan, you MUST provide values for the following fields:\n`name`\nand\n`look_id`, `dashboard_id`, `lookml_dashboard_id`, or `query_id`\nand\n`cron_tab` or `datagroup`\nand\nat least one scheduled_plan_destination\n\nA scheduled plan MUST have at least one scheduled_plan_destination defined.\n\nWhen `look_id` is set, `require_no_results`, `require_results`, and `require_change` are all required.\n\nIf `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.\n\nThe queries that provide the data for the look or dashboard are run in the context of user account that owns the scheduled plan.\n\nWhen `run_as_recipient` is `false` or not specified, the queries that provide the data for the\nlook or dashboard are run in the context of user account that owns the scheduled plan.\n\nWhen `run_as_recipient` is `true` and all the email recipients are Looker user accounts, the\nqueries are run in the context of each recipient, so different recipients may see different\ndata from the same scheduled render of a look or dashboard. For more details, see [Run As Recipient](https://looker.com/docs/r/admin/run-as-recipient).\n\nAdmins can create and modify scheduled plans on behalf of other users by specifying a user id.\nNon-admin users may not create or modify scheduled plans by or for other users.\n\n#### Email Permissions:\n\nFor details about permissions required to schedule delivery to email and the safeguards\nLooker offers to protect against sending to unauthorized email destinations, see [Email Domain Whitelist for Scheduled Looks](https://docs.looker.com/r/api/embed-permissions).\n\n\n#### Scheduled Plan Destination Formats\n\nScheduled plan destinations must specify the data format to produce and send to the destination.\n\nFormats:\n\n| format | Description\n| :-----------: | :--- |\n| json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| 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.\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| xlsx | MS Excel spreadsheet\n| wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n| assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n| wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n||\n\nValid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n\n\n", @@ -12853,40 +15958,56 @@ "in": "body", "description": "Scheduled Plan", "required": true, - "schema": { "$ref": "#/definitions/ScheduledPlan" } + "schema": { + "$ref": "#/definitions/ScheduledPlan" + } } ], "responses": { "200": { "description": "Scheduled Plan", - "schema": { "$ref": "#/definitions/ScheduledPlan" } + "schema": { + "$ref": "#/definitions/ScheduledPlan" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "db_query" }, "get": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "all_scheduled_plans", "summary": "Get All Scheduled Plans", "description": "### List All Scheduled Plans\n\nReturns all scheduled plans which belong to the caller or given user.\n\nIf no user_id is provided, this function returns the scheduled plans owned by the caller.\n\n\nTo list all schedules for all users, pass `all_users=true`.\n\n\nThe caller must have `see_schedules` permission to see other users' scheduled plans.\n\n\n", @@ -12919,20 +16040,28 @@ "description": "Scheduled Plan", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ScheduledPlan" } + "items": { + "$ref": "#/definitions/ScheduledPlan" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "beta", @@ -12941,7 +16070,9 @@ }, "/scheduled_plans/run_once": { "post": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "scheduled_plan_run_once", "summary": "Run Scheduled Plan Once", "description": "### Run a Scheduled Plan Immediately\n\nCreate a scheduled plan that runs only once, and immediately.\n\nThis can be useful for testing a Scheduled Plan before committing to a production schedule.\n\nAdmins can create scheduled plans on behalf of other users by specifying a user id.\n\nThis API is rate limited to prevent it from being used for relay spam or DoS attacks\n\n#### Email Permissions:\n\nFor details about permissions required to schedule delivery to email and the safeguards\nLooker offers to protect against sending to unauthorized email destinations, see [Email Domain Whitelist for Scheduled Looks](https://docs.looker.com/r/api/embed-permissions).\n\n\n#### Scheduled Plan Destination Formats\n\nScheduled plan destinations must specify the data format to produce and send to the destination.\n\nFormats:\n\n| format | Description\n| :-----------: | :--- |\n| json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| 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.\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| xlsx | MS Excel spreadsheet\n| wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n| assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n| wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n||\n\nValid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n\n\n", @@ -12951,33 +16082,47 @@ "in": "body", "description": "Scheduled Plan", "required": true, - "schema": { "$ref": "#/definitions/ScheduledPlan" } + "schema": { + "$ref": "#/definitions/ScheduledPlan" + } } ], "responses": { "200": { "description": "Scheduled Plan", - "schema": { "$ref": "#/definitions/ScheduledPlan" } + "schema": { + "$ref": "#/definitions/ScheduledPlan" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -12987,7 +16132,9 @@ }, "/scheduled_plans/look/{look_id}": { "get": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "scheduled_plans_for_look", "summary": "Scheduled Plans for Look", "description": "### Get Scheduled Plans for a Look\n\nReturns all scheduled plans for a look which belong to the caller or given user.\n\nIf no user_id is provided, this function returns the scheduled plans owned by the caller.\n\n\nTo list all schedules for all users, pass `all_users=true`.\n\n\nThe caller must have `see_schedules` permission to see other users' scheduled plans.\n\n\n", @@ -13028,16 +16175,22 @@ "description": "Scheduled Plan", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ScheduledPlan" } + "items": { + "$ref": "#/definitions/ScheduledPlan" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -13046,7 +16199,9 @@ }, "/scheduled_plans/dashboard/{dashboard_id}": { "get": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "scheduled_plans_for_dashboard", "summary": "Scheduled Plans for Dashboard", "description": "### Get Scheduled Plans for a Dashboard\n\nReturns all scheduled plans for a dashboard which belong to the caller or given user.\n\nIf no user_id is provided, this function returns the scheduled plans owned by the caller.\n\n\nTo list all schedules for all users, pass `all_users=true`.\n\n\nThe caller must have `see_schedules` permission to see other users' scheduled plans.\n\n\n", @@ -13087,16 +16242,22 @@ "description": "Scheduled Plan", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ScheduledPlan" } + "items": { + "$ref": "#/definitions/ScheduledPlan" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -13105,7 +16266,9 @@ }, "/scheduled_plans/lookml_dashboard/{lookml_dashboard_id}": { "get": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "scheduled_plans_for_lookml_dashboard", "summary": "Scheduled Plans for LookML Dashboard", "description": "### Get Scheduled Plans for a LookML Dashboard\n\nReturns all scheduled plans for a LookML Dashboard which belong to the caller or given user.\n\nIf no user_id is provided, this function returns the scheduled plans owned by the caller.\n\n\nTo list all schedules for all users, pass `all_users=true`.\n\n\nThe caller must have `see_schedules` permission to see other users' scheduled plans.\n\n\n", @@ -13145,16 +16308,22 @@ "description": "Scheduled Plan", "schema": { "type": "array", - "items": { "$ref": "#/definitions/ScheduledPlan" } + "items": { + "$ref": "#/definitions/ScheduledPlan" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -13163,7 +16332,9 @@ }, "/scheduled_plans/{scheduled_plan_id}/run_once": { "post": { - "tags": ["ScheduledPlan"], + "tags": [ + "ScheduledPlan" + ], "operationId": "scheduled_plan_run_once_by_id", "summary": "Run Scheduled Plan Once by Id", "description": "### Run a Scheduled Plan By Id Immediately\nThis function creates a run-once schedule plan based on an existing scheduled plan,\napplies modifications (if any) to the new scheduled plan, and runs the new schedule plan immediately.\nThis can be useful for testing modifications to an existing scheduled plan before committing to a production schedule.\n\nThis function internally performs the following operations:\n\n1. Copies the properties of the existing scheduled plan into a new scheduled plan\n2. Copies any properties passed in the JSON body of this request into the new scheduled plan (replacing the original values)\n3. Creates the new scheduled plan\n4. Runs the new scheduled plan\n\nThe original scheduled plan is not modified by this operation.\nAdmins can create, modify, and run scheduled plans on behalf of other users by specifying a user id.\nNon-admins can only create, modify, and run their own scheduled plans.\n\n#### Email Permissions:\n\nFor details about permissions required to schedule delivery to email and the safeguards\nLooker offers to protect against sending to unauthorized email destinations, see [Email Domain Whitelist for Scheduled Looks](https://docs.looker.com/r/api/embed-permissions).\n\n\n#### Scheduled Plan Destination Formats\n\nScheduled plan destinations must specify the data format to produce and send to the destination.\n\nFormats:\n\n| format | Description\n| :-----------: | :--- |\n| json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| 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.\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| xlsx | MS Excel spreadsheet\n| wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n| assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n| wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n||\n\nValid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n\n\n\nThis API is rate limited to prevent it from being used for relay spam or DoS attacks\n\n", @@ -13181,33 +16352,47 @@ "in": "body", "description": "Property values to apply to the newly copied scheduled plan before running it", "required": false, - "schema": { "$ref": "#/definitions/WriteScheduledPlan" } + "schema": { + "$ref": "#/definitions/WriteScheduledPlan" + } } ], "responses": { "200": { "description": "Scheduled Plan", - "schema": { "$ref": "#/definitions/ScheduledPlan" } + "schema": { + "$ref": "#/definitions/ScheduledPlan" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -13217,29 +16402,39 @@ }, "/session_config": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "session_config", "summary": "Get Session Config", "description": "### Get session config.\n", "responses": { "200": { "description": "Session Config", - "schema": { "$ref": "#/definitions/SessionConfig" } + "schema": { + "$ref": "#/definitions/SessionConfig" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "update_session_config", "summary": "Update Session Config", "description": "### Update session config.\n", @@ -13249,29 +16444,41 @@ "in": "body", "description": "Session Config", "required": true, - "schema": { "$ref": "#/definitions/SessionConfig" } + "schema": { + "$ref": "#/definitions/SessionConfig" + } } ], "responses": { "200": { "description": "Session Config", - "schema": { "$ref": "#/definitions/SessionConfig" } + "schema": { + "$ref": "#/definitions/SessionConfig" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -13280,29 +16487,39 @@ }, "/session": { "get": { - "tags": ["Session"], + "tags": [ + "Session" + ], "operationId": "session", "summary": "Get Session", "description": "### Get API Session\n\nReturns information about the current API session, such as which workspace is selected for the session.\n", "responses": { "200": { "description": "Session", - "schema": { "$ref": "#/definitions/ApiSession" } + "schema": { + "$ref": "#/definitions/ApiSession" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Session"], + "tags": [ + "Session" + ], "operationId": "update_session", "summary": "Update Session", "description": "### Update API Session\n\n#### API Session Workspace\n\nYou can use this endpoint to change the active workspace for the current API session.\n\nOnly one workspace can be active in a session. The active workspace can be changed\nany number of times in a session.\n\nThe default workspace for API sessions is the \"production\" workspace.\n\nAll Looker APIs that use projects or lookml models (such as running queries) will\nuse the version of project and model files defined by this workspace for the lifetime of the\ncurrent API session or until the session workspace is changed again.\n\nAn API session has the same lifetime as the access_token used to authenticate API requests. Each successful\nAPI login generates a new access_token and a new API session.\n\nIf your Looker API client application needs to work in a dev workspace across multiple\nAPI sessions, be sure to select the dev workspace after each login.\n", @@ -13312,29 +16529,41 @@ "in": "body", "description": "Session", "required": true, - "schema": { "$ref": "#/definitions/ApiSession" } + "schema": { + "$ref": "#/definitions/ApiSession" + } } ], "responses": { "200": { "description": "Session", - "schema": { "$ref": "#/definitions/ApiSession" } + "schema": { + "$ref": "#/definitions/ApiSession" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -13343,7 +16572,9 @@ }, "/folders/search": { "get": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "search_folders", "summary": "Search Folders", "description": "Search for folders by creator id, parent id, name, etc", @@ -13436,16 +16667,22 @@ "description": "folders", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Folder" } + "items": { + "$ref": "#/definitions/Folder" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -13454,7 +16691,9 @@ }, "/folders/{folder_id}": { "get": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "folder", "summary": "Get Folder", "description": "### Get information about the folder with a specific id.", @@ -13477,22 +16716,30 @@ "responses": { "200": { "description": "Folder", - "schema": { "$ref": "#/definitions/Folder" } + "schema": { + "$ref": "#/definitions/Folder" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "delete_folder", "summary": "Delete Folder", "description": "### Delete the folder with a specific id including any children folders.\n**DANGER** this will delete all looks and dashboards in the folder.\n", @@ -13508,26 +16755,36 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "update_folder", "summary": "Update Folder", "description": "### Update the folder with a specific id.", @@ -13544,29 +16801,41 @@ "in": "body", "description": "Folder parameters", "required": true, - "schema": { "$ref": "#/definitions/UpdateFolder" } + "schema": { + "$ref": "#/definitions/UpdateFolder" + } } ], "responses": { "200": { "description": "Folder", - "schema": { "$ref": "#/definitions/Folder" } + "schema": { + "$ref": "#/definitions/Folder" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -13575,7 +16844,9 @@ }, "/folders": { "get": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "all_folders", "summary": "Get All Folders", "description": "### Get information about all folders.\n\nIn API 3.x, this will not return empty personal folders, unless they belong to the calling user.\nIn API 4.0+, all personal folders will be returned.\n\n", @@ -13593,23 +16864,31 @@ "description": "Folder", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Folder" } + "items": { + "$ref": "#/definitions/Folder" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "create_folder", "summary": "Create Folder", "description": "### Create a folder with specified information.\n\nCaller must have permission to edit the parent folder and to create folders, otherwise the request\nreturns 404 Not Found.\n", @@ -13619,33 +16898,47 @@ "in": "body", "description": "Folder parameters", "required": true, - "schema": { "$ref": "#/definitions/CreateFolder" } + "schema": { + "$ref": "#/definitions/CreateFolder" + } } ], "responses": { "200": { "description": "Folder", - "schema": { "$ref": "#/definitions/Folder" } + "schema": { + "$ref": "#/definitions/Folder" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -13654,7 +16947,9 @@ }, "/folders/{folder_id}/children": { "get": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "folder_children", "summary": "Get Folder Children", "description": "### Get the children of a folder.", @@ -13702,16 +16997,22 @@ "description": "Folders", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Folder" } + "items": { + "$ref": "#/definitions/Folder" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -13720,7 +17021,9 @@ }, "/folders/{folder_id}/children/search": { "get": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "folder_children_search", "summary": "Search Folder Children", "description": "### Search the children of a folder", @@ -13759,16 +17062,22 @@ "description": "Folders", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Folder" } + "items": { + "$ref": "#/definitions/Folder" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -13777,7 +17086,9 @@ }, "/folders/{folder_id}/parent": { "get": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "folder_parent", "summary": "Get Folder Parent", "description": "### Get the parent of a folder", @@ -13800,15 +17111,21 @@ "responses": { "200": { "description": "Folder", - "schema": { "$ref": "#/definitions/Folder" } + "schema": { + "$ref": "#/definitions/Folder" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -13817,7 +17134,9 @@ }, "/folders/{folder_id}/ancestors": { "get": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "folder_ancestors", "summary": "Get Folder Ancestors", "description": "### Get the ancestors of a folder", @@ -13842,16 +17161,22 @@ "description": "Folders", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Folder" } + "items": { + "$ref": "#/definitions/Folder" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -13860,7 +17185,9 @@ }, "/folders/{folder_id}/looks": { "get": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "folder_looks", "summary": "Get Folder Looks", "description": "### Get all looks in a folder.\nIn API 3.x, this will return all looks in a folder, including looks in the trash.\nIn API 4.0+, all looks in a folder will be returned, excluding looks in the trash.\n", @@ -13885,16 +17212,22 @@ "description": "Looks", "schema": { "type": "array", - "items": { "$ref": "#/definitions/LookWithQuery" } + "items": { + "$ref": "#/definitions/LookWithQuery" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -13903,7 +17236,9 @@ }, "/folders/{folder_id}/dashboards": { "get": { - "tags": ["Folder"], + "tags": [ + "Folder" + ], "operationId": "folder_dashboards", "summary": "Get Folder Dashboards", "description": "### Get the dashboards in a folder", @@ -13928,16 +17263,22 @@ "description": "Dashboard", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Dashboard" } + "items": { + "$ref": "#/definitions/Dashboard" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -13946,7 +17287,9 @@ }, "/sql_queries/{slug}": { "get": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "sql_query", "summary": "Get SQL Runner Query", "description": "Get a SQL Runner query.", @@ -13962,15 +17305,21 @@ "responses": { "200": { "description": "SQL Runner Query", - "schema": { "$ref": "#/definitions/SqlQuery" } + "schema": { + "$ref": "#/definitions/SqlQuery" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -13979,7 +17328,9 @@ }, "/sql_queries": { "post": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "create_sql_query", "summary": "Create SQL Runner Query", "description": "### Create a SQL Runner Query\n\nEither the `connection_name` or `model_name` parameter MUST be provided.\n", @@ -13989,33 +17340,47 @@ "in": "body", "description": "SQL Runner Query", "required": true, - "schema": { "$ref": "#/definitions/SqlQueryCreate" } + "schema": { + "$ref": "#/definitions/SqlQueryCreate" + } } ], "responses": { "200": { "description": "SQL Runner Query", - "schema": { "$ref": "#/definitions/SqlQuery" } + "schema": { + "$ref": "#/definitions/SqlQuery" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -14024,11 +17389,18 @@ }, "/sql_queries/{slug}/run/{result_format}": { "post": { - "tags": ["Query"], + "tags": [ + "Query" + ], "operationId": "run_sql_query", "summary": "Run SQL Runner Query", "description": "Execute a SQL Runner query in a given result_format.", - "produces": ["text", "application/json", "image/png", "image/jpeg"], + "produces": [ + "text", + "application/json", + "image/png", + "image/jpeg" + ], "parameters": [ { "name": "slug", @@ -14055,23 +17427,33 @@ "responses": { "200": { "description": "SQL Runner Query", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -14080,7 +17462,9 @@ }, "/themes": { "get": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "all_themes", "summary": "Get All Themes", "description": "### Get an array of all existing themes\n\nGet a **single theme** by id with [Theme](#!/Theme/theme)\n\nThis method returns an array of all existing themes. The active time for the theme is not considered.\n\n**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 help.looker.com to update your license for this feature.\n\n", @@ -14098,23 +17482,31 @@ "description": "Themes", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Theme" } + "items": { + "$ref": "#/definitions/Theme" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "create_theme", "summary": "Create Theme", "description": "### Create a theme\n\nCreates a new theme object, returning the theme details, including the created id.\n\nIf `settings` are not specified, the default theme settings will be copied into the new theme.\n\nThe theme `name` can only contain alphanumeric characters or underscores. Theme names should not contain any confidential information, such as customer names.\n\n**Update** an existing theme with [Update Theme](#!/Theme/update_theme)\n\n**Permanently delete** an existing theme with [Delete Theme](#!/Theme/delete_theme)\n\nFor more information, see [Creating and Applying Themes](https://looker.com/docs/r/admin/themes).\n\n**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 help.looker.com to update your license for this feature.\n\n", @@ -14124,33 +17516,47 @@ "in": "body", "description": "Theme", "required": true, - "schema": { "$ref": "#/definitions/Theme" } + "schema": { + "$ref": "#/definitions/Theme" + } } ], "responses": { "200": { "description": "Theme", - "schema": { "$ref": "#/definitions/Theme" } + "schema": { + "$ref": "#/definitions/Theme" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -14159,7 +17565,9 @@ }, "/themes/search": { "get": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "search_themes", "summary": "Search Themes", "description": "### Search all themes for matching criteria.\n\nReturns an **array of theme objects** that match the specified search criteria.\n\n| Search Parameters | Description\n| :-------------------: | :------ |\n| `begin_at` only | Find themes active at or after `begin_at`\n| `end_at` only | Find themes active at or before `end_at`\n| both set | Find themes with an active inclusive period between `begin_at` and `end_at`\n\nNote: Range matching requires boolean AND logic.\nWhen using `begin_at` and `end_at` together, do not use `filter_or`=TRUE\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\nGet a **single theme** by id with [Theme](#!/Theme/theme)\n\n**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 help.looker.com to update your license for this feature.\n\n", @@ -14238,16 +17646,22 @@ "description": "Themes", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Theme" } + "items": { + "$ref": "#/definitions/Theme" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -14256,7 +17670,9 @@ }, "/themes/default": { "get": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "default_theme", "summary": "Get Default Theme", "description": "### Get the default theme\n\nReturns the active theme object set as the default.\n\nThe **default** theme name can be set in the UI on the Admin|Theme UI page\n\nThe optional `ts` parameter can specify a different timestamp than \"now.\" If specified, it returns the default theme at the time indicated.\n", @@ -14273,22 +17689,30 @@ "responses": { "200": { "description": "Theme", - "schema": { "$ref": "#/definitions/Theme" } + "schema": { + "$ref": "#/definitions/Theme" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "put": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "set_default_theme", "summary": "Set Default Theme", "description": "### Set the global default theme by theme name\n\nOnly Admin users can call this function.\n\nOnly 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.\n\n[Create Theme](#!/Theme/create) has detailed information on rules for default and active themes\n\nReturns the new specified default theme object.\n\n**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 help.looker.com to update your license for this feature.\n\n", @@ -14304,23 +17728,33 @@ "responses": { "200": { "description": "Theme", - "schema": { "$ref": "#/definitions/Theme" } + "schema": { + "$ref": "#/definitions/Theme" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -14329,7 +17763,9 @@ }, "/themes/active": { "get": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "active_themes", "summary": "Get Active Themes", "description": "### Get active themes\n\nReturns an array of active themes.\n\nIf the `name` parameter is specified, it will return an array with one theme if it's active and found.\n\nThe optional `ts` parameter can specify a different timestamp than \"now.\"\n\n**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 help.looker.com to update your license for this feature.\n\n\n", @@ -14362,16 +17798,22 @@ "description": "Themes", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Theme" } + "items": { + "$ref": "#/definitions/Theme" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -14380,7 +17822,9 @@ }, "/themes/theme_or_default": { "get": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "theme_or_default", "summary": "Get Theme or Default", "description": "### Get the named theme if it's active. Otherwise, return the default theme\n\nThe optional `ts` parameter can specify a different timestamp than \"now.\"\nNote: API users with `show` ability can call this function\n\n**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 help.looker.com to update your license for this feature.\n\n", @@ -14404,15 +17848,21 @@ "responses": { "200": { "description": "Theme", - "schema": { "$ref": "#/definitions/Theme" } + "schema": { + "$ref": "#/definitions/Theme" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -14421,7 +17871,9 @@ }, "/themes/validate": { "post": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "validate_theme", "summary": "Validate Theme", "description": "### Validate a theme with the specified information\n\nValidates all values set for the theme, returning any errors encountered, or 200 OK if valid\n\nSee [Create Theme](#!/Theme/create_theme) for constraints\n\n**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 help.looker.com to update your license for this feature.\n\n", @@ -14431,37 +17883,53 @@ "in": "body", "description": "Theme", "required": true, - "schema": { "$ref": "#/definitions/Theme" } + "schema": { + "$ref": "#/definitions/Theme" + } } ], "responses": { "200": { "description": "Theme validation results", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "204": { "description": "No errors detected with the theme", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -14470,7 +17938,9 @@ }, "/themes/{theme_id}": { "get": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "theme", "summary": "Get Theme", "description": "### Get a theme by ID\n\nUse this to retrieve a specific theme, whether or not it's currently active.\n\n**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 help.looker.com to update your license for this feature.\n\n", @@ -14494,22 +17964,30 @@ "responses": { "200": { "description": "Theme", - "schema": { "$ref": "#/definitions/Theme" } + "schema": { + "$ref": "#/definitions/Theme" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "update_theme", "summary": "Update Theme", "description": "### Update the theme by id.\n\n**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 help.looker.com to update your license for this feature.\n\n", @@ -14527,36 +18005,50 @@ "in": "body", "description": "Theme", "required": true, - "schema": { "$ref": "#/definitions/Theme" } + "schema": { + "$ref": "#/definitions/Theme" + } } ], "responses": { "200": { "description": "Theme", - "schema": { "$ref": "#/definitions/Theme" } + "schema": { + "$ref": "#/definitions/Theme" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Theme"], + "tags": [ + "Theme" + ], "operationId": "delete_theme", "summary": "Delete Theme", "description": "### Delete a specific theme by id\n\nThis operation permanently deletes the identified theme from the database.\n\nBecause multiple themes can have the same name (with different activation time spans) themes can only be deleted by ID.\n\nAll IDs associated with a theme name can be retrieved by searching for the theme name with [Theme Search](#!/Theme/search).\n\n**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 help.looker.com to update your license for this feature.\n\n", @@ -14572,19 +18064,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -14593,7 +18093,9 @@ }, "/timezones": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "all_timezones", "summary": "Get All Timezones", "description": "### Get a list of timezones that Looker supports (e.g. useful for scheduling tasks).\n", @@ -14602,16 +18104,22 @@ "description": "Timezone", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Timezone" } + "items": { + "$ref": "#/definitions/Timezone" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -14620,7 +18128,9 @@ }, "/ssh_servers": { "get": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "all_ssh_servers", "summary": "Get All SSH Servers", "description": "### Get information about all SSH Servers.\n", @@ -14638,23 +18148,31 @@ "description": "SSH Server", "schema": { "type": "array", - "items": { "$ref": "#/definitions/SshServer" } + "items": { + "$ref": "#/definitions/SshServer" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "create_ssh_server", "summary": "Create SSH Server", "description": "### Create an SSH Server.\n", @@ -14664,33 +18182,47 @@ "in": "body", "description": "SSH Server", "required": true, - "schema": { "$ref": "#/definitions/SshServer" } + "schema": { + "$ref": "#/definitions/SshServer" + } } ], "responses": { "200": { "description": "SSH Server", - "schema": { "$ref": "#/definitions/SshServer" } + "schema": { + "$ref": "#/definitions/SshServer" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -14699,7 +18231,9 @@ }, "/ssh_server/{ssh_server_id}": { "get": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "ssh_server", "summary": "Get SSH Server", "description": "### Get information about an SSH Server.\n", @@ -14715,22 +18249,30 @@ "responses": { "200": { "description": "SSH Server", - "schema": { "$ref": "#/definitions/SshServer" } + "schema": { + "$ref": "#/definitions/SshServer" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "update_ssh_server", "summary": "Update SSH Server", "description": "### Update an SSH Server.\n", @@ -14747,36 +18289,50 @@ "in": "body", "description": "SSH Server", "required": true, - "schema": { "$ref": "#/definitions/SshServer" } + "schema": { + "$ref": "#/definitions/SshServer" + } } ], "responses": { "200": { "description": "SSH Server", - "schema": { "$ref": "#/definitions/SshServer" } + "schema": { + "$ref": "#/definitions/SshServer" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "delete_ssh_server", "summary": "Delete SSH Server", "description": "### Delete an SSH Server.\n", @@ -14792,19 +18348,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -14813,7 +18377,9 @@ }, "/ssh_server/{ssh_server_id}/test": { "get": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "test_ssh_server", "summary": "Test SSH Server", "description": "### Test the SSH Server\n", @@ -14829,15 +18395,21 @@ "responses": { "200": { "description": "Test SSH Server", - "schema": { "$ref": "#/definitions/SshServer" } + "schema": { + "$ref": "#/definitions/SshServer" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -14846,7 +18418,9 @@ }, "/ssh_tunnels": { "get": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "all_ssh_tunnels", "summary": "Get All SSH Tunnels", "description": "### Get information about all SSH Tunnels.\n", @@ -14864,23 +18438,31 @@ "description": "SSH Tunnel", "schema": { "type": "array", - "items": { "$ref": "#/definitions/SshTunnel" } + "items": { + "$ref": "#/definitions/SshTunnel" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "create_ssh_tunnel", "summary": "Create SSH Tunnel", "description": "### Create an SSH Tunnel\n", @@ -14890,33 +18472,47 @@ "in": "body", "description": "SSH Tunnel", "required": true, - "schema": { "$ref": "#/definitions/SshTunnel" } + "schema": { + "$ref": "#/definitions/SshTunnel" + } } ], "responses": { "200": { "description": "SSH Tunnel", - "schema": { "$ref": "#/definitions/SshTunnel" } + "schema": { + "$ref": "#/definitions/SshTunnel" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -14925,7 +18521,9 @@ }, "/ssh_tunnel/{ssh_tunnel_id}": { "get": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "ssh_tunnel", "summary": "Get SSH Tunnel", "description": "### Get information about an SSH Tunnel.\n", @@ -14941,22 +18539,30 @@ "responses": { "200": { "description": "SSH Tunnel", - "schema": { "$ref": "#/definitions/SshTunnel" } + "schema": { + "$ref": "#/definitions/SshTunnel" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "update_ssh_tunnel", "summary": "Update SSH Tunnel", "description": "### Update an SSH Tunnel\n", @@ -14973,36 +18579,50 @@ "in": "body", "description": "SSH Tunnel", "required": true, - "schema": { "$ref": "#/definitions/SshTunnel" } + "schema": { + "$ref": "#/definitions/SshTunnel" + } } ], "responses": { "200": { "description": "SSH Tunnel", - "schema": { "$ref": "#/definitions/SshTunnel" } + "schema": { + "$ref": "#/definitions/SshTunnel" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "delete_ssh_tunnel", "summary": "Delete SSH Tunnel", "description": "### Delete an SSH Tunnel\n", @@ -15018,19 +18638,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -15039,7 +18667,9 @@ }, "/ssh_tunnel/{ssh_tunnel_id}/test": { "get": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "test_ssh_tunnel", "summary": "Test SSH Tunnel", "description": "### Test the SSH Tunnel\n", @@ -15055,15 +18685,21 @@ "responses": { "200": { "description": "Test SSH Tunnel", - "schema": { "$ref": "#/definitions/SshTunnel" } + "schema": { + "$ref": "#/definitions/SshTunnel" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -15072,22 +18708,30 @@ }, "/ssh_public_key": { "get": { - "tags": ["Connection"], + "tags": [ + "Connection" + ], "operationId": "ssh_public_key", "summary": "Get SSH Public Key", "description": "### Get the SSH public key\n\nGet the public key created for this instance to identify itself to a remote SSH server.\n", "responses": { "200": { "description": "SSH Public Key", - "schema": { "$ref": "#/definitions/SshPublicKey" } + "schema": { + "$ref": "#/definitions/SshPublicKey" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -15096,7 +18740,9 @@ }, "/user_attributes": { "get": { - "tags": ["UserAttribute"], + "tags": [ + "UserAttribute" + ], "operationId": "all_user_attributes", "summary": "Get All User Attributes", "description": "### Get information about all user attributes.\n", @@ -15121,23 +18767,31 @@ "description": "User Attribute", "schema": { "type": "array", - "items": { "$ref": "#/definitions/UserAttribute" } + "items": { + "$ref": "#/definitions/UserAttribute" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["UserAttribute"], + "tags": [ + "UserAttribute" + ], "operationId": "create_user_attribute", "summary": "Create User Attribute", "description": "### Create a new user attribute\n\nPermission information for a user attribute is conveyed through the `can` and `user_can_edit` fields.\nThe `user_can_edit` field indicates whether an attribute is user-editable _anywhere_ in the application.\nThe `can` field gives more granular access information, with the `set_value` child field indicating whether\nan attribute's value can be set by [Setting the User Attribute User Value](#!/User/set_user_attribute_user_value).\n\nNote: `name` and `label` fields must be unique across all user attributes in the Looker instance.\nAttempting to create a new user attribute with a name or label that duplicates an existing\nuser attribute will fail with a 422 error.\n", @@ -15147,7 +18801,9 @@ "in": "body", "description": "User Attribute", "required": true, - "schema": { "$ref": "#/definitions/UserAttribute" } + "schema": { + "$ref": "#/definitions/UserAttribute" + } }, { "name": "fields", @@ -15160,27 +18816,39 @@ "responses": { "200": { "description": "User Attribute", - "schema": { "$ref": "#/definitions/UserAttribute" } + "schema": { + "$ref": "#/definitions/UserAttribute" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -15189,7 +18857,9 @@ }, "/user_attributes/{user_attribute_id}": { "get": { - "tags": ["UserAttribute"], + "tags": [ + "UserAttribute" + ], "operationId": "user_attribute", "summary": "Get User Attribute", "description": "### Get information about a user attribute.\n", @@ -15213,22 +18883,30 @@ "responses": { "200": { "description": "User Attribute", - "schema": { "$ref": "#/definitions/UserAttribute" } + "schema": { + "$ref": "#/definitions/UserAttribute" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["UserAttribute"], + "tags": [ + "UserAttribute" + ], "operationId": "update_user_attribute", "summary": "Update User Attribute", "description": "### Update a user attribute definition.\n", @@ -15246,7 +18924,9 @@ "in": "body", "description": "User Attribute", "required": true, - "schema": { "$ref": "#/definitions/UserAttribute" } + "schema": { + "$ref": "#/definitions/UserAttribute" + } }, { "name": "fields", @@ -15259,30 +18939,42 @@ "responses": { "200": { "description": "User Attribute", - "schema": { "$ref": "#/definitions/UserAttribute" } + "schema": { + "$ref": "#/definitions/UserAttribute" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["UserAttribute"], + "tags": [ + "UserAttribute" + ], "operationId": "delete_user_attribute", "summary": "Delete User Attribute", "description": "### Delete a user attribute (admin only).\n", @@ -15299,19 +18991,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -15320,7 +19020,9 @@ }, "/user_attributes/{user_attribute_id}/group_values": { "get": { - "tags": ["UserAttribute"], + "tags": [ + "UserAttribute" + ], "operationId": "all_user_attribute_group_values", "summary": "Get User Attribute Group Values", "description": "### Returns all values of a user attribute defined by user groups, in precedence order.\n\nA user may be a member of multiple groups which define different values for a given user attribute.\nThe order of group-values in the response determines precedence for selecting which group-value applies\nto a given user. For more information, see [Set User Attribute Group Values](#!/UserAttribute/set_user_attribute_group_values).\n\nResults will only include groups that the caller's user account has permission to see.\n", @@ -15346,23 +19048,31 @@ "description": "All group values for attribute.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/UserAttributeGroupValue" } + "items": { + "$ref": "#/definitions/UserAttributeGroupValue" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["UserAttribute"], + "tags": [ + "UserAttribute" + ], "operationId": "set_user_attribute_group_values", "summary": "Set User Attribute Group Values", "description": "### Define values for a user attribute across a set of groups, in priority order.\n\nThis function defines all values for a user attribute defined by user groups. This is a global setting, potentially affecting\nall users in the system. This function replaces any existing group value definitions for the indicated user attribute.\n\nThe value of a user attribute for a given user is determined by searching the following locations, in this order:\n\n1. the user's account settings\n2. the groups that the user is a member of\n3. the default value of the user attribute, if any\n\nThe 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\ndetermines which group takes priority for that user. Lowest array index wins.\n\nAn alternate method to indicate the selection precedence of group-values is to assign numbers to the 'rank' property of each\ngroup-value object in the array. Lowest 'rank' value wins. If you use this technique, you must assign a\nrank value to every group-value object in the array.\n\n To set a user attribute value for a single user, see [Set User Attribute User Value](#!/User/set_user_attribute_user_value).\nTo set a user attribute value for all members of a group, see [Set User Attribute Group Value](#!/Group/update_user_attribute_group_value).\n", @@ -15382,7 +19092,9 @@ "required": true, "schema": { "type": "array", - "items": { "$ref": "#/definitions/UserAttributeGroupValue" } + "items": { + "$ref": "#/definitions/UserAttributeGroupValue" + } } } ], @@ -15391,28 +19103,40 @@ "description": "Array of group values.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/UserAttributeGroupValue" } + "items": { + "$ref": "#/definitions/UserAttributeGroupValue" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -15421,7 +19145,9 @@ }, "/user_login_lockouts": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "all_user_login_lockouts", "summary": "Get All User Login Lockouts", "description": "### Get currently locked-out users.\n", @@ -15439,16 +19165,22 @@ "description": "User Login Lockout", "schema": { "type": "array", - "items": { "$ref": "#/definitions/UserLoginLockout" } + "items": { + "$ref": "#/definitions/UserLoginLockout" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -15457,7 +19189,9 @@ }, "/user_login_lockouts/search": { "get": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "search_user_login_lockouts", "summary": "Search User Login Lockouts", "description": "### Search currently locked-out users.\n", @@ -15533,16 +19267,22 @@ "description": "User Login Lockout", "schema": { "type": "array", - "items": { "$ref": "#/definitions/UserLoginLockout" } + "items": { + "$ref": "#/definitions/UserLoginLockout" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -15551,7 +19291,9 @@ }, "/user_login_lockout/{key}": { "delete": { - "tags": ["Auth"], + "tags": [ + "Auth" + ], "operationId": "delete_user_login_lockout", "summary": "Delete User Login Lockout", "description": "### Removes login lockout for the associated user.\n", @@ -15567,19 +19309,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -15588,7 +19338,9 @@ }, "/user": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "me", "summary": "Get Current User", "description": "### Get information about the current user; i.e. the user account currently calling the API.\n", @@ -15604,11 +19356,15 @@ "responses": { "200": { "description": "Current user.", - "schema": { "$ref": "#/definitions/User" } + "schema": { + "$ref": "#/definitions/User" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -15617,7 +19373,9 @@ }, "/users": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "all_users", "summary": "Get All Users", "description": "### Get information about all users.\n", @@ -15658,7 +19416,10 @@ "description": "Optional list of ids to get specific users.", "required": false, "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "collectionFormat": "csv" } ], @@ -15667,23 +19428,31 @@ "description": "All users.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/User" } + "items": { + "$ref": "#/definitions/User" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "create_user", "summary": "Create User", "description": "### Create a user with the specified information.\n", @@ -15693,7 +19462,9 @@ "in": "body", "description": "User", "required": false, - "schema": { "$ref": "#/definitions/User" } + "schema": { + "$ref": "#/definitions/User" + } }, { "name": "fields", @@ -15706,23 +19477,33 @@ "responses": { "200": { "description": "Created User", - "schema": { "$ref": "#/definitions/User" } + "schema": { + "$ref": "#/definitions/User" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -15731,7 +19512,9 @@ }, "/users/search": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "search_users", "summary": "Search Users", "description": "### Search users\n\nReturns all* user records that match the given search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\n(*) Results are always filtered to the level of information the caller is permitted to view.\nLooker admins can see all user details; normal users in an open system can see\nnames of other users but no details; normal users in a closed system can only see\nnames of other users who are members of the same group as the user.\n\n", @@ -15835,16 +19618,22 @@ "description": "Matching users.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/User" } + "items": { + "$ref": "#/definitions/User" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -15853,7 +19642,9 @@ }, "/users/search/names/{pattern}": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "search_users_names", "summary": "Search User Names", "description": "### Search for user accounts by name\n\nReturns all user accounts where `first_name` OR `last_name` OR `email` field values match a pattern.\nThe pattern can contain `%` and `_` wildcards as in SQL LIKE expressions.\n\nAny additional search params will be combined into a logical AND expression.\n", @@ -15944,16 +19735,22 @@ "description": "Matching users.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/User" } + "items": { + "$ref": "#/definitions/User" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -15962,7 +19759,9 @@ }, "/users/{user_id}": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user", "summary": "Get User by Id", "description": "### Get information about the user with a specific id.\n\nIf the caller is an admin or the caller is the user being specified, then full user information will\nbe returned. Otherwise, a minimal 'public' variant of the user information will be returned. This contains\nThe user name and avatar url, but no sensitive information.\n", @@ -15986,22 +19785,30 @@ "responses": { "200": { "description": "Specified user.", - "schema": { "$ref": "#/definitions/User" } + "schema": { + "$ref": "#/definitions/User" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "update_user", "summary": "Update User", "description": "### Update information about the user with a specific id.\n", @@ -16019,7 +19826,9 @@ "in": "body", "description": "User", "required": true, - "schema": { "$ref": "#/definitions/User" } + "schema": { + "$ref": "#/definitions/User" + } }, { "name": "fields", @@ -16032,26 +19841,36 @@ "responses": { "200": { "description": "New state for specified user.", - "schema": { "$ref": "#/definitions/User" } + "schema": { + "$ref": "#/definitions/User" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user", "summary": "Delete User", "description": "### Delete the user with a specific id.\n\n**DANGER** this will delete the user and all looks and other information owned by the user.\n", @@ -16068,19 +19887,27 @@ "responses": { "204": { "description": "User successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "403": { "description": "Permission Denied", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -16089,7 +19916,9 @@ }, "/users/credential/{credential_type}/{credential_id}": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_for_credential", "summary": "Get User by Credential Id", "description": "### Get information about the user with a credential of given type with specific id.\n\nThis is used to do things like find users by their embed external_user_id. Or, find the user with\na given api3 client_id, etc. The 'credential_type' matches the 'type' name of the various credential\ntypes. It must be one of the values listed in the table below. The 'credential_id' is your unique Id\nfor the user and is specific to each type of credential.\n\nAn example using the Ruby sdk might look like:\n\n`sdk.user_for_credential('embed', 'customer-4959425')`\n\nThis table shows the supported 'Credential Type' strings. The right column is for reference; it shows\nwhich field in the given credential type is actually searched when finding a user with the supplied\n'credential_id'.\n\n| Credential Types | Id Field Matched |\n| ---------------- | ---------------- |\n| email | email |\n| google | google_user_id |\n| saml | saml_user_id |\n| oidc | oidc_user_id |\n| ldap | ldap_id |\n| api | token |\n| api3 | client_id |\n| embed | external_user_id |\n| looker_openid | email |\n\n**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'.\n\n", @@ -16119,15 +19948,21 @@ "responses": { "200": { "description": "Specified user.", - "schema": { "$ref": "#/definitions/User" } + "schema": { + "$ref": "#/definitions/User" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -16136,7 +19971,9 @@ }, "/users/{user_id}/credentials_email": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_email", "summary": "Get Email/Password Credential", "description": "### Email/password login information for the specified user.", @@ -16160,22 +19997,30 @@ "responses": { "200": { "description": "Email/Password Credential", - "schema": { "$ref": "#/definitions/CredentialsEmail" } + "schema": { + "$ref": "#/definitions/CredentialsEmail" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "create_user_credentials_email", "summary": "Create Email/Password Credential", "description": "### Email/password login information for the specified user.", @@ -16193,7 +20038,9 @@ "in": "body", "description": "Email/Password Credential", "required": true, - "schema": { "$ref": "#/definitions/CredentialsEmail" } + "schema": { + "$ref": "#/definitions/CredentialsEmail" + } }, { "name": "fields", @@ -16206,34 +20053,48 @@ "responses": { "200": { "description": "Email/Password Credential", - "schema": { "$ref": "#/definitions/CredentialsEmail" } + "schema": { + "$ref": "#/definitions/CredentialsEmail" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "patch": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "update_user_credentials_email", "summary": "Update Email/Password Credential", "description": "### Email/password login information for the specified user.", @@ -16251,7 +20112,9 @@ "in": "body", "description": "Email/Password Credential", "required": true, - "schema": { "$ref": "#/definitions/CredentialsEmail" } + "schema": { + "$ref": "#/definitions/CredentialsEmail" + } }, { "name": "fields", @@ -16264,30 +20127,42 @@ "responses": { "200": { "description": "Email/Password Credential", - "schema": { "$ref": "#/definitions/CredentialsEmail" } + "schema": { + "$ref": "#/definitions/CredentialsEmail" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_email", "summary": "Delete Email/Password Credential", "description": "### Email/password login information for the specified user.", @@ -16304,19 +20179,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -16325,7 +20208,9 @@ }, "/users/{user_id}/credentials_totp": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_totp", "summary": "Get Two-Factor Credential", "description": "### Two-factor login information for the specified user.", @@ -16349,22 +20234,30 @@ "responses": { "200": { "description": "Two-Factor Credential", - "schema": { "$ref": "#/definitions/CredentialsTotp" } + "schema": { + "$ref": "#/definitions/CredentialsTotp" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "create_user_credentials_totp", "summary": "Create Two-Factor Credential", "description": "### Two-factor login information for the specified user.", @@ -16382,7 +20275,9 @@ "in": "body", "description": "Two-Factor Credential", "required": false, - "schema": { "$ref": "#/definitions/CredentialsTotp" } + "schema": { + "$ref": "#/definitions/CredentialsTotp" + } }, { "name": "fields", @@ -16395,34 +20290,48 @@ "responses": { "200": { "description": "Two-Factor Credential", - "schema": { "$ref": "#/definitions/CredentialsTotp" } + "schema": { + "$ref": "#/definitions/CredentialsTotp" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_totp", "summary": "Delete Two-Factor Credential", "description": "### Two-factor login information for the specified user.", @@ -16439,19 +20348,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -16460,7 +20377,9 @@ }, "/users/{user_id}/credentials_ldap": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_ldap", "summary": "Get LDAP Credential", "description": "### LDAP login information for the specified user.", @@ -16484,22 +20403,30 @@ "responses": { "200": { "description": "LDAP Credential", - "schema": { "$ref": "#/definitions/CredentialsLDAP" } + "schema": { + "$ref": "#/definitions/CredentialsLDAP" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_ldap", "summary": "Delete LDAP Credential", "description": "### LDAP login information for the specified user.", @@ -16516,19 +20443,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -16537,7 +20472,9 @@ }, "/users/{user_id}/credentials_google": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_google", "summary": "Get Google Auth Credential", "description": "### Google authentication login information for the specified user.", @@ -16561,22 +20498,30 @@ "responses": { "200": { "description": "Google Auth Credential", - "schema": { "$ref": "#/definitions/CredentialsGoogle" } + "schema": { + "$ref": "#/definitions/CredentialsGoogle" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_google", "summary": "Delete Google Auth Credential", "description": "### Google authentication login information for the specified user.", @@ -16593,19 +20538,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -16614,7 +20567,9 @@ }, "/users/{user_id}/credentials_saml": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_saml", "summary": "Get Saml Auth Credential", "description": "### Saml authentication login information for the specified user.", @@ -16638,22 +20593,30 @@ "responses": { "200": { "description": "Saml Auth Credential", - "schema": { "$ref": "#/definitions/CredentialsSaml" } + "schema": { + "$ref": "#/definitions/CredentialsSaml" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_saml", "summary": "Delete Saml Auth Credential", "description": "### Saml authentication login information for the specified user.", @@ -16670,19 +20633,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -16691,7 +20662,9 @@ }, "/users/{user_id}/credentials_oidc": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_oidc", "summary": "Get OIDC Auth Credential", "description": "### OpenID Connect (OIDC) authentication login information for the specified user.", @@ -16715,22 +20688,30 @@ "responses": { "200": { "description": "OIDC Auth Credential", - "schema": { "$ref": "#/definitions/CredentialsOIDC" } + "schema": { + "$ref": "#/definitions/CredentialsOIDC" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_oidc", "summary": "Delete OIDC Auth Credential", "description": "### OpenID Connect (OIDC) authentication login information for the specified user.", @@ -16747,19 +20728,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -16768,7 +20757,9 @@ }, "/users/{user_id}/credentials_api3/{credentials_api3_id}": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_api3", "summary": "Get API 3 Credential", "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", @@ -16800,22 +20791,30 @@ "responses": { "200": { "description": "API 3 Credential", - "schema": { "$ref": "#/definitions/CredentialsApi3" } + "schema": { + "$ref": "#/definitions/CredentialsApi3" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_api3", "summary": "Delete API 3 Credential", "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", @@ -16840,19 +20839,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -16861,7 +20868,9 @@ }, "/users/{user_id}/credentials_api3": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "all_user_credentials_api3s", "summary": "Get All API 3 Credentials", "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", @@ -16887,23 +20896,31 @@ "description": "API 3 Credential", "schema": { "type": "array", - "items": { "$ref": "#/definitions/CredentialsApi3" } + "items": { + "$ref": "#/definitions/CredentialsApi3" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "post": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "create_user_credentials_api3", "summary": "Create API 3 Credential", "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", @@ -16921,7 +20938,9 @@ "in": "body", "description": "API 3 Credential", "required": false, - "schema": { "$ref": "#/definitions/CredentialsApi3" } + "schema": { + "$ref": "#/definitions/CredentialsApi3" + } }, { "name": "fields", @@ -16934,27 +20953,39 @@ "responses": { "200": { "description": "API 3 Credential", - "schema": { "$ref": "#/definitions/CredentialsApi3" } + "schema": { + "$ref": "#/definitions/CredentialsApi3" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "409": { "description": "Resource Already Exists", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -16963,7 +20994,9 @@ }, "/users/{user_id}/credentials_embed/{credentials_embed_id}": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_embed", "summary": "Get Embedding Credential", "description": "### Embed login information for the specified user.", @@ -16995,22 +21028,30 @@ "responses": { "200": { "description": "Embedding Credential", - "schema": { "$ref": "#/definitions/CredentialsEmbed" } + "schema": { + "$ref": "#/definitions/CredentialsEmbed" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_embed", "summary": "Delete Embedding Credential", "description": "### Embed login information for the specified user.", @@ -17035,19 +21076,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -17056,7 +21105,9 @@ }, "/users/{user_id}/credentials_embed": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "all_user_credentials_embeds", "summary": "Get All Embedding Credentials", "description": "### Embed login information for the specified user.", @@ -17082,16 +21133,22 @@ "description": "Embedding Credential", "schema": { "type": "array", - "items": { "$ref": "#/definitions/CredentialsEmbed" } + "items": { + "$ref": "#/definitions/CredentialsEmbed" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -17100,7 +21157,9 @@ }, "/users/{user_id}/credentials_looker_openid": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_credentials_looker_openid", "summary": "Get Looker OpenId Credential", "description": "### Looker Openid login information for the specified user. Used by Looker Analysts.", @@ -17124,22 +21183,30 @@ "responses": { "200": { "description": "Looker OpenId Credential", - "schema": { "$ref": "#/definitions/CredentialsLookerOpenid" } + "schema": { + "$ref": "#/definitions/CredentialsLookerOpenid" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_credentials_looker_openid", "summary": "Delete Looker OpenId Credential", "description": "### Looker Openid login information for the specified user. Used by Looker Analysts.", @@ -17156,19 +21223,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -17177,7 +21252,9 @@ }, "/users/{user_id}/sessions/{session_id}": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_session", "summary": "Get Web Login Session", "description": "### Web login session for the specified user.", @@ -17209,22 +21286,30 @@ "responses": { "200": { "description": "Web Login Session", - "schema": { "$ref": "#/definitions/Session" } + "schema": { + "$ref": "#/definitions/Session" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_session", "summary": "Delete Web Login Session", "description": "### Web login session for the specified user.", @@ -17249,19 +21334,27 @@ "responses": { "204": { "description": "Successfully deleted.", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -17270,7 +21363,9 @@ }, "/users/{user_id}/sessions": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "all_user_sessions", "summary": "Get All Web Login Sessions", "description": "### Web login session for the specified user.", @@ -17296,16 +21391,22 @@ "description": "Web Login Session", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Session" } + "items": { + "$ref": "#/definitions/Session" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -17314,7 +21415,9 @@ }, "/users/{user_id}/credentials_email/password_reset": { "post": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "create_user_credentials_email_password_reset", "summary": "Create Password Reset Token", "description": "### Create a password reset token.\nThis will create a cryptographically secure random password reset token for the user.\nIf the user already has a password reset token then this invalidates the old token and creates a new one.\nThe token is expressed as the 'password_reset_url' of the user's email/password credential object.\nThis takes an optional 'expires' param to indicate if the new token should be an expiring token.\nTokens that expire are typically used for self-service password resets for existing users.\nInvitation emails for new users typically are not set to expire.\nThe expire period is always 60 minutes when expires is enabled.\nThis method can be called with an empty body.\n", @@ -17345,15 +21448,21 @@ "responses": { "200": { "description": "email/password credential", - "schema": { "$ref": "#/definitions/CredentialsEmail" } + "schema": { + "$ref": "#/definitions/CredentialsEmail" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -17362,7 +21471,9 @@ }, "/users/{user_id}/roles": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_roles", "summary": "Get User Roles", "description": "### Get information about roles of a given user\n", @@ -17395,23 +21506,31 @@ "description": "Roles of user.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Role" } + "items": { + "$ref": "#/definitions/Role" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "put": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "set_user_roles", "summary": "Set User Roles", "description": "### Set roles of the user with a specific id.\n", @@ -17431,7 +21550,10 @@ "required": true, "schema": { "type": "array", - "items": { "type": "integer", "format": "int64" } + "items": { + "type": "integer", + "format": "int64" + } } }, { @@ -17447,16 +21569,22 @@ "description": "Roles of user.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Role" } + "items": { + "$ref": "#/definitions/Role" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -17465,7 +21593,9 @@ }, "/users/{user_id}/attribute_values": { "get": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "user_attribute_user_values", "summary": "Get User Attribute Values", "description": "### Get user attribute values for a given user.\n\nReturns the values of specified user attributes (or all user attributes) for a certain user.\n\nA value for each user attribute is searched for in the following locations, in this order:\n\n1. in the user's account information\n1. in groups that the user is a member of\n1. the default value of the user attribute\n\nIf more than one group has a value defined for a user attribute, the group with the lowest rank wins.\n\nThe response will only include user attributes for which values were found. Use `include_unset=true` to include\nempty records for user attributes with no value.\n\nThe value of all hidden user attributes will be blank.\n", @@ -17491,7 +21621,10 @@ "description": "Specific user attributes to request. Omit or leave blank to request all user attributes.", "required": false, "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "collectionFormat": "csv" }, { @@ -17514,12 +21647,16 @@ "description": "Value of user attribute.", "schema": { "type": "array", - "items": { "$ref": "#/definitions/UserAttributeWithValue" } + "items": { + "$ref": "#/definitions/UserAttributeWithValue" + } } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -17528,7 +21665,9 @@ }, "/users/{user_id}/attribute_values/{user_attribute_id}": { "patch": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "set_user_attribute_user_value", "summary": "Set User Attribute User Value", "description": "### Store a custom value for a user attribute in a user's account settings.\n\nPer-user user attribute values take precedence over group or default values.\n", @@ -17554,32 +21693,44 @@ "in": "body", "description": "New attribute value for user.", "required": true, - "schema": { "$ref": "#/definitions/UserAttributeWithValue" } + "schema": { + "$ref": "#/definitions/UserAttributeWithValue" + } } ], "responses": { "200": { "description": "User attribute value.", - "schema": { "$ref": "#/definitions/UserAttributeWithValue" } + "schema": { + "$ref": "#/definitions/UserAttributeWithValue" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", "x-looker-activity-type": "non_query" }, "delete": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "delete_user_attribute_user_value", "summary": "Delete User Attribute User Value", "description": "### Delete a user attribute value from a user's account settings.\n\nAfter the user attribute value is deleted from the user's account settings, subsequent requests\nfor the user attribute value for this user will draw from the user's groups or the default\nvalue of the user attribute. See [Get User Attribute Values](#!/User/user_attribute_user_values) for more\ninformation about how user attribute values are resolved.\n", @@ -17602,14 +21753,20 @@ } ], "responses": { - "204": { "description": "Deleted" }, + "204": { + "description": "Deleted" + }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -17618,7 +21775,9 @@ }, "/users/{user_id}/credentials_email/send_password_reset": { "post": { - "tags": ["User"], + "tags": [ + "User" + ], "operationId": "send_user_credentials_email_password_reset", "summary": "Send Password Reset Token", "description": "### Send a password reset token.\nThis will send a password reset email to the user. If a password reset token does not already exist\nfor this user, it will create one and then send it.\nIf the user has not yet set up their account, it will send a setup email to the user.\nThe URL sent in the email is expressed as the 'password_reset_url' of the user's email/password credential object.\nPassword reset URLs will expire in 60 minutes.\nThis method can be called with an empty body.\n", @@ -17642,15 +21801,21 @@ "responses": { "200": { "description": "email/password credential", - "schema": { "$ref": "#/definitions/CredentialsEmail" } + "schema": { + "$ref": "#/definitions/CredentialsEmail" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -17659,11 +21824,15 @@ }, "/vector_thumbnail/{type}/{resource_id}": { "get": { - "tags": ["Content"], + "tags": [ + "Content" + ], "operationId": "vector_thumbnail", "summary": "Get Vector Thumbnail", "description": "### Get a vector image representing the contents of a dashboard or look.\n\n# DEPRECATED: Use [content_thumbnail()](#!/Content/content_thumbnail)\n\nThe returned thumbnail is an abstract representation of the contents of a dashbord or look and does not\nreflect the actual data displayed in the respective visualizations.\n", - "produces": ["image/svg+xml"], + "produces": [ + "image/svg+xml" + ], "parameters": [ { "name": "type", @@ -17690,15 +21859,21 @@ "responses": { "200": { "description": "Vector thumbnail", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": true, @@ -17708,7 +21883,9 @@ }, "/versions": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "versions", "summary": "Get ApiVersion", "description": "### Get information about all API versions supported by this Looker instance.\n", @@ -17724,15 +21901,21 @@ "responses": { "200": { "description": "ApiVersion", - "schema": { "$ref": "#/definitions/ApiVersion" } + "schema": { + "$ref": "#/definitions/ApiVersion" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "stable", @@ -17741,7 +21924,9 @@ }, "/api_spec/{api_version}/{specification}": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "api_spec", "summary": "Get an API specification", "description": "### Get an API specification for this Looker instance.\n\n**Note**: Although the API specification is in JSON format, the return type is temporarily `text/plain`, so the response should be treated as standard JSON to consume it.\n", @@ -17764,15 +21949,21 @@ "responses": { "200": { "description": "API specification", - "schema": { "type": "string" } + "schema": { + "type": "string" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -17781,7 +21972,9 @@ }, "/whitelabel_configuration": { "get": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "whitelabel_configuration", "summary": "Get Whitelabel configuration", "description": "### This feature is enabled only by special license.\n### Gets the whitelabel configuration, which includes hiding documentation links, custom favicon uploading, etc.\n", @@ -17797,22 +21990,30 @@ "responses": { "200": { "description": "Whitelabel configuration", - "schema": { "$ref": "#/definitions/WhitelabelConfiguration" } + "schema": { + "$ref": "#/definitions/WhitelabelConfiguration" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", "x-looker-activity-type": "non_query" }, "put": { - "tags": ["Config"], + "tags": [ + "Config" + ], "operationId": "update_whitelabel_configuration", "summary": "Update Whitelabel configuration", "description": "### Update the whitelabel configuration\n", @@ -17822,29 +22023,41 @@ "in": "body", "description": "Whitelabel configuration", "required": true, - "schema": { "$ref": "#/definitions/WhitelabelConfiguration" } + "schema": { + "$ref": "#/definitions/WhitelabelConfiguration" + } } ], "responses": { "200": { "description": "Whitelabel configuration", - "schema": { "$ref": "#/definitions/WhitelabelConfiguration" } + "schema": { + "$ref": "#/definitions/WhitelabelConfiguration" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "422": { "description": "Validation Error", - "schema": { "$ref": "#/definitions/ValidationError" } + "schema": { + "$ref": "#/definitions/ValidationError" + } }, "429": { "description": "Too Many Requests", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -17853,7 +22066,9 @@ }, "/workspaces": { "get": { - "tags": ["Workspace"], + "tags": [ + "Workspace" + ], "operationId": "all_workspaces", "summary": "Get All Workspaces", "description": "### Get All Workspaces\n\nReturns all workspaces available to the calling user.\n", @@ -17862,16 +22077,22 @@ "description": "Workspace", "schema": { "type": "array", - "items": { "$ref": "#/definitions/Workspace" } + "items": { + "$ref": "#/definitions/Workspace" + } } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -17880,7 +22101,9 @@ }, "/workspaces/{workspace_id}": { "get": { - "tags": ["Workspace"], + "tags": [ + "Workspace" + ], "operationId": "workspace", "summary": "Get Workspace", "description": "### Get A Workspace\n\nReturns information about a workspace such as the git status and selected branches\nof all projects available to the caller's user account.\n\nA workspace defines which versions of project files will be used to evaluate expressions\nand operations that use model definitions - operations such as running queries or rendering dashboards.\nEach project has its own git repository, and each project in a workspace may be configured to reference\nparticular branch or revision within their respective repositories.\n\nThere are two predefined workspaces available: \"production\" and \"dev\".\n\nThe production workspace is shared across all Looker users. Models in the production workspace are read-only.\nChanging files in production is accomplished by modifying files in a git branch and using Pull Requests\nto merge the changes from the dev branch into the production branch, and then telling\nLooker to sync with production.\n\nThe dev workspace is local to each Looker user. Changes made to project/model files in the dev workspace only affect\nthat user, and only when the dev workspace is selected as the active workspace for the API session.\n(See set_session_workspace()).\n\nThe dev workspace is NOT unique to an API session. Two applications accessing the Looker API using\nthe same user account will see the same files in the dev workspace. To avoid collisions between\nAPI clients it's best to have each client login with API3 credentials for a different user account.\n\nChanges made to files in a dev workspace are persistent across API sessions. It's a good\nidea to commit any changes you've made to the git repository, but not strictly required. Your modified files\nreside in a special user-specific directory on the Looker server and will still be there when you login in again\nlater and use update_session(workspace_id: \"dev\") to select the dev workspace for the new API session.\n", @@ -17896,15 +22119,21 @@ "responses": { "200": { "description": "Workspace", - "schema": { "$ref": "#/definitions/Workspace" } + "schema": { + "$ref": "#/definitions/Workspace" + } }, "400": { "description": "Bad Request", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } }, "404": { "description": "Not Found", - "schema": { "$ref": "#/definitions/Error" } + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-looker-status": "beta", @@ -17930,13 +22159,18 @@ } }, "x-looker-status": "stable", - "required": ["message", "documentation_url"] + "required": [ + "message", + "documentation_url" + ] }, "DashboardBase": { "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -18030,7 +22264,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -18062,7 +22298,9 @@ }, "homepage_items": { "type": "array", - "items": { "$ref": "#/definitions/HomepageItem" }, + "items": { + "$ref": "#/definitions/HomepageItem" + }, "readOnly": true, "description": "Items in the homepage section", "x-looker-nullable": true @@ -18082,7 +22320,10 @@ }, "item_order": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "ids of the homepage items in the order they should be displayed", "x-looker-nullable": true }, @@ -18102,6 +22343,16 @@ "type": "string", "description": "Description of the content found in this section.", "x-looker-nullable": true + }, + "visible_item_order": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + }, + "readOnly": true, + "description": "ids of the homepage items the user can see in the order they should be displayed", + "x-looker-nullable": true } }, "x-looker-status": "stable" @@ -18110,7 +22361,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -18288,7 +22541,9 @@ }, "errors": { "type": "array", - "items": { "$ref": "#/definitions/ValidationErrorDetail" }, + "items": { + "$ref": "#/definitions/ValidationErrorDetail" + }, "readOnly": true, "description": "Error detail array", "x-looker-nullable": true @@ -18302,7 +22557,10 @@ } }, "x-looker-status": "stable", - "required": ["message", "documentation_url"] + "required": [ + "message", + "documentation_url" + ] }, "ValidationErrorDetail": { "properties": { @@ -18333,7 +22591,9 @@ } }, "x-looker-status": "stable", - "required": ["documentation_url"] + "required": [ + "documentation_url" + ] }, "AccessToken": { "properties": { @@ -18369,7 +22629,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -18393,7 +22655,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -18439,7 +22703,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -18551,7 +22817,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -18583,7 +22851,9 @@ }, "board_sections": { "type": "array", - "items": { "$ref": "#/definitions/BoardSection" }, + "items": { + "$ref": "#/definitions/BoardSection" + }, "readOnly": true, "description": "Sections of the board", "x-looker-nullable": true @@ -18597,7 +22867,10 @@ }, "section_order": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "ids of the board sections in the order they should be displayed", "x-looker-nullable": true }, @@ -18633,7 +22906,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -18664,7 +22939,9 @@ }, "board_items": { "type": "array", - "items": { "$ref": "#/definitions/BoardItem" }, + "items": { + "$ref": "#/definitions/BoardItem" + }, "readOnly": true, "description": "Items in the board section", "x-looker-nullable": true @@ -18678,10 +22955,23 @@ }, "item_order": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "ids of the board items in the order they should be displayed", "x-looker-nullable": true }, + "visible_item_order": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + }, + "readOnly": true, + "description": "ids of the homepage items the user can see in the order they should be displayed", + "x-looker-nullable": true + }, "title": { "type": "string", "description": "Name of row", @@ -18733,7 +23023,9 @@ }, "stops": { "type": "array", - "items": { "$ref": "#/definitions/ColorStop" }, + "items": { + "$ref": "#/definitions/ColorStop" + }, "description": "Array of ColorStops in the palette", "x-looker-nullable": false } @@ -18760,7 +23052,9 @@ }, "colors": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Array of colors in the palette", "x-looker-nullable": false } @@ -18782,19 +23076,25 @@ }, "categoricalPalettes": { "type": "array", - "items": { "$ref": "#/definitions/DiscretePalette" }, + "items": { + "$ref": "#/definitions/DiscretePalette" + }, "description": "Array of categorical palette definitions", "x-looker-nullable": false }, "sequentialPalettes": { "type": "array", - "items": { "$ref": "#/definitions/ContinuousPalette" }, + "items": { + "$ref": "#/definitions/ContinuousPalette" + }, "description": "Array of discrete palette definitions", "x-looker-nullable": false }, "divergingPalettes": { "type": "array", - "items": { "$ref": "#/definitions/ContinuousPalette" }, + "items": { + "$ref": "#/definitions/ContinuousPalette" + }, "description": "Array of diverging palette definitions", "x-looker-nullable": false } @@ -18834,7 +23134,10 @@ }, "linked_content_type": { "type": "string", - "x-looker-values": ["dashboard", "lookml_dashboard"], + "x-looker-values": [ + "dashboard", + "lookml_dashboard" + ], "description": "Name of the command Valid values are: \"dashboard\", \"lookml_dashboard\".", "x-looker-nullable": false } @@ -18917,7 +23220,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -18937,7 +23242,10 @@ "permission_type": { "type": "string", "readOnly": true, - "x-looker-values": ["view", "edit"], + "x-looker-values": [ + "view", + "edit" + ], "description": "Type of permission: \"view\" or \"edit\" Valid values are: \"view\", \"edit\".", "x-looker-nullable": true }, @@ -18962,7 +23270,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -19037,7 +23347,9 @@ "properties": { "content_with_errors": { "type": "array", - "items": { "$ref": "#/definitions/ContentValidatorError" }, + "items": { + "$ref": "#/definitions/ContentValidatorError" + }, "readOnly": true, "description": "A list of content errors", "x-looker-nullable": true @@ -19138,7 +23450,9 @@ }, "errors": { "type": "array", - "items": { "$ref": "#/definitions/ContentValidationError" }, + "items": { + "$ref": "#/definitions/ContentValidationError" + }, "readOnly": true, "description": "A list of errors found for this piece of content", "x-looker-nullable": true @@ -19167,7 +23481,9 @@ } }, "x-looker-status": "stable", - "required": ["name"] + "required": [ + "name" + ] }, "ContentValidationLook": { "properties": { @@ -19477,7 +23793,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -19563,7 +23881,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -19613,7 +23933,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -19679,7 +24001,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -19741,7 +24065,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -19802,7 +24128,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -19863,7 +24191,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -19925,7 +24255,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -19980,7 +24312,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -20035,7 +24369,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -20078,7 +24414,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -20169,7 +24507,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -20332,7 +24672,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -20386,7 +24728,10 @@ }, "field": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "readOnly": true, "description": "Field information", "x-looker-nullable": true @@ -20399,7 +24744,9 @@ }, "listens_to_filters": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Array of listeners for faceted filters", "x-looker-nullable": true }, @@ -20415,7 +24762,10 @@ }, "ui_config": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "description": "The visual configuration for this filter. Used to set up how the UI for this filter should appear.", "x-looker-nullable": true } @@ -20472,7 +24822,10 @@ }, "field": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "readOnly": true, "description": "Field information", "x-looker-nullable": true @@ -20485,7 +24838,9 @@ }, "listens_to_filters": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Array of listeners for faceted filters", "x-looker-nullable": true }, @@ -20501,19 +24856,29 @@ }, "ui_config": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "description": "The visual configuration for this filter. Used to set up how the UI for this filter should appear.", "x-looker-nullable": true } }, "x-looker-status": "stable", - "required": ["dashboard_id", "name", "title", "type"] + "required": [ + "dashboard_id", + "name", + "title", + "type" + ] }, "DashboardLayoutComponent": { "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -20589,7 +24954,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -20641,7 +25008,9 @@ }, "dashboard_layout_components": { "type": "array", - "items": { "$ref": "#/definitions/DashboardLayoutComponent" }, + "items": { + "$ref": "#/definitions/DashboardLayoutComponent" + }, "readOnly": true, "description": "Components", "x-looker-nullable": true @@ -20670,7 +25039,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -20771,21 +25142,27 @@ }, "dashboard_elements": { "type": "array", - "items": { "$ref": "#/definitions/DashboardElement" }, + "items": { + "$ref": "#/definitions/DashboardElement" + }, "readOnly": true, "description": "Elements", "x-looker-nullable": true }, "dashboard_filters": { "type": "array", - "items": { "$ref": "#/definitions/DashboardFilter" }, + "items": { + "$ref": "#/definitions/DashboardFilter" + }, "readOnly": true, "description": "Filters", "x-looker-nullable": true }, "dashboard_layouts": { "type": "array", - "items": { "$ref": "#/definitions/DashboardLayout" }, + "items": { + "$ref": "#/definitions/DashboardLayout" + }, "readOnly": true, "description": "Layouts", "x-looker-nullable": true @@ -20959,7 +25336,9 @@ }, "options": { "type": "array", - "items": { "$ref": "#/definitions/DataActionFormSelectOption" }, + "items": { + "$ref": "#/definitions/DataActionFormSelectOption" + }, "readOnly": true, "description": "If the form type is 'select', a list of options to be selected from.", "x-looker-nullable": true @@ -20977,7 +25356,9 @@ }, "fields": { "type": "array", - "items": { "$ref": "#/definitions/DataActionFormField" }, + "items": { + "$ref": "#/definitions/DataActionFormField" + }, "readOnly": true, "description": "Array of form fields.", "x-looker-nullable": true @@ -21006,13 +25387,17 @@ "properties": { "action": { "type": "object", - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "description": "The JSON describing the data action. This JSON should be considered opaque and should be passed through unmodified from the query result it came from.", "x-looker-nullable": true }, "form_values": { "type": "object", - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "description": "User input for any form values the data action might use.", "x-looker-nullable": true } @@ -21076,7 +25461,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -21145,7 +25532,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -21164,7 +25553,9 @@ }, "snippets": { "type": "array", - "items": { "$ref": "#/definitions/Snippet" }, + "items": { + "$ref": "#/definitions/Snippet" + }, "readOnly": true, "description": "SQL Runner snippets for this connection", "x-looker-nullable": false @@ -21182,7 +25573,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -21200,7 +25593,9 @@ }, "snippets": { "type": "array", - "items": { "$ref": "#/definitions/Snippet" }, + "items": { + "$ref": "#/definitions/Snippet" + }, "readOnly": true, "description": "SQL Runner snippets for this connection", "x-looker-nullable": false @@ -21338,7 +25733,9 @@ }, "user_attribute_fields": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Fields whose values map to user attribute names", "x-looker-nullable": true }, @@ -21484,7 +25881,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -21561,7 +25960,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -21728,7 +26129,9 @@ }, "connection_tests": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Array of names of the tests that can be run on a connection using this dialect", "x-looker-nullable": false @@ -21801,7 +26204,9 @@ } }, "x-looker-status": "beta", - "required": ["target_url"] + "required": [ + "target_url" + ] }, "EmbedSsoParams": { "properties": { @@ -21844,19 +26249,26 @@ }, "permissions": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "List of Looker permission names to grant to the embed user. Requested permissions will be filtered to permissions allowed for embed sessions.", "x-looker-nullable": true }, "models": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "List of model names that the embed user may access", "x-looker-nullable": true }, "group_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "List of Looker group ids in which to enroll the embed user", "x-looker-nullable": true }, @@ -21867,7 +26279,10 @@ }, "user_attributes": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "description": "A dictionary of name-value pairs associating a Looker user attribute name with a value.", "x-looker-nullable": true }, @@ -21879,7 +26294,9 @@ } }, "x-looker-status": "stable", - "required": ["target_url"] + "required": [ + "target_url" + ] }, "EmbedUrlResponse": { "properties": { @@ -21896,7 +26313,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -22035,14 +26454,18 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false } }, "x-looker-status": "stable", - "required": ["name"] + "required": [ + "name" + ] }, "CreateFolder": { "properties": { @@ -22058,7 +26481,10 @@ } }, "x-looker-status": "stable", - "required": ["name", "parent_id"] + "required": [ + "name", + "parent_id" + ] }, "UpdateFolder": { "properties": { @@ -22171,34 +26597,44 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false }, "dashboards": { "type": "array", - "items": { "$ref": "#/definitions/DashboardBase" }, + "items": { + "$ref": "#/definitions/DashboardBase" + }, "readOnly": true, "description": "Dashboards", "x-looker-nullable": true }, "looks": { "type": "array", - "items": { "$ref": "#/definitions/LookWithDashboards" }, + "items": { + "$ref": "#/definitions/LookWithDashboards" + }, "readOnly": true, "description": "Looks", "x-looker-nullable": true } }, "x-looker-status": "stable", - "required": ["name"] + "required": [ + "name" + ] }, "GitBranch": { "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -22307,7 +26743,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -22331,7 +26769,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -22402,7 +26842,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -22462,7 +26904,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -22517,7 +26961,9 @@ }, "roles": { "type": "array", - "items": { "$ref": "#/definitions/Role" }, + "items": { + "$ref": "#/definitions/Role" + }, "readOnly": true, "description": "Roles assigned to group", "x-looker-nullable": true @@ -22529,7 +26975,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -22584,14 +27032,20 @@ }, "parent_group_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "readOnly": true, "description": "IDs of parents of this group", "x-looker-nullable": true }, "role_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "readOnly": true, "description": "Role IDs assigned to group", "x-looker-nullable": true @@ -22644,7 +27098,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -22716,7 +27172,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -22753,13 +27211,17 @@ }, "params": { "type": "array", - "items": { "$ref": "#/definitions/IntegrationParam" }, + "items": { + "$ref": "#/definitions/IntegrationParam" + }, "description": "Array of params for the integration.", "x-looker-nullable": false }, "supported_formats": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "x-looker-values": [ "txt", @@ -22781,33 +27243,54 @@ }, "supported_action_types": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, - "x-looker-values": ["cell", "query", "dashboard"], + "x-looker-values": [ + "cell", + "query", + "dashboard" + ], "description": "A list of action types the integration supports. Valid values are: \"cell\", \"query\", \"dashboard\".", "x-looker-nullable": false }, "supported_formattings": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, - "x-looker-values": ["formatted", "unformatted"], + "x-looker-values": [ + "formatted", + "unformatted" + ], "description": "A list of formatting options the integration supports. If unspecified, defaults to all formats. Valid values are: \"formatted\", \"unformatted\".", "x-looker-nullable": false }, "supported_visualization_formattings": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, - "x-looker-values": ["apply", "noapply"], + "x-looker-values": [ + "apply", + "noapply" + ], "description": "A list of visualization formatting options the integration supports. If unspecified, defaults to all formats. Valid values are: \"apply\", \"noapply\".", "x-looker-nullable": false }, "supported_download_settings": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, - "x-looker-values": ["push", "url"], + "x-looker-values": [ + "push", + "url" + ], "description": "A list of all the download mechanisms the integration supports. The order of values is not significant: Looker will select the most appropriate supported download mechanism for a given query. The integration must ensure it can handle any of the mechanisms it claims to support. If unspecified, this defaults to all download setting values. Valid values are: \"push\", \"url\".", "x-looker-nullable": false }, @@ -22825,7 +27308,9 @@ }, "required_fields": { "type": "array", - "items": { "$ref": "#/definitions/IntegrationRequiredField" }, + "items": { + "$ref": "#/definitions/IntegrationRequiredField" + }, "readOnly": true, "description": "A list of descriptions of required fields that this integration is compatible with. If there are multiple entries in this list, the integration requires more than one field. If unspecified, no fields will be required.", "x-looker-nullable": false @@ -22838,7 +27323,10 @@ }, "installed_delegate_oauth_targets": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "Whether the integration is available to users.", "x-looker-nullable": false } @@ -22917,14 +27405,18 @@ }, "any_tag": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "If present, supercedes 'tag' and matches a field that has any of the provided tags.", "x-looker-nullable": true }, "all_tags": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "If present, supercedes 'tag' and matches a field that has all of the provided tags.", "x-looker-nullable": true @@ -22948,7 +27440,9 @@ }, "delegate_oauth_result": { "type": "array", - "items": { "$ref": "#/definitions/DelegateOauthTest" }, + "items": { + "$ref": "#/definitions/DelegateOauthTest" + }, "readOnly": true, "description": "An array of connection test result for delegate oauth actions.", "x-looker-nullable": true @@ -22960,7 +27454,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -22982,7 +27478,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -22999,7 +27497,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -23047,28 +27547,38 @@ }, "default_new_user_group_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "x-looker-write-only": true, "description": "(Write-Only) Array of ids of groups that will be applied to new users the first time they login via LDAP", "x-looker-nullable": true }, "default_new_user_groups": { "type": "array", - "items": { "$ref": "#/definitions/Group" }, + "items": { + "$ref": "#/definitions/Group" + }, "readOnly": true, "description": "(Read-only) Groups that will be applied to new users the first time they login via LDAP", "x-looker-nullable": true }, "default_new_user_role_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "x-looker-write-only": true, "description": "(Write-Only) Array of ids of roles that will be applied to new users the first time they login via LDAP", "x-looker-nullable": true }, "default_new_user_roles": { "type": "array", - "items": { "$ref": "#/definitions/Role" }, + "items": { + "$ref": "#/definitions/Role" + }, "readOnly": true, "description": "(Read-only) Roles that will be applied to new users the first time they login via LDAP", "x-looker-nullable": true @@ -23085,7 +27595,9 @@ }, "groups": { "type": "array", - "items": { "$ref": "#/definitions/LDAPGroupRead" }, + "items": { + "$ref": "#/definitions/LDAPGroupRead" + }, "readOnly": true, "description": "(Read-only) Array of mappings between LDAP Groups and Looker Roles", "x-looker-nullable": true @@ -23117,7 +27629,9 @@ }, "groups_with_role_ids": { "type": "array", - "items": { "$ref": "#/definitions/LDAPGroupWrite" }, + "items": { + "$ref": "#/definitions/LDAPGroupWrite" + }, "description": "(Read/Write) Array of mappings between LDAP Groups and arrays of Looker Role ids", "x-looker-nullable": true }, @@ -23183,14 +27697,18 @@ }, "user_attributes": { "type": "array", - "items": { "$ref": "#/definitions/LDAPUserAttributeRead" }, + "items": { + "$ref": "#/definitions/LDAPUserAttributeRead" + }, "readOnly": true, "description": "(Read-only) Array of mappings between LDAP User Attributes and Looker User Attributes", "x-looker-nullable": true }, "user_attributes_with_ids": { "type": "array", - "items": { "$ref": "#/definitions/LDAPUserAttributeWrite" }, + "items": { + "$ref": "#/definitions/LDAPUserAttributeWrite" + }, "description": "(Read/Write) Array of mappings between LDAP User Attributes and arrays of Looker User Attribute ids", "x-looker-nullable": true }, @@ -23249,7 +27767,9 @@ }, "issues": { "type": "array", - "items": { "$ref": "#/definitions/LDAPConfigTestIssue" }, + "items": { + "$ref": "#/definitions/LDAPConfigTestIssue" + }, "readOnly": true, "description": "Array of issues/considerations about the result", "x-looker-nullable": true @@ -23335,7 +27855,9 @@ }, "roles": { "type": "array", - "items": { "$ref": "#/definitions/Role" }, + "items": { + "$ref": "#/definitions/Role" + }, "readOnly": true, "description": "Looker Roles", "x-looker-nullable": true @@ -23377,7 +27899,10 @@ }, "role_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "Looker Role Ids", "x-looker-nullable": true }, @@ -23407,7 +27932,9 @@ }, "user_attributes": { "type": "array", - "items": { "$ref": "#/definitions/UserAttribute" }, + "items": { + "$ref": "#/definitions/UserAttribute" + }, "readOnly": true, "description": "Looker User Attributes", "x-looker-nullable": true @@ -23436,7 +27963,10 @@ }, "user_attribute_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "Looker User Attribute Ids", "x-looker-nullable": true }, @@ -23454,14 +27984,18 @@ "properties": { "all_emails": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Array of user's email addresses and aliases for use in migration", "x-looker-nullable": true }, "attributes": { "type": "object", - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "readOnly": true, "description": "Dictionary of user's attributes (name/value)", "x-looker-nullable": true @@ -23480,7 +28014,9 @@ }, "groups": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Array of user's groups (group names only)", "x-looker-nullable": true @@ -23505,7 +28041,9 @@ }, "roles": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Array of user's roles (role names only)", "x-looker-nullable": true @@ -23524,7 +28062,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -23649,7 +28189,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -23687,7 +28229,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -23879,7 +28423,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -24083,7 +28629,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -24270,7 +28818,9 @@ }, "dashboards": { "type": "array", - "items": { "$ref": "#/definitions/DashboardBase" }, + "items": { + "$ref": "#/definitions/DashboardBase" + }, "readOnly": true, "description": "Dashboards", "x-looker-nullable": true @@ -24365,7 +28915,9 @@ }, "scopes": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Scopes", "x-looker-nullable": true @@ -24447,7 +28999,9 @@ }, "files": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "List of model source files", "x-looker-nullable": true @@ -24490,7 +29044,9 @@ }, "access_filter_fields": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "x-looker-deprecated": true, "description": "(DEPRECATED) Array of access filter field names", @@ -24498,21 +29054,27 @@ }, "access_filters": { "type": "array", - "items": { "$ref": "#/definitions/LookmlModelExploreAccessFilter" }, + "items": { + "$ref": "#/definitions/LookmlModelExploreAccessFilter" + }, "readOnly": true, "description": "Access filters", "x-looker-nullable": true }, "aliases": { "type": "array", - "items": { "$ref": "#/definitions/LookmlModelExploreAlias" }, + "items": { + "$ref": "#/definitions/LookmlModelExploreAlias" + }, "readOnly": true, "description": "Aliases", "x-looker-nullable": true }, "always_filter": { "type": "array", - "items": { "$ref": "#/definitions/LookmlModelExploreAlwaysFilter" }, + "items": { + "$ref": "#/definitions/LookmlModelExploreAlwaysFilter" + }, "readOnly": true, "description": "Always filter", "x-looker-nullable": true @@ -24528,28 +29090,36 @@ }, "index_fields": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Array of index fields", "x-looker-nullable": true }, "sets": { "type": "array", - "items": { "$ref": "#/definitions/LookmlModelExploreSet" }, + "items": { + "$ref": "#/definitions/LookmlModelExploreSet" + }, "readOnly": true, "description": "Sets", "x-looker-nullable": true }, "tags": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "An array of arbitrary string tags provided in the model for this explore.", "x-looker-nullable": true }, "errors": { "type": "array", - "items": { "$ref": "#/definitions/LookmlModelExploreError" }, + "items": { + "$ref": "#/definitions/LookmlModelExploreError" + }, "readOnly": true, "description": "Errors", "x-looker-nullable": true @@ -24562,7 +29132,9 @@ }, "joins": { "type": "array", - "items": { "$ref": "#/definitions/LookmlModelExploreJoins" }, + "items": { + "$ref": "#/definitions/LookmlModelExploreJoins" + }, "readOnly": true, "description": "Views joined into this explore", "x-looker-nullable": true @@ -24594,7 +29166,9 @@ }, "measure_types": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "x-looker-nullable": true } @@ -24679,7 +29253,9 @@ }, "value": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Value set", "x-looker-nullable": true @@ -24721,28 +29297,36 @@ "properties": { "dimensions": { "type": "array", - "items": { "$ref": "#/definitions/LookmlModelExploreField" }, + "items": { + "$ref": "#/definitions/LookmlModelExploreField" + }, "readOnly": true, "description": "Array of dimensions", "x-looker-nullable": true }, "measures": { "type": "array", - "items": { "$ref": "#/definitions/LookmlModelExploreField" }, + "items": { + "$ref": "#/definitions/LookmlModelExploreField" + }, "readOnly": true, "description": "Array of measures", "x-looker-nullable": true }, "filters": { "type": "array", - "items": { "$ref": "#/definitions/LookmlModelExploreField" }, + "items": { + "$ref": "#/definitions/LookmlModelExploreField" + }, "readOnly": true, "description": "Array of filters", "x-looker-nullable": true }, "parameters": { "type": "array", - "items": { "$ref": "#/definitions/LookmlModelExploreField" }, + "items": { + "$ref": "#/definitions/LookmlModelExploreField" + }, "readOnly": true, "description": "Array of parameters", "x-looker-nullable": true @@ -24755,7 +29339,10 @@ "align": { "type": "string", "readOnly": true, - "x-looker-values": ["left", "right"], + "x-looker-values": [ + "left", + "right" + ], "description": "The appropriate horizontal text alignment the values of this field should be displayed in. Valid values are: \"left\", \"right\".", "x-looker-nullable": false }, @@ -24768,7 +29355,12 @@ "category": { "type": "string", "readOnly": true, - "x-looker-values": ["parameter", "filter", "measure", "dimension"], + "x-looker-values": [ + "parameter", + "filter", + "measure", + "dimension" + ], "description": "Field category Valid values are: \"parameter\", \"filter\", \"measure\", \"dimension\".", "x-looker-nullable": true }, @@ -24820,7 +29412,10 @@ "fill_style": { "type": "string", "readOnly": true, - "x-looker-values": ["enumeration", "range"], + "x-looker-values": [ + "enumeration", + "range" + ], "description": "The style of dimension fill that is possible for this field. Null if no dimension fill is possible. Valid values are: \"enumeration\", \"range\".", "x-looker-nullable": true }, @@ -24989,7 +29584,9 @@ }, "sql_case": { "type": "array", - "items": { "$ref": "#/definitions/LookmlModelExploreFieldSqlCase" }, + "items": { + "$ref": "#/definitions/LookmlModelExploreFieldSqlCase" + }, "readOnly": true, "description": "An array of conditions and values that make up a SQL Case expression, as defined in the LookML model. The SQL syntax shown here is a representation intended for auditability, and is not neccessarily an exact match for what will ultimately be run in the database. It may contain special LookML syntax or annotations that are not valid SQL. This will be null if the current user does not have the see_lookml permission for the field's model.", "x-looker-nullable": true @@ -25023,14 +29620,18 @@ }, "suggestions": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "If available, a list of suggestions for this field. For most fields, a suggest query is a more appropriate way to get an up-to-date list of suggestions. Or use enumerations to list all the possible values.", "x-looker-nullable": true }, "tags": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "An array of arbitrary string tags provided in the model for this field.", "x-looker-nullable": false @@ -25043,7 +29644,9 @@ }, "user_attribute_filter_types": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "x-looker-values": [ "advanced_filter_string", @@ -25120,8 +29723,13 @@ "type": "string", "format": "any", "x-looker-polymorphic-types": [ - { "type": "string" }, - { "type": "number", "format": "float" } + { + "type": "string" + }, + { + "type": "number", + "format": "float" + } ], "readOnly": true, "description": "Value", @@ -25235,7 +29843,10 @@ "format": { "type": "string", "readOnly": true, - "x-looker-values": ["topojson", "vector_tile_region"], + "x-looker-values": [ + "topojson", + "vector_tile_region" + ], "description": "Specifies the data format of the region information. Valid values are: \"topojson\", \"vector_tile_region\".", "x-looker-nullable": false }, @@ -25272,14 +29883,18 @@ }, "dependent_fields": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Fields referenced by the join", "x-looker-nullable": true }, "fields": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Fields of the joined view to pull into this explore", "x-looker-nullable": true @@ -25310,7 +29925,9 @@ }, "required_joins": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Names of joins that must always be included in SQL queries", "x-looker-nullable": true @@ -25352,20 +29969,26 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false }, "allowed_db_connection_names": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Array of names of connections this model is allowed to use", "x-looker-nullable": true }, "explores": { "type": "array", - "items": { "$ref": "#/definitions/LookmlModelNavExplore" }, + "items": { + "$ref": "#/definitions/LookmlModelNavExplore" + }, "readOnly": true, "description": "Array of explores (if has_content)", "x-looker-nullable": true @@ -25404,7 +30027,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -25453,7 +30078,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -25486,14 +30113,18 @@ }, "errors": { "type": "array", - "items": { "$ref": "#/definitions/ProjectError" }, + "items": { + "$ref": "#/definitions/ProjectError" + }, "readOnly": true, "description": "A list of any errors encountered by the test.", "x-looker-nullable": true }, "warnings": { "type": "array", - "items": { "$ref": "#/definitions/ProjectError" }, + "items": { + "$ref": "#/definitions/ProjectError" + }, "readOnly": true, "description": "A list of any warnings encountered by the test.", "x-looker-nullable": true @@ -25511,7 +30142,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -25524,7 +30157,9 @@ }, "imports": { "type": "array", - "items": { "$ref": "#/definitions/ImportedProject" }, + "items": { + "$ref": "#/definitions/ImportedProject" + }, "readOnly": true, "description": "Imports for a project", "x-looker-nullable": true @@ -25542,7 +30177,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -25565,7 +30202,9 @@ }, "pivots": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Pivots", "x-looker-nullable": true }, @@ -25578,13 +30217,17 @@ }, "sorts": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Sorts", "x-looker-nullable": true }, "source_queries": { "type": "array", - "items": { "$ref": "#/definitions/MergeQuerySourceQuery" }, + "items": { + "$ref": "#/definitions/MergeQuerySourceQuery" + }, "description": "Source Queries defining the results to be merged.", "x-looker-nullable": true }, @@ -25595,7 +30238,9 @@ }, "vis_config": { "type": "object", - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "description": "Visualization Config", "x-looker-nullable": true } @@ -25606,7 +30251,9 @@ "properties": { "merge_fields": { "type": "array", - "items": { "$ref": "#/definitions/MergeFields" }, + "items": { + "$ref": "#/definitions/MergeFields" + }, "description": "An array defining which fields of the source query are mapped onto fields of the merge query", "x-looker-nullable": true }, @@ -25660,7 +30307,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -25684,7 +30333,9 @@ }, "models": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "x-looker-nullable": true }, "name": { @@ -25706,7 +30357,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -25752,7 +30405,9 @@ }, "activated_users": { "type": "array", - "items": { "$ref": "#/definitions/UserPublic" }, + "items": { + "$ref": "#/definitions/UserPublic" + }, "readOnly": true, "description": "All users who have been activated to use this app", "x-looker-nullable": false @@ -25764,7 +30419,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -25792,28 +30449,38 @@ }, "default_new_user_group_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "x-looker-write-only": true, "description": "(Write-Only) Array of ids of groups that will be applied to new users the first time they login via OIDC", "x-looker-nullable": true }, "default_new_user_groups": { "type": "array", - "items": { "$ref": "#/definitions/Group" }, + "items": { + "$ref": "#/definitions/Group" + }, "readOnly": true, "description": "(Read-only) Groups that will be applied to new users the first time they login via OIDC", "x-looker-nullable": true }, "default_new_user_role_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "x-looker-write-only": true, "description": "(Write-Only) Array of ids of roles that will be applied to new users the first time they login via OIDC", "x-looker-nullable": true }, "default_new_user_roles": { "type": "array", - "items": { "$ref": "#/definitions/Role" }, + "items": { + "$ref": "#/definitions/Role" + }, "readOnly": true, "description": "(Read-only) Roles that will be applied to new users the first time they login via OIDC", "x-looker-nullable": true @@ -25825,7 +30492,9 @@ }, "groups": { "type": "array", - "items": { "$ref": "#/definitions/OIDCGroupRead" }, + "items": { + "$ref": "#/definitions/OIDCGroupRead" + }, "readOnly": true, "description": "(Read-only) Array of mappings between OIDC Groups and Looker Roles", "x-looker-nullable": true @@ -25837,7 +30506,9 @@ }, "groups_with_role_ids": { "type": "array", - "items": { "$ref": "#/definitions/OIDCGroupWrite" }, + "items": { + "$ref": "#/definitions/OIDCGroupWrite" + }, "description": "(Read/Write) Array of mappings between OIDC Groups and arrays of Looker Role ids", "x-looker-nullable": true }, @@ -25872,7 +30543,9 @@ }, "scopes": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Array of scopes to request.", "x-looker-nullable": true }, @@ -25915,14 +30588,18 @@ }, "user_attributes": { "type": "array", - "items": { "$ref": "#/definitions/OIDCUserAttributeRead" }, + "items": { + "$ref": "#/definitions/OIDCUserAttributeRead" + }, "readOnly": true, "description": "(Read-only) Array of mappings between OIDC User Attributes and Looker User Attributes", "x-looker-nullable": true }, "user_attributes_with_ids": { "type": "array", - "items": { "$ref": "#/definitions/OIDCUserAttributeWrite" }, + "items": { + "$ref": "#/definitions/OIDCUserAttributeWrite" + }, "description": "(Read/Write) Array of mappings between OIDC User Attributes and arrays of Looker User Attribute ids", "x-looker-nullable": true }, @@ -25987,7 +30664,9 @@ }, "roles": { "type": "array", - "items": { "$ref": "#/definitions/Role" }, + "items": { + "$ref": "#/definitions/Role" + }, "readOnly": true, "description": "Looker Roles", "x-looker-nullable": true @@ -26022,7 +30701,10 @@ }, "role_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "Looker Role Ids", "x-looker-nullable": true } @@ -26045,7 +30727,9 @@ }, "user_attributes": { "type": "array", - "items": { "$ref": "#/definitions/UserAttribute" }, + "items": { + "$ref": "#/definitions/UserAttribute" + }, "readOnly": true, "description": "Looker User Attributes", "x-looker-nullable": true @@ -26067,7 +30751,10 @@ }, "user_attribute_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "Looker User Attribute Ids", "x-looker-nullable": true } @@ -26078,7 +30765,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -26111,7 +30800,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -26141,7 +30832,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -26170,7 +30863,9 @@ }, "permissions": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "x-looker-nullable": true }, "url": { @@ -26187,7 +30882,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -26247,7 +30944,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -26290,10 +30989,10 @@ "description": "Git production branch name. Defaults to master. Supported only in Looker 21.0 and higher.", "x-looker-nullable": false }, - "git_auth_cookie": { - "type": "string", - "description": "Git http cookie file path.", - "x-looker-nullable": true + "use_git_cookie_auth": { + "type": "boolean", + "description": "If true, the project uses a git cookie for authentication.", + "x-looker-nullable": false }, "git_username_user_attribute": { "type": "string", @@ -26318,7 +31017,10 @@ }, "git_application_server_http_scheme": { "type": "string", - "x-looker-values": ["http", "https"], + "x-looker-values": [ + "http", + "https" + ], "description": "Scheme that is running on application server (for PRs, file browsing, etc.) Valid values are: \"http\", \"https\".", "x-looker-nullable": true }, @@ -26336,7 +31038,12 @@ }, "pull_request_mode": { "type": "string", - "x-looker-values": ["off", "links", "recommended", "required"], + "x-looker-values": [ + "off", + "links", + "recommended", + "required" + ], "description": "The git pull request policy for this project. Valid values are: \"off\", \"links\", \"recommended\", \"required\".", "x-looker-nullable": false }, @@ -26434,7 +31141,9 @@ }, "params": { "type": "object", - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "readOnly": true, "description": "Error parameters", "x-looker-nullable": true @@ -26469,7 +31178,9 @@ "properties": { "errors": { "type": "array", - "items": { "$ref": "#/definitions/ProjectError" }, + "items": { + "$ref": "#/definitions/ProjectError" + }, "readOnly": true, "description": "A list of project errors", "x-looker-nullable": true @@ -26482,7 +31193,9 @@ }, "models_not_validated": { "type": "array", - "items": { "$ref": "#/definitions/ModelsNotValidated" }, + "items": { + "$ref": "#/definitions/ModelsNotValidated" + }, "readOnly": true, "description": "A list of models which were not fully validated", "x-looker-nullable": true @@ -26501,7 +31214,9 @@ "properties": { "errors": { "type": "array", - "items": { "$ref": "#/definitions/ProjectError" }, + "items": { + "$ref": "#/definitions/ProjectError" + }, "readOnly": true, "description": "A list of project errors", "x-looker-nullable": true @@ -26514,7 +31229,9 @@ }, "models_not_validated": { "type": "array", - "items": { "$ref": "#/definitions/ModelsNotValidated" }, + "items": { + "$ref": "#/definitions/ModelsNotValidated" + }, "readOnly": true, "description": "A list of models which were not fully validated", "x-looker-nullable": true @@ -26539,7 +31256,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -26599,7 +31318,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -26623,25 +31344,33 @@ }, "fields": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Fields", "x-looker-nullable": true }, "pivots": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Pivots", "x-looker-nullable": true }, "fill_fields": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Fill Fields", "x-looker-nullable": true }, "filters": { "type": "object", - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "description": "Filters", "x-looker-nullable": true }, @@ -26652,7 +31381,9 @@ }, "sorts": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Sorting for the query results. Use the format `[\"view.field\", ...]` to sort on fields in ascending order. Use the format `[\"view.field desc\", ...]` to sort on fields in descending order. Use `[\"__UNSORTED__\"]` (2 underscores before and after) to disable sorting entirely. Empty sorts `[]` will trigger a default sort.", "x-looker-nullable": true }, @@ -26678,19 +31409,27 @@ }, "subtotals": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Fields on which to run subtotals", "x-looker-nullable": true }, "vis_config": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "description": "Visualization configuration properties. These properties are typically opaque and differ based on the type of visualization used. There is no specified set of allowed keys. The values can be any type supported by JSON. A \"type\" key with a string value is often present, and is used by Looker to determine which visualization to present. Visualizations ignore unknown vis_config properties.", "x-looker-nullable": true }, "filter_config": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "description": "The filter_config represents the state of the filter UI on the explore page for a given query. When running a query via the Looker UI, this parameter takes precedence over \"filters\". When creating a query or modifying an existing query, \"filter_config\" should be set to null. Setting it to any other value could cause unexpected filtering behavior. The format should be considered opaque.", "x-looker-nullable": true }, @@ -26746,13 +31485,18 @@ } }, "x-looker-status": "stable", - "required": ["model", "view"] + "required": [ + "model", + "view" + ] }, "CreateQueryTask": { "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -26803,13 +31547,18 @@ } }, "x-looker-status": "stable", - "required": ["query_id", "result_format"] + "required": [ + "query_id", + "result_format" + ] }, "QueryTask": { "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -26920,7 +31669,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -27064,7 +31815,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -27149,7 +31902,9 @@ }, "listen": { "type": "array", - "items": { "$ref": "#/definitions/ResultMakerFilterablesListen" }, + "items": { + "$ref": "#/definitions/ResultMakerFilterablesListen" + }, "readOnly": true, "description": "array of dashboard_filter_name: and field: objects.", "x-looker-nullable": true @@ -27174,14 +31929,18 @@ }, "filterables": { "type": "array", - "items": { "$ref": "#/definitions/ResultMakerFilterables" }, + "items": { + "$ref": "#/definitions/ResultMakerFilterables" + }, "readOnly": true, "description": "array of items that can be filtered and information about them.", "x-looker-nullable": true }, "sorts": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Sorts of the constituent Look, Query, or Merge Query", "x-looker-nullable": true @@ -27219,7 +31978,9 @@ }, "vis_config": { "type": "object", - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "readOnly": true, "description": "Vis config of the constituent Query, or Merge Query.", "x-looker-nullable": true @@ -27231,7 +31992,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -27303,7 +32066,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -27437,7 +32202,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -27518,28 +32285,38 @@ }, "default_new_user_roles": { "type": "array", - "items": { "$ref": "#/definitions/Role" }, + "items": { + "$ref": "#/definitions/Role" + }, "readOnly": true, "description": "(Read-only) Roles that will be applied to new users the first time they login via Saml", "x-looker-nullable": true }, "default_new_user_groups": { "type": "array", - "items": { "$ref": "#/definitions/Group" }, + "items": { + "$ref": "#/definitions/Group" + }, "readOnly": true, "description": "(Read-only) Groups that will be applied to new users the first time they login via Saml", "x-looker-nullable": true }, "default_new_user_role_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "x-looker-write-only": true, "description": "(Write-Only) Array of ids of roles that will be applied to new users the first time they login via Saml", "x-looker-nullable": true }, "default_new_user_group_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "x-looker-write-only": true, "description": "(Write-Only) Array of ids of groups that will be applied to new users the first time they login via Saml", "x-looker-nullable": true @@ -27556,14 +32333,18 @@ }, "groups": { "type": "array", - "items": { "$ref": "#/definitions/SamlGroupRead" }, + "items": { + "$ref": "#/definitions/SamlGroupRead" + }, "readOnly": true, "description": "(Read-only) Array of mappings between Saml Groups and Looker Roles", "x-looker-nullable": true }, "groups_with_role_ids": { "type": "array", - "items": { "$ref": "#/definitions/SamlGroupWrite" }, + "items": { + "$ref": "#/definitions/SamlGroupWrite" + }, "description": "(Read/Write) Array of mappings between Saml Groups and arrays of Looker Role ids", "x-looker-nullable": true }, @@ -27574,14 +32355,18 @@ }, "user_attributes": { "type": "array", - "items": { "$ref": "#/definitions/SamlUserAttributeRead" }, + "items": { + "$ref": "#/definitions/SamlUserAttributeRead" + }, "readOnly": true, "description": "(Read-only) Array of mappings between Saml User Attributes and Looker User Attributes", "x-looker-nullable": true }, "user_attributes_with_ids": { "type": "array", - "items": { "$ref": "#/definitions/SamlUserAttributeWrite" }, + "items": { + "$ref": "#/definitions/SamlUserAttributeWrite" + }, "description": "(Read/Write) Array of mappings between Saml User Attributes and arrays of Looker User Attribute ids", "x-looker-nullable": true }, @@ -27655,7 +32440,9 @@ }, "roles": { "type": "array", - "items": { "$ref": "#/definitions/Role" }, + "items": { + "$ref": "#/definitions/Role" + }, "readOnly": true, "description": "Looker Roles", "x-looker-nullable": true @@ -27697,7 +32484,10 @@ }, "role_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "Looker Role Ids", "x-looker-nullable": true }, @@ -27715,7 +32505,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -27757,7 +32549,9 @@ }, "user_attributes": { "type": "array", - "items": { "$ref": "#/definitions/UserAttribute" }, + "items": { + "$ref": "#/definitions/UserAttribute" + }, "readOnly": true, "description": "Looker User Attributes", "x-looker-nullable": true @@ -27786,7 +32580,10 @@ }, "user_attribute_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "description": "Looker User Attribute Ids", "x-looker-nullable": true }, @@ -27958,7 +32755,9 @@ }, "scheduled_plan_destination": { "type": "array", - "items": { "$ref": "#/definitions/ScheduledPlanDestination" }, + "items": { + "$ref": "#/definitions/ScheduledPlanDestination" + }, "description": "Scheduled plan destinations", "x-looker-nullable": true }, @@ -28099,7 +32898,9 @@ }, "scheduled_plan_destination": { "type": "array", - "items": { "$ref": "#/definitions/ScheduledPlanDestination" }, + "items": { + "$ref": "#/definitions/ScheduledPlanDestination" + }, "description": "Scheduled plan destinations", "x-looker-nullable": true }, @@ -28193,7 +32994,9 @@ }, "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -28254,7 +33057,9 @@ }, "snippets": { "type": "array", - "items": { "$ref": "#/definitions/Snippet" }, + "items": { + "$ref": "#/definitions/Snippet" + }, "readOnly": true, "description": "SQL Runner snippets for this connection", "x-looker-nullable": false @@ -28297,7 +33102,9 @@ }, "snippets": { "type": "array", - "items": { "$ref": "#/definitions/Snippet" }, + "items": { + "$ref": "#/definitions/Snippet" + }, "readOnly": true, "description": "SQL Runner snippets for connection", "x-looker-nullable": false @@ -28439,7 +33246,9 @@ }, "tables": { "type": "array", - "items": { "$ref": "#/definitions/SchemaTable" }, + "items": { + "$ref": "#/definitions/SchemaTable" + }, "readOnly": true, "description": "Tables for this schema", "x-looker-nullable": false @@ -28469,7 +33278,9 @@ }, "columns": { "type": "array", - "items": { "$ref": "#/definitions/SchemaColumn" }, + "items": { + "$ref": "#/definitions/SchemaColumn" + }, "readOnly": true, "description": "Columns for this schema", "x-looker-nullable": false @@ -28551,7 +33362,9 @@ "properties": { "suggestions": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "List of suggestions", "x-looker-nullable": false @@ -28587,7 +33400,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -28625,7 +33440,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -28769,7 +33586,10 @@ }, "vis_config": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "description": "Visualization configuration properties. These properties are typically opaque and differ based on the type of visualization used. There is no specified set of allowed keys. The values can be any type supported by JSON. A \"type\" key with a string value is often present, and is used by Looker to determine which visualization to present. Visualizations ignore unknown vis_config properties.", "x-looker-nullable": true } @@ -28780,7 +33600,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -28856,7 +33678,10 @@ }, "vis_config": { "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, + "additionalProperties": { + "type": "string", + "format": "any" + }, "description": "Visualization configuration properties. These properties are typically opaque and differ based on the type of visualization used. There is no specified set of allowed keys. The values can be any type supported by JSON. A \"type\" key with a string value is often present, and is used by Looker to determine which visualization to present. Visualizations ignore unknown vis_config properties.", "x-looker-nullable": true }, @@ -29101,7 +33926,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -29165,7 +33992,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -29236,7 +34065,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -29288,7 +34119,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -29362,7 +34195,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -29431,7 +34266,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -29452,7 +34289,9 @@ }, "credentials_api3": { "type": "array", - "items": { "$ref": "#/definitions/CredentialsApi3" }, + "items": { + "$ref": "#/definitions/CredentialsApi3" + }, "readOnly": true, "description": "API 3 credentials", "x-looker-nullable": true @@ -29465,7 +34304,9 @@ }, "credentials_embed": { "type": "array", - "items": { "$ref": "#/definitions/CredentialsEmbed" }, + "items": { + "$ref": "#/definitions/CredentialsEmbed" + }, "readOnly": true, "description": "Embed credentials", "x-looker-nullable": true @@ -29532,7 +34373,10 @@ }, "group_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "readOnly": true, "description": "Array of ids of the groups for this user", "x-looker-nullable": true @@ -29566,7 +34410,9 @@ }, "looker_versions": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "readOnly": true, "description": "Array of strings representing the Looker versions that this user has used (this only goes back as far as '3.54.0')", "x-looker-nullable": true @@ -29591,21 +34437,28 @@ }, "role_ids": { "type": "array", - "items": { "type": "integer", "format": "int64" }, + "items": { + "type": "integer", + "format": "int64" + }, "readOnly": true, "description": "Array of ids of the roles for this user", "x-looker-nullable": true }, "sessions": { "type": "array", - "items": { "$ref": "#/definitions/Session" }, + "items": { + "$ref": "#/definitions/Session" + }, "readOnly": true, "description": "Active sessions", "x-looker-nullable": true }, "ui_state": { "type": "object", - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "description": "Per user dictionary of undocumented state information owned by the Looker UI.", "x-looker-nullable": true }, @@ -29653,7 +34506,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -29746,7 +34601,9 @@ }, "supported_versions": { "type": "array", - "items": { "$ref": "#/definitions/ApiVersionElement" }, + "items": { + "$ref": "#/definitions/ApiVersionElement" + }, "readOnly": true, "description": "Array of versions supported by this Looker instance", "x-looker-nullable": false @@ -29784,7 +34641,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -29880,7 +34739,9 @@ "properties": { "can": { "type": "object", - "additionalProperties": { "type": "boolean" }, + "additionalProperties": { + "type": "boolean" + }, "readOnly": true, "description": "Operations the current user is able to perform on this object", "x-looker-nullable": false @@ -29893,7 +34754,9 @@ }, "projects": { "type": "array", - "items": { "$ref": "#/definitions/Project" }, + "items": { + "$ref": "#/definitions/Project" + }, "readOnly": true, "description": "The local state of each project in the workspace", "x-looker-nullable": true @@ -29902,4 +34765,4 @@ "x-looker-status": "stable" } } -} +} \ No newline at end of file diff --git a/spec/Looker.4.0.oas.json b/spec/Looker.4.0.oas.json index 3c172efbb..b61668468 100644 --- a/spec/Looker.4.0.oas.json +++ b/spec/Looker.4.0.oas.json @@ -1,35749 +1 @@ -{ - "openapi": "3.0.0", - "info": { - "version": "4.0.21.3", - "x-looker-release-version": "21.3.0", - "title": "Looker API 4.0 (Experimental) Reference", - "description": "\nWelcome to the future! This is an early preview of our next-generation Looker API 4.0.\nAPI 4.0 runs alongside APIs 3.1 and 3.0. We've tagged 4.0 as \"experimental\" to reflect\nthat we have more work planned for API 4.0 which may include breaking changes.\nPlease pardon our dust while we remodel a few rooms!\n\n### In This Release\n\nWe're spinning up this new API 4.0 version so that we can make adjustments to our API\nfunctions, parameters, and response types to fix bugs and inconsistencies. These changes\nfall outside the bounds of non-breaking additive changes we can make to our stable API 3.1.\n\nOne benefit of these type adjustments in API 4.0 is dramatically better support for strongly\ntyped languages like TypeScript, Kotlin, Java, and more. Looker is also creating client SDKs\nto call the Looker API from these and other languages. These client SDKs will be available\nas pre-built packages for download from public repositories such as npmjs.org, RubyGems.org,\nPyPi.org. If you use an IDE for software development, you will soon be able to install a\nLooker SDK for your programming language with the click of a button!\n\nWhile API 3.1 is still the defacto Looker API (\"current\", \"stable\", \"default\", etc), the bulk\nof our development activity will gradually shift to API 4.0.\n\n", - "contact": { "name": "Looker Team", "url": "https://help.looker.com" }, - "license": { "name": "EULA", "url": "http://localhost:9999/eula" } - }, - "tags": [ - { "name": "ApiAuth", "description": "API Authentication" }, - { - "name": "Auth", - "description": "Manage User Authentication Configuration" - }, - { "name": "Board", "description": "Manage Boards" }, - { "name": "ColorCollection", "description": "Manage Color Collections" }, - { "name": "Command", "description": "Manage Commands" }, - { "name": "Config", "description": "Manage General Configuration" }, - { "name": "Connection", "description": "Manage Database Connections" }, - { "name": "Content", "description": "Manage Content" }, - { "name": "Dashboard", "description": "Manage Dashboards" }, - { "name": "DataAction", "description": "Run Data Actions" }, - { "name": "Datagroup", "description": "Manage Datagroups" }, - { "name": "Folder", "description": "Manage Folders" }, - { "name": "Group", "description": "Manage Groups" }, - { "name": "Homepage", "description": "Manage Homepage" }, - { "name": "Integration", "description": "Manage Integrations" }, - { "name": "Look", "description": "Run and Manage Looks" }, - { "name": "LookmlModel", "description": "Manage LookML Models" }, - { "name": "Metadata", "description": "Connection Metadata Features" }, - { "name": "Project", "description": "Manage Projects" }, - { "name": "Query", "description": "Run and Manage Queries" }, - { "name": "RenderTask", "description": "Manage Render Tasks" }, - { "name": "Role", "description": "Manage Roles" }, - { "name": "ScheduledPlan", "description": "Manage Scheduled Plans" }, - { "name": "Session", "description": "Session Information" }, - { "name": "Theme", "description": "Manage Themes" }, - { "name": "User", "description": "Manage Users" }, - { "name": "UserAttribute", "description": "Manage User Attributes" }, - { "name": "Workspace", "description": "Manage Workspaces" } - ], - "paths": { - "/query_tasks": { - "post": { - "tags": ["Query"], - "operationId": "create_query_task", - "summary": "Run Query Async", - "description": "### Create an async query task\n\nCreates a query task (job) to run a previously created query asynchronously. Returns a Query Task ID.\n\nUse [query_task(query_task_id)](#!/Query/query_task) to check the execution status of the query task.\nAfter the query task status reaches \"Complete\", use [query_task_results(query_task_id)](#!/Query/query_task_results) to fetch the results of the query.\n", - "parameters": [ - { - "name": "limit", - "in": "query", - "description": "Row limit (may override the limit in the saved query).", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "apply_formatting", - "in": "query", - "description": "Apply model-specified formatting to each result.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "apply_vis", - "in": "query", - "description": "Apply visualization options to results.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "cache", - "in": "query", - "description": "Get results from cache if available.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "image_width", - "in": "query", - "description": "Render width for image formats.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "image_height", - "in": "query", - "description": "Render height for image formats.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "generate_drill_links", - "in": "query", - "description": "Generate drill links (only applicable to 'json_detail' format.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "force_production", - "in": "query", - "description": "Force use of production models even if the user is in development mode.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "cache_only", - "in": "query", - "description": "Retrieve any results from cache even if the results have expired.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "path_prefix", - "in": "query", - "description": "Prefix to use for drill links (url encoded).", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "rebuild_pdts", - "in": "query", - "description": "Rebuild PDTS used in query.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "server_table_calcs", - "in": "query", - "description": "Perform table calculations on query results", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CreateQueryTask" } - } - }, - "description": "Query parameters", - "required": true - }, - "responses": { - "200": { - "description": "query_task", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/QueryTask" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query" - } - }, - "/query_tasks/multi_results": { - "get": { - "tags": ["Query"], - "operationId": "query_task_multi_results", - "summary": "Get Multiple Async Query Results", - "description": "### Fetch results of multiple async queries\n\nReturns the results of multiple async queries in one request.\n\nFor Query Tasks that are not completed, the response will include the execution status of the Query Task but will not include query results.\nQuery Tasks whose results have expired will have a status of 'expired'.\nIf 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'\n", - "parameters": [ - { - "name": "query_task_ids", - "in": "query", - "description": "List of Query Task IDs", - "required": true, - "style": "simple", - "explode": false, - "schema": { "type": "array", "items": { "type": "string" } } - } - ], - "responses": { - "200": { - "description": "Multiple query results", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": { "type": "string" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query" - } - }, - "/query_tasks/{query_task_id}": { - "get": { - "tags": ["Query"], - "operationId": "query_task", - "summary": "Get Async Query Info", - "description": "### Get Query Task details\n\nUse this function to check the status of an async query task. After the status\nreaches \"Complete\", you can call [query_task_results(query_task_id)](#!/Query/query_task_results) to\nretrieve the results of the query.\n\nUse [create_query_task()](#!/Query/create_query_task) to create an async query task.\n", - "parameters": [ - { - "name": "query_task_id", - "in": "path", - "description": "ID of the Query Task", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "query_task", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/QueryTask" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query" - } - }, - "/query_tasks/{query_task_id}/results": { - "get": { - "tags": ["Query"], - "operationId": "query_task_results", - "summary": "Get Async Query Results", - "description": "### Get Async Query Results\n\nReturns the results of an async query task if the query has completed.\n\nIf the query task is still running or waiting to run, this function returns 204 No Content.\n\nIf the query task ID is invalid or the cached results of the query task have expired, this function returns 404 Not Found.\n\nUse [query_task(query_task_id)](#!/Query/query_task) to check the execution status of the query task\nCall query_task_results only after the query task status reaches \"Complete\".\n\nYou can also use [query_task_multi_results()](#!/Query/query_task_multi_results) retrieve the\nresults of multiple async query tasks at the same time.\n\n#### SQL Error Handling:\nIf the query fails due to a SQL db error, how this is communicated depends on the result_format you requested in `create_query_task()`.\n\nFor `json_detail` result_format: `query_task_results()` will respond with HTTP status '200 OK' and db SQL error info\nwill be in the `errors` property of the response object. The 'data' property will be empty.\n\nFor all other result formats: `query_task_results()` will respond with HTTP status `400 Bad Request` and some db SQL error info\nwill be in the message of the 400 error response, but not as detailed as expressed in `json_detail.errors`.\nThese data formats can only carry row data, and error info is not row data.\n", - "parameters": [ - { - "name": "query_task_id", - "in": "path", - "description": "ID of the Query Task", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "The query results.", - "content": { - "text": { "schema": { "type": "string" } }, - "application/json": { "schema": { "type": "string" } } - } - }, - "204": { - "description": "The query is not finished", - "content": { - "text": { "schema": { "type": "string" } }, - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "The Query Task Id was not found or the results have expired.", - "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query" - } - }, - "/queries/{query_id}": { - "get": { - "tags": ["Query"], - "operationId": "query", - "summary": "Get Query", - "description": "### Get a previously created query by id.\n\nA Looker query object includes the various parameters that define a database query that has been run or\ncould be run in the future. These parameters include: model, view, fields, filters, pivots, etc.\nQuery *results* are not part of the query object.\n\nQuery objects are unique and immutable. Query objects are created automatically in Looker as users explore data.\nLooker does not delete them; they become part of the query history. When asked to create a query for\nany given set of parameters, Looker will first try to find an existing query object with matching\nparameters and will only create a new object when an appropriate object can not be found.\n\nThis 'get' method is used to get the details about a query for a given id. See the other methods here\nto 'create' and 'run' queries.\n\nNote that some fields like 'filter_config' and 'vis_config' etc are specific to how the Looker UI\nbuilds queries and visualizations and are not generally useful for API use. They are not required when\ncreating new queries and can usually just be ignored.\n\n", - "parameters": [ - { - "name": "query_id", - "in": "path", - "description": "Id of query", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Query", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Query" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "db_query" - } - }, - "/queries/slug/{slug}": { - "get": { - "tags": ["Query"], - "operationId": "query_for_slug", - "summary": "Get Query for Slug", - "description": "### Get the query for a given query slug.\n\nThis returns the query for the 'slug' in a query share URL.\n\nThe 'slug' is a randomly chosen short string that is used as an alternative to the query's id value\nfor use in URLs etc. This method exists as a convenience to help you use the API to 'find' queries that\nhave been created using the Looker UI.\n\nYou can use the Looker explore page to build a query and then choose the 'Share' option to\nshow the share url for the query. Share urls generally look something like 'https://looker.yourcompany/x/vwGSbfc'.\nThe trailing 'vwGSbfc' is the share slug. You can pass that string to this api method to get details about the query.\nThose details include the 'id' that you can use to run the query. Or, you can copy the query body\n(perhaps with your own modification) and use that as the basis to make/run new queries.\n\nThis will also work with slugs from Looker explore urls like\n'https://looker.yourcompany/explore/ecommerce/orders?qid=aogBgL6o3cKK1jN3RoZl5s'. In this case\n'aogBgL6o3cKK1jN3RoZl5s' is the slug.\n", - "parameters": [ - { - "name": "slug", - "in": "path", - "description": "Slug of query", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Query", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Query" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "db_query" - } - }, - "/queries": { - "post": { - "tags": ["Query"], - "operationId": "create_query", - "summary": "Create Query", - "description": "### Create a query.\n\nThis allows you to create a new query that you can later run. Looker queries are immutable once created\nand are not deleted. If you create a query that is exactly like an existing query then the existing query\nwill be returned and no new query will be created. Whether a new query is created or not, you can use\nthe 'id' in the returned query with the 'run' method.\n\nThe query parameters are passed as json in the body of the request.\n\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Query" } - } - }, - "description": "Query", - "required": true - }, - "responses": { - "200": { - "description": "Query", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Query" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "db_query" - } - }, - "/queries/{query_id}/run/{result_format}": { - "get": { - "tags": ["Query"], - "operationId": "run_query", - "summary": "Run Query", - "description": "### Run a saved query.\n\nThis runs a previously saved query. You can use this on a query that was generated in the Looker UI\nor one that you have explicitly created using the API. You can also use a query 'id' from a saved 'Look'.\n\nThe 'result_format' parameter specifies the desired structure and format of the response.\n\nSupported formats:\n\n| result_format | Description\n| :-----------: | :--- |\n| json | Plain json\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| md | Simple markdown\n| xlsx | MS Excel spreadsheet\n| sql | Returns the generated SQL rather than running the query\n| png | A PNG image of the visualization of the query\n| jpg | A JPG image of the visualization of the query\n\n\n", - "parameters": [ - { - "name": "query_id", - "in": "path", - "description": "Id of query", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "result_format", - "in": "path", - "description": "Format of result", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "limit", - "in": "query", - "description": "Row limit (may override the limit in the saved query).", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "apply_formatting", - "in": "query", - "description": "Apply model-specified formatting to each result.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "apply_vis", - "in": "query", - "description": "Apply visualization options to results.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "cache", - "in": "query", - "description": "Get results from cache if available.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "image_width", - "in": "query", - "description": "Render width for image formats.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "image_height", - "in": "query", - "description": "Render height for image formats.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "generate_drill_links", - "in": "query", - "description": "Generate drill links (only applicable to 'json_detail' format.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "force_production", - "in": "query", - "description": "Force use of production models even if the user is in development mode.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "cache_only", - "in": "query", - "description": "Retrieve any results from cache even if the results have expired.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "path_prefix", - "in": "query", - "description": "Prefix to use for drill links (url encoded).", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "rebuild_pdts", - "in": "query", - "description": "Rebuild PDTS used in query.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "server_table_calcs", - "in": "query", - "description": "Perform table calculations on query results", - "required": false, - "schema": { "type": "boolean" } - } - ], - "responses": { - "200": { - "description": "Query", - "content": { - "text": { "schema": { "type": "string" } }, - "application/json": { "schema": { "type": "string" } }, - "image/png": { "schema": { "type": "string" } }, - "image/jpeg": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "text": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - }, - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - }, - "image/png": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - }, - "image/jpeg": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "db_query" - } - }, - "/queries/run/{result_format}": { - "post": { - "tags": ["Query"], - "operationId": "run_inline_query", - "summary": "Run Inline Query", - "description": "### Run the query that is specified inline in the posted body.\n\nThis allows running a query as defined in json in the posted body. This combines\nthe two actions of posting & running a query into one step.\n\nHere is an example body in json:\n```\n{\n \"model\":\"thelook\",\n \"view\":\"inventory_items\",\n \"fields\":[\"category.name\",\"inventory_items.days_in_inventory_tier\",\"products.count\"],\n \"filters\":{\"category.name\":\"socks\"},\n \"sorts\":[\"products.count desc 0\"],\n \"limit\":\"500\",\n \"query_timezone\":\"America/Los_Angeles\"\n}\n```\n\nWhen using the Ruby SDK this would be passed as a Ruby hash like:\n```\n{\n :model=>\"thelook\",\n :view=>\"inventory_items\",\n :fields=>\n [\"category.name\",\n \"inventory_items.days_in_inventory_tier\",\n \"products.count\"],\n :filters=>{:\"category.name\"=>\"socks\"},\n :sorts=>[\"products.count desc 0\"],\n :limit=>\"500\",\n :query_timezone=>\"America/Los_Angeles\",\n}\n```\n\nThis will return the result of running the query in the format specified by the 'result_format' parameter.\n\nSupported formats:\n\n| result_format | Description\n| :-----------: | :--- |\n| json | Plain json\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| md | Simple markdown\n| xlsx | MS Excel spreadsheet\n| sql | Returns the generated SQL rather than running the query\n| png | A PNG image of the visualization of the query\n| jpg | A JPG image of the visualization of the query\n\n\n", - "parameters": [ - { - "name": "result_format", - "in": "path", - "description": "Format of result", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "limit", - "in": "query", - "description": "Row limit (may override the limit in the saved query).", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "apply_formatting", - "in": "query", - "description": "Apply model-specified formatting to each result.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "apply_vis", - "in": "query", - "description": "Apply visualization options to results.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "cache", - "in": "query", - "description": "Get results from cache if available.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "image_width", - "in": "query", - "description": "Render width for image formats.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "image_height", - "in": "query", - "description": "Render height for image formats.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "generate_drill_links", - "in": "query", - "description": "Generate drill links (only applicable to 'json_detail' format.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "force_production", - "in": "query", - "description": "Force use of production models even if the user is in development mode.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "cache_only", - "in": "query", - "description": "Retrieve any results from cache even if the results have expired.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "path_prefix", - "in": "query", - "description": "Prefix to use for drill links (url encoded).", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "rebuild_pdts", - "in": "query", - "description": "Rebuild PDTS used in query.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "server_table_calcs", - "in": "query", - "description": "Perform table calculations on query results", - "required": false, - "schema": { "type": "boolean" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Query" } - } - }, - "description": "inline query", - "required": true - }, - "responses": { - "200": { - "description": "Query Result", - "content": { - "text": { "schema": { "type": "string" } }, - "application/json": { "schema": { "type": "string" } }, - "image/png": { "schema": { "type": "string" } }, - "image/jpeg": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "text": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - }, - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - }, - "image/png": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - }, - "image/jpeg": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "db_query" - } - }, - "/queries/models/{model_name}/views/{view_name}/run/{result_format}": { - "get": { - "tags": ["Query"], - "operationId": "run_url_encoded_query", - "summary": "Run Url Encoded Query", - "description": "### Run an URL encoded query.\n\nThis requires the caller to encode the specifiers for the query into the URL query part using\nLooker-specific syntax as explained below.\n\nGenerally, you would want to use one of the methods that takes the parameters as json in the POST body\nfor creating and/or running queries. This method exists for cases where one really needs to encode the\nparameters into the URL of a single 'GET' request. This matches the way that the Looker UI formats\n'explore' URLs etc.\n\nThe parameters here are very similar to the json body formatting except that the filter syntax is\ntricky. Unfortunately, this format makes this method not currently callable via the 'Try it out!' button\nin this documentation page. But, this is callable when creating URLs manually or when using the Looker SDK.\n\nHere is an example inline query URL:\n\n```\nhttps://looker.mycompany.com:19999/api/3.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\n```\n\nWhen invoking this endpoint with the Ruby SDK, pass the query parameter parts as a hash. The hash to match the above would look like:\n\n```ruby\nquery_params =\n{\n :fields => \"category.name,inventory_items.days_in_inventory_tier,products.count\",\n :\"f[category.name]\" => \"socks\",\n :sorts => \"products.count desc 0\",\n :limit => \"500\",\n :query_timezone => \"America/Los_Angeles\"\n}\nresponse = ruby_sdk.run_url_encoded_query('thelook','inventory_items','json', query_params)\n\n```\n\nAgain, it is generally easier to use the variant of this method that passes the full query in the POST body.\nThis method is available for cases where other alternatives won't fit the need.\n\nSupported formats:\n\n| result_format | Description\n| :-----------: | :--- |\n| json | Plain json\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| md | Simple markdown\n| xlsx | MS Excel spreadsheet\n| sql | Returns the generated SQL rather than running the query\n| png | A PNG image of the visualization of the query\n| jpg | A JPG image of the visualization of the query\n\n\n", - "parameters": [ - { - "name": "model_name", - "in": "path", - "description": "Model name", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "view_name", - "in": "path", - "description": "View name", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "result_format", - "in": "path", - "description": "Format of result", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Query", - "content": { - "text": { "schema": { "type": "string" } }, - "application/json": { "schema": { "type": "string" } }, - "image/png": { "schema": { "type": "string" } }, - "image/jpeg": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "text": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - }, - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - }, - "image/png": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - }, - "image/jpeg": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "db_query" - } - }, - "/login": { - "post": { - "tags": ["ApiAuth"], - "operationId": "login", - "summary": "Login", - "description": "### Present client credentials to obtain an authorization token\n\nLooker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://looker.com/docs/r/api/outh2_resource_owner_pc) pattern.\nThe client credentials required for this login must be obtained by creating an API3 key on a user account\nin the Looker Admin console. The API3 key consists of a public `client_id` and a private `client_secret`.\n\nThe access token returned by `login` must be used in the HTTP Authorization header of subsequent\nAPI requests, like this:\n```\nAuthorization: token 4QDkCyCtZzYgj4C2p2cj3csJH7zqS5RzKs2kTnG4\n```\nReplace \"4QDkCy...\" with the `access_token` value returned by `login`.\nThe word `token` is a string literal and must be included exactly as shown.\n\nThis 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.\n\nExample of passing credentials in the HTTP request body:\n````\nPOST HTTP /login\nContent-Type: application/x-www-form-urlencoded\n\nclient_id=CGc9B7v7J48dQSJvxxx&client_secret=nNVS9cSS3xNpSC9JdsBvvvvv\n````\n\n### Best Practice:\nAlways 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.\n\nFor more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API3](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md).\n", - "parameters": [ - { - "name": "client_id", - "in": "query", - "description": "client_id part of API3 Key.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "client_secret", - "in": "query", - "description": "client_secret part of API3 Key.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Access token with metadata.", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/AccessToken" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "none" - } - }, - "/login/{user_id}": { - "post": { - "tags": ["ApiAuth"], - "operationId": "login_user", - "summary": "Login user", - "description": "### Create an access token that runs as a given user.\n\nThis can only be called by an authenticated admin user. It allows that admin to generate a new\nauthentication token for the user with the given user id. That token can then be used for subsequent\nAPI calls - which are then performed *as* that target user.\n\nThe target user does *not* need to have a pre-existing API client_id/client_secret pair. And, no such\ncredentials are created by this call.\n\nThis allows for building systems where api user authentication for an arbitrary number of users is done\noutside of Looker and funneled through a single 'service account' with admin permissions. Note that a\nnew access token is generated on each call. If target users are going to be making numerous API\ncalls in a short period then it is wise to cache this authentication token rather than call this before\neach of those API calls.\n\nSee 'login' for more detail on the access token and how to use it.\n", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "Id of user.", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "associative", - "in": "query", - "description": "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.", - "required": false, - "schema": { "type": "boolean" } - } - ], - "responses": { - "200": { - "description": "Access token with metadata.", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/AccessToken" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "none" - } - }, - "/logout": { - "delete": { - "tags": ["ApiAuth"], - "operationId": "logout", - "summary": "Logout", - "description": "### Logout of the API and invalidate the current access token.\n", - "responses": { - "204": { - "description": "Logged out successfully.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "none" - } - }, - "/cloud_storage": { - "get": { - "tags": ["Config"], - "operationId": "cloud_storage_configuration", - "summary": "Get Cloud Storage", - "description": "Get the current Cloud Storage Configuration.\n", - "responses": { - "200": { - "description": "Current Cloud Storage Configuration", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BackupConfiguration" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Config"], - "operationId": "update_cloud_storage_configuration", - "summary": "Update Cloud Storage", - "description": "Update the current Cloud Storage Configuration.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BackupConfiguration" } - } - }, - "description": "Options for Cloud Storage Configuration", - "required": true - }, - "responses": { - "200": { - "description": "New state for specified model set.", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BackupConfiguration" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/color_collections": { - "get": { - "tags": ["ColorCollection"], - "operationId": "all_color_collections", - "summary": "Get all Color Collections", - "description": "### Get an array of all existing Color Collections\nGet a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n\nGet all **standard** color collections with [ColorCollection](#!/ColorCollection/color_collections_standard)\n\nGet all **custom** color collections with [ColorCollection](#!/ColorCollection/color_collections_custom)\n\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "ColorCollections", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/ColorCollection" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["ColorCollection"], - "operationId": "create_color_collection", - "summary": "Create ColorCollection", - "description": "### Create a custom color collection with the specified information\n\nCreates a new custom color collection object, returning the details, including the created id.\n\n**Update** an existing color collection with [Update Color Collection](#!/ColorCollection/update_color_collection)\n\n**Permanently delete** an existing custom color collection with [Delete Color Collection](#!/ColorCollection/delete_color_collection)\n\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", - "requestBody": { - "$ref": "#/components/requestBodies/ColorCollection", - "required": true - }, - "responses": { - "200": { - "description": "ColorCollection", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ColorCollection" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "403": { - "description": "Permission Denied", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/color_collections/custom": { - "get": { - "tags": ["ColorCollection"], - "operationId": "color_collections_custom", - "summary": "Get all Custom Color Collections", - "description": "### Get an array of all existing **Custom** Color Collections\nGet a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n\nGet all **standard** color collections with [ColorCollection](#!/ColorCollection/color_collections_standard)\n\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "ColorCollections", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/ColorCollection" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/color_collections/standard": { - "get": { - "tags": ["ColorCollection"], - "operationId": "color_collections_standard", - "summary": "Get all Standard Color Collections", - "description": "### Get an array of all existing **Standard** Color Collections\nGet a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n\nGet all **custom** color collections with [ColorCollection](#!/ColorCollection/color_collections_custom)\n\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "ColorCollections", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/ColorCollection" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/color_collections/default": { - "put": { - "tags": ["ColorCollection"], - "operationId": "set_default_color_collection", - "summary": "Set Default Color Collection", - "description": "### Set the global default Color Collection by ID\n\nReturns the new specified default Color Collection object.\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", - "parameters": [ - { - "name": "collection_id", - "in": "query", - "description": "ID of color collection to set as default", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "ColorCollection", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ColorCollection" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "get": { - "tags": ["ColorCollection"], - "operationId": "default_color_collection", - "summary": "Get Default Color Collection", - "description": "### Get the default color collection\n\nUse this to retrieve the default Color Collection.\n\nSet the default color collection with [ColorCollection](#!/ColorCollection/set_default_color_collection)\n", - "responses": { - "200": { - "description": "ColorCollection", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ColorCollection" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/color_collections/{collection_id}": { - "get": { - "tags": ["ColorCollection"], - "operationId": "color_collection", - "summary": "Get Color Collection by ID", - "description": "### Get a Color Collection by ID\n\nUse this to retrieve a specific Color Collection.\nGet a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n\nGet all **standard** color collections with [ColorCollection](#!/ColorCollection/color_collections_standard)\n\nGet all **custom** color collections with [ColorCollection](#!/ColorCollection/color_collections_custom)\n\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", - "parameters": [ - { - "name": "collection_id", - "in": "path", - "description": "Id of Color Collection", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "ColorCollection", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ColorCollection" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["ColorCollection"], - "operationId": "update_color_collection", - "summary": "Update Custom Color collection", - "description": "### Update a custom color collection by id.\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", - "parameters": [ - { - "name": "collection_id", - "in": "path", - "description": "Id of Custom Color Collection", - "required": true, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/ColorCollection", - "required": true - }, - "responses": { - "200": { - "description": "ColorCollection", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ColorCollection" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "403": { - "description": "Permission Denied", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["ColorCollection"], - "operationId": "delete_color_collection", - "summary": "Delete ColorCollection", - "description": "### Delete a custom color collection by id\n\nThis operation permanently deletes the identified **Custom** color collection.\n\n**Standard** color collections cannot be deleted\n\nBecause multiple color collections can have the same label, they must be deleted by ID, not name.\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n", - "parameters": [ - { - "name": "collection_id", - "in": "path", - "description": "Id of Color Collection", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { "description": "Success" }, - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "403": { - "description": "Permission Denied", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/commands": { - "post": { - "tags": ["Command"], - "operationId": "create_command", - "summary": "Create a custom command", - "description": "### Create a new command.\n# Required fields: [:name, :linked_content_id, :linked_content_type]\n# `linked_content_type` must be one of [\"dashboard\", \"lookml_dashboard\"]\n#\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Command" } - } - }, - "description": "Writable command parameters", - "required": true - }, - "responses": { - "200": { - "description": "The command is saved.", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Command" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "get": { - "tags": ["Command"], - "operationId": "get_all_commands", - "summary": "Get All Commands", - "description": "### Get All Commands.\n", - "parameters": [ - { - "name": "content_id", - "in": "query", - "description": "Id of the associated content. This must be accompanied with content_type.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "content_type", - "in": "query", - "description": "Type of the associated content. This must be accompanied with content_id.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "limit", - "in": "query", - "description": "Number of results to return.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "200": { - "description": "Commands", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Command" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "405": { - "description": "Resource Can't Be Modified", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/commands/{command_id}": { - "patch": { - "tags": ["Command"], - "operationId": "update_command", - "summary": "Update a custom command", - "description": "### Update an existing custom command.\n# Optional fields: ['name', 'description']\n#\n", - "parameters": [ - { - "name": "command_id", - "in": "path", - "description": "ID of a command", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/UpdateCommand" } - } - }, - "description": "Re-writable command parameters", - "required": true - }, - "responses": { - "200": { - "description": "The command is updated.", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Command" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["Command"], - "operationId": "delete_command", - "summary": "Delete a custom command", - "description": "### Delete an existing custom command.\n", - "parameters": [ - { - "name": "command_id", - "in": "path", - "description": "ID of a command", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { "description": "The command is deleted." }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "405": { - "description": "Resource Can't Be Modified", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/content_favorite/search": { - "get": { - "tags": ["Content"], - "operationId": "search_content_favorites", - "summary": "Search Favorite Contents", - "description": "### Search Favorite Content\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", - "parameters": [ - { - "name": "id", - "in": "query", - "description": "Match content favorite id(s)", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "user_id", - "in": "query", - "description": "Match user id(s).To create a list of multiple ids, use commas as separators", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "content_metadata_id", - "in": "query", - "description": "Match content metadata id(s).To create a list of multiple ids, use commas as separators", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "dashboard_id", - "in": "query", - "description": "Match dashboard id(s).To create a list of multiple ids, use commas as separators", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "look_id", - "in": "query", - "description": "Match look id(s).To create a list of multiple ids, use commas as separators", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "board_id", - "in": "query", - "description": "Match board id(s).To create a list of multiple ids, use commas as separators", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "limit", - "in": "query", - "description": "Number of results to return. (used with offset)", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "offset", - "in": "query", - "description": "Number of results to skip before returning any. (used with limit)", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "sorts", - "in": "query", - "description": "Fields to sort by.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "filter_or", - "in": "query", - "description": "Combine given search criteria in a boolean OR expression", - "required": false, - "schema": { "type": "boolean" } - } - ], - "responses": { - "200": { - "description": "Favorite Content", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/ContentFavorite" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/content_favorite/{content_favorite_id}": { - "get": { - "tags": ["Content"], - "operationId": "content_favorite", - "summary": "Get Favorite Content", - "description": "### Get favorite content by its id", - "parameters": [ - { - "name": "content_favorite_id", - "in": "path", - "description": "Id of favorite content", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Favorite Content", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ContentFavorite" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["Content"], - "operationId": "delete_content_favorite", - "summary": "Delete Favorite Content", - "description": "### Delete favorite content", - "parameters": [ - { - "name": "content_favorite_id", - "in": "path", - "description": "Id of favorite content", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/content_favorite": { - "post": { - "tags": ["Content"], - "operationId": "create_content_favorite", - "summary": "Create Favorite Content", - "description": "### Create favorite content", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ContentFavorite" } - } - }, - "description": "Favorite Content", - "required": true - }, - "responses": { - "200": { - "description": "Favorite Content", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ContentFavorite" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/content_metadata": { - "get": { - "tags": ["Content"], - "operationId": "all_content_metadatas", - "summary": "Get All Content Metadatas", - "description": "### Get information about all content metadata in a space.\n", - "parameters": [ - { - "name": "parent_id", - "in": "query", - "description": "Parent space of content.", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Content Metadata", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/ContentMeta" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/content_metadata/{content_metadata_id}": { - "patch": { - "tags": ["Content"], - "operationId": "update_content_metadata", - "summary": "Update Content Metadata", - "description": "### Move a piece of content.\n", - "parameters": [ - { - "name": "content_metadata_id", - "in": "path", - "description": "Id of content metadata", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ContentMeta" } - } - }, - "description": "Content Metadata", - "required": true - }, - "responses": { - "200": { - "description": "Content Metadata", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ContentMeta" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "get": { - "tags": ["Content"], - "operationId": "content_metadata", - "summary": "Get Content Metadata", - "description": "### Get information about an individual content metadata record.\n", - "parameters": [ - { - "name": "content_metadata_id", - "in": "path", - "description": "Id of content metadata", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Content Metadata", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ContentMeta" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/content_metadata_access": { - "post": { - "tags": ["Content"], - "operationId": "create_content_metadata_access", - "summary": "Create Content Metadata Access", - "description": "### Create content metadata access.\n", - "parameters": [ - { - "name": "send_boards_notification_email", - "in": "query", - "description": "Optionally sends notification email when granting access to a board.", - "required": false, - "schema": { "type": "boolean" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/ContentMetaGroupUser", - "required": true - }, - "responses": { - "200": { - "description": "Content Metadata Access", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ContentMetaGroupUser" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query", - "x-looker-rate-limited": true - }, - "get": { - "tags": ["Content"], - "operationId": "all_content_metadata_accesses", - "summary": "Get All Content Metadata Accesses", - "description": "### All content metadata access records for a content metadata item.\n", - "parameters": [ - { - "name": "content_metadata_id", - "in": "query", - "description": "Id of content metadata", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Content Metadata Access", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContentMetaGroupUser" - } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/content_metadata_access/{content_metadata_access_id}": { - "put": { - "tags": ["Content"], - "operationId": "update_content_metadata_access", - "summary": "Update Content Metadata Access", - "description": "### Update type of access for content metadata.\n", - "parameters": [ - { - "name": "content_metadata_access_id", - "in": "path", - "description": "Id of content metadata access", - "required": true, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/ContentMetaGroupUser", - "required": true - }, - "responses": { - "200": { - "description": "Content Metadata Access", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ContentMetaGroupUser" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["Content"], - "operationId": "delete_content_metadata_access", - "summary": "Delete Content Metadata Access", - "description": "### Remove content metadata access.\n", - "parameters": [ - { - "name": "content_metadata_access_id", - "in": "path", - "description": "Id of content metadata access", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/content_thumbnail/{type}/{resource_id}": { - "get": { - "tags": ["Content"], - "operationId": "content_thumbnail", - "summary": "Get Content Thumbnail", - "description": "### Get an image representing the contents of a dashboard or look.\n\nThe returned thumbnail is an abstract representation of the contents of a dashbord or look and does not\nreflect the actual data displayed in the respective visualizations.\n", - "parameters": [ - { - "name": "type", - "in": "path", - "description": "Either dashboard or look", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "resource_id", - "in": "path", - "description": "ID of the dashboard or look to render", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "reload", - "in": "query", - "description": "Whether or not to refresh the rendered image with the latest content", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "format", - "in": "query", - "description": "A value of png produces a thumbnail in PNG format instead of SVG (default)", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "width", - "in": "query", - "description": "The width of the image if format is supplied", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "height", - "in": "query", - "description": "The height of the image if format is supplied", - "required": false, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "200": { - "description": "Content thumbnail", - "content": { - "image/svg+xml": { "schema": { "type": "string" } }, - "image/png": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "image/svg+xml": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "image/svg+xml": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query" - } - }, - "/content_validation": { - "get": { - "tags": ["Content"], - "operationId": "content_validation", - "summary": "Validate Content", - "description": "### Validate All Content\n\nPerforms validation of all looks and dashboards\nReturns a list of errors found as well as metadata about the content validation run.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Content validation results", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ContentValidation" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/content_view/search": { - "get": { - "tags": ["Content"], - "operationId": "search_content_views", - "summary": "Search Content Views", - "description": "### Search Content Views\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", - "parameters": [ - { - "name": "view_count", - "in": "query", - "description": "Match view count", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "group_id", - "in": "query", - "description": "Match Group Id", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "look_id", - "in": "query", - "description": "Match look_id", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "dashboard_id", - "in": "query", - "description": "Match dashboard_id", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "content_metadata_id", - "in": "query", - "description": "Match content metadata id", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "start_of_week_date", - "in": "query", - "description": "Match start of week date (format is \"YYYY-MM-DD\")", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "all_time", - "in": "query", - "description": "True if only all time view records should be returned", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "user_id", - "in": "query", - "description": "Match user id", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "limit", - "in": "query", - "description": "Number of results to return. Use with `offset` to manage pagination of results", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "offset", - "in": "query", - "description": "Number of results to skip before returning data", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "sorts", - "in": "query", - "description": "Fields to sort by", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "filter_or", - "in": "query", - "description": "Combine given search criteria in a boolean OR expression", - "required": false, - "schema": { "type": "boolean" } - } - ], - "responses": { - "200": { - "description": "Content View", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/ContentView" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/custom_welcome_email": { - "get": { - "tags": ["Config"], - "operationId": "custom_welcome_email", - "summary": "Get Custom Welcome Email", - "description": "### Get the current status and content of custom welcome emails\n", - "responses": { - "200": { - "description": "Custom Welcome Email", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CustomWelcomeEmail" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Config"], - "operationId": "update_custom_welcome_email", - "summary": "Update Custom Welcome Email Content", - "description": "Update custom welcome email setting and values. Optionally send a test email with the new content to the currently logged in user.\n", - "parameters": [ - { - "name": "send_test_welcome_email", - "in": "query", - "description": "If true a test email with the content from the request will be sent to the current user after saving", - "required": false, - "schema": { "type": "boolean" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CustomWelcomeEmail" } - } - }, - "description": "Custom Welcome Email setting and value to save", - "required": true - }, - "responses": { - "200": { - "description": "Custom Welcome Email", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CustomWelcomeEmail" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/custom_welcome_email_test": { - "put": { - "tags": ["Config"], - "operationId": "update_custom_welcome_email_test", - "summary": "Send a test welcome email to the currently logged in user with the supplied content ", - "description": "Requests to this endpoint will send a welcome email with the custom content provided in the body to the currently logged in user.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/WelcomeEmailTest" } - } - }, - "description": "Subject, header, and Body of the email to be sent.", - "required": true - }, - "responses": { - "200": { - "description": "Send Test Welcome Email", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/WelcomeEmailTest" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/dashboards": { - "get": { - "tags": ["Dashboard"], - "operationId": "all_dashboards", - "summary": "Get All Dashboards", - "description": "### Get information about all active dashboards.\n\nReturns an array of **abbreviated dashboard objects**. Dashboards marked as deleted are excluded from this list.\n\nGet the **full details** of a specific dashboard by id with [dashboard()](#!/Dashboard/dashboard)\n\nFind **deleted dashboards** with [search_dashboards()](#!/Dashboard/search_dashboards)\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "dashboards", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/DashboardBase" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["Dashboard"], - "operationId": "create_dashboard", - "summary": "Create Dashboard", - "description": "### Create a new dashboard\n\nCreates a new dashboard object and returns the details of the newly created dashboard.\n\n`Title`, `user_id`, and `space_id` are all required fields.\n`Space_id` and `user_id` must contain the id of an existing space or user, respectively.\nA dashboard's `title` must be unique within the space in which it resides.\n\nIf you receive a 422 error response when creating a dashboard, be sure to look at the\nresponse body for information about exactly which fields are missing or contain invalid data.\n\nYou can **update** an existing dashboard with [update_dashboard()](#!/Dashboard/update_dashboard)\n\nYou can **permanently delete** an existing dashboard with [delete_dashboard()](#!/Dashboard/delete_dashboard)\n", - "requestBody": { - "$ref": "#/components/requestBodies/Dashboard", - "required": true - }, - "responses": { - "200": { - "description": "Dashboard", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Dashboard" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/dashboards/search": { - "get": { - "tags": ["Dashboard"], - "operationId": "search_dashboards", - "summary": "Search Dashboards", - "description": "### Search Dashboards\n\nReturns an **array of dashboard objects** that match the specified search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\nThe parameters `limit`, and `offset` are recommended for fetching results in page-size chunks.\n\nGet a **single dashboard** by id with [dashboard()](#!/Dashboard/dashboard)\n", - "parameters": [ - { - "name": "id", - "in": "query", - "description": "Match dashboard id.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "slug", - "in": "query", - "description": "Match dashboard slug.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "title", - "in": "query", - "description": "Match Dashboard title.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "description", - "in": "query", - "description": "Match Dashboard description.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "content_favorite_id", - "in": "query", - "description": "Filter on a content favorite id.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "folder_id", - "in": "query", - "description": "Filter on a particular space.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "deleted", - "in": "query", - "description": "Filter on dashboards deleted status.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "user_id", - "in": "query", - "description": "Filter on dashboards created by a particular user.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "view_count", - "in": "query", - "description": "Filter on a particular value of view_count", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "content_metadata_id", - "in": "query", - "description": "Filter on a content favorite id.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "curate", - "in": "query", - "description": "Exclude items that exist only in personal spaces other than the users", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "last_viewed_at", - "in": "query", - "description": "Select dashboards based on when they were last viewed", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "page", - "in": "query", - "description": "Requested page.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "per_page", - "in": "query", - "description": "Results per page.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "limit", - "in": "query", - "description": "Number of results to return. (used with offset and takes priority over page and per_page)", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "offset", - "in": "query", - "description": "Number of results to skip before returning any. (used with limit and takes priority over page and per_page)", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "sorts", - "in": "query", - "description": "One or more fields to sort by. Sortable fields: [:title, :user_id, :id, :created_at, :space_id, :folder_id, :description, :view_count, :favorite_count, :slug, :content_favorite_id, :content_metadata_id, :deleted, :deleted_at, :last_viewed_at, :last_accessed_at]", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "filter_or", - "in": "query", - "description": "Combine given search criteria in a boolean OR expression", - "required": false, - "schema": { "type": "boolean" } - } - ], - "responses": { - "200": { - "description": "dashboards", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Dashboard" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/dashboards/{lookml_dashboard_id}/import/{space_id}": { - "post": { - "tags": ["Dashboard"], - "operationId": "import_lookml_dashboard", - "summary": "Import LookML Dashboard", - "description": "### Import a LookML dashboard to a space as a UDD\nCreates a UDD (a dashboard which exists in the Looker database rather than as a LookML file) from the LookML dashboard\nand places it in the space specified. The created UDD will have a lookml_link_id which links to the original LookML dashboard.\n\nTo give the imported dashboard specify a (e.g. title: \"my title\") in the body of your request, otherwise the imported\ndashboard will have the same title as the original LookML dashboard.\n\nFor this operation to succeed the user must have permission to see the LookML dashboard in question, and have permission to\ncreate content in the space the dashboard is being imported to.\n\n**Sync** a linked UDD with [sync_lookml_dashboard()](#!/Dashboard/sync_lookml_dashboard)\n**Unlink** a linked UDD by setting lookml_link_id to null with [update_dashboard()](#!/Dashboard/update_dashboard)\n", - "parameters": [ - { - "name": "lookml_dashboard_id", - "in": "path", - "description": "Id of LookML dashboard", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "space_id", - "in": "path", - "description": "Id of space to import the dashboard to", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "raw_locale", - "in": "query", - "description": "If true, and this dashboard is localized, export it with the raw keys, not localized.", - "required": false, - "schema": { "type": "boolean" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Dashboard" } - } - }, - "description": "Dashboard", - "required": false - }, - "responses": { - "200": { - "description": "Dashboard", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Dashboard" } - } - } - }, - "201": { - "description": "dashboard", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Dashboard" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/dashboards/{lookml_dashboard_id}/sync": { - "patch": { - "tags": ["Dashboard"], - "operationId": "sync_lookml_dashboard", - "summary": "Sync LookML Dashboard", - "description": "### Update all linked dashboards to match the specified LookML dashboard.\n\nAny UDD (a dashboard which exists in the Looker database rather than as a LookML file) which has a `lookml_link_id`\nproperty value referring to a LookML dashboard's id (model::dashboardname) will be updated so that it matches the current state of the LookML dashboard.\n\nFor this operation to succeed the user must have permission to view the LookML dashboard, and only linked dashboards\nthat the user has permission to update will be synced.\n\nTo **link** or **unlink** a UDD set the `lookml_link_id` property with [update_dashboard()](#!/Dashboard/update_dashboard)\n", - "parameters": [ - { - "name": "lookml_dashboard_id", - "in": "path", - "description": "Id of LookML dashboard, in the form 'model::dashboardname'", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "raw_locale", - "in": "query", - "description": "If true, and this dashboard is localized, export it with the raw keys, not localized.", - "required": false, - "schema": { "type": "boolean" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/Dashboard", - "required": true - }, - "responses": { - "200": { - "description": "Ids of all the dashboards that were updated by this operation", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "type": "integer", "format": "int64" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/dashboards/{dashboard_id}": { - "delete": { - "tags": ["Dashboard"], - "operationId": "delete_dashboard", - "summary": "Delete Dashboard", - "description": "### Delete the dashboard with the specified id\n\nPermanently **deletes** a dashboard. (The dashboard cannot be recovered after this operation.)\n\n\"Soft\" delete or hide a dashboard by setting its `deleted` status to `True` with [update_dashboard()](#!/Dashboard/update_dashboard).\n\nNote: When a dashboard is deleted in the UI, it is soft deleted. Use this API call to permanently remove it, if desired.\n", - "parameters": [ - { - "name": "dashboard_id", - "in": "path", - "description": "Id of dashboard", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "405": { - "description": "Resource Can't Be Modified", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Dashboard"], - "operationId": "update_dashboard", - "summary": "Update Dashboard", - "description": "### Update a dashboard\n\nYou can use this function to change the string and integer properties of\na dashboard. Nested objects such as filters, dashboard elements, or dashboard layout components\ncannot be modified by this function - use the update functions for the respective\nnested object types (like [update_dashboard_filter()](#!/3.1/Dashboard/update_dashboard_filter) to change a filter)\nto modify nested objects referenced by a dashboard.\n\nIf you receive a 422 error response when updating a dashboard, be sure to look at the\nresponse body for information about exactly which fields are missing or contain invalid data.\n", - "parameters": [ - { - "name": "dashboard_id", - "in": "path", - "description": "Id of dashboard", - "required": true, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/Dashboard", - "required": true - }, - "responses": { - "200": { - "description": "Dashboard", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Dashboard" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "405": { - "description": "Resource Can't Be Modified", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "get": { - "tags": ["Dashboard"], - "operationId": "dashboard", - "summary": "Get Dashboard", - "description": "### Get information about a dashboard\n\nReturns the full details of the identified dashboard object\n\nGet a **summary list** of all active dashboards with [all_dashboards()](#!/Dashboard/all_dashboards)\n\nYou can **Search** for dashboards with [search_dashboards()](#!/Dashboard/search_dashboards)\n", - "parameters": [ - { - "name": "dashboard_id", - "in": "path", - "description": "Id of dashboard", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Dashboard", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Dashboard" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/dashboards/aggregate_table_lookml/{dashboard_id}": { - "get": { - "tags": ["Dashboard"], - "operationId": "dashboard_aggregate_table_lookml", - "summary": "Get Aggregate Table LookML for a dashboard", - "description": "### Get Aggregate Table LookML for Each Query on a Dahboard\n\nReturns a JSON object that contains the dashboard id and Aggregate Table lookml\n\n", - "parameters": [ - { - "name": "dashboard_id", - "in": "path", - "description": "Id of dashboard", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "JSON for Aggregate Table LookML", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DashboardAggregateTableLookml" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/dashboards/lookml/{dashboard_id}": { - "get": { - "tags": ["Dashboard"], - "operationId": "dashboard_lookml", - "summary": "Get lookml of a UDD", - "description": "### Get lookml of a UDD\n\nReturns a JSON object that contains the dashboard id and the full lookml\n\n", - "parameters": [ - { - "name": "dashboard_id", - "in": "path", - "description": "Id of dashboard", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "json of dashboard", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DashboardLookml" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/dashboards/{dashboard_id}/copy": { - "post": { - "tags": ["Dashboard"], - "operationId": "copy_dashboard", - "summary": "Copy Dashboard", - "description": "### Copy an existing dashboard\n\nCreates a copy of an existing dashboard, in a specified folder, and returns the copied dashboard.\n\n`dashboard_id` and `folder_id` are required.\n`dashboard_id` and `folder_id` must already exist, and `folder_id` must be different from the current `folder_id` of the dashboard.\n", - "parameters": [ - { - "name": "dashboard_id", - "in": "path", - "description": "Dashboard id to copy.", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "folder_id", - "in": "query", - "description": "Folder id to copy to.", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Dashboard", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Dashboard" } - } - } - }, - "201": { - "description": "dashboard", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Dashboard" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/dashboards/{dashboard_id}/move": { - "patch": { - "tags": ["Dashboard"], - "operationId": "move_dashboard", - "summary": "Move Dashboard", - "description": "### Move an existing dashboard\n\nMoves a dashboard to a specified folder, and returns the moved dashboard.\n\n`dashboard_id` and `folder_id` are required.\n`dashboard_id` and `folder_id` must already exist, and `folder_id` must be different from the current `folder_id` of the dashboard.\n", - "parameters": [ - { - "name": "dashboard_id", - "in": "path", - "description": "Dashboard id to move.", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "folder_id", - "in": "query", - "description": "Folder id to move to.", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Dashboard", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Dashboard" } - } - } - }, - "201": { - "description": "dashboard", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Dashboard" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/dashboard_elements/search": { - "get": { - "tags": ["Dashboard"], - "operationId": "search_dashboard_elements", - "summary": "Search Dashboard Elements", - "description": "### Search Dashboard Elements\n\nReturns an **array of DashboardElement objects** that match the specified search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", - "parameters": [ - { - "name": "dashboard_id", - "in": "query", - "description": "Select elements that refer to a given dashboard id", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "look_id", - "in": "query", - "description": "Select elements that refer to a given look id", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "title", - "in": "query", - "description": "Match the title of element", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "deleted", - "in": "query", - "description": "Select soft-deleted dashboard elements", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "filter_or", - "in": "query", - "description": "Combine given search criteria in a boolean OR expression", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "sorts", - "in": "query", - "description": "Fields to sort by. Sortable fields: [:look_id, :dashboard_id, :deleted, :title]", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Dashboard elements", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/DashboardElement" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/dashboard_elements/{dashboard_element_id}": { - "get": { - "tags": ["Dashboard"], - "operationId": "dashboard_element", - "summary": "Get DashboardElement", - "description": "### Get information about the dashboard element with a specific id.", - "parameters": [ - { - "name": "dashboard_element_id", - "in": "path", - "description": "Id of dashboard element", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "DashboardElement", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DashboardElement" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["Dashboard"], - "operationId": "delete_dashboard_element", - "summary": "Delete DashboardElement", - "description": "### Delete a dashboard element with a specific id.", - "parameters": [ - { - "name": "dashboard_element_id", - "in": "path", - "description": "Id of dashboard element", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Dashboard"], - "operationId": "update_dashboard_element", - "summary": "Update DashboardElement", - "description": "### Update the dashboard element with a specific id.", - "parameters": [ - { - "name": "dashboard_element_id", - "in": "path", - "description": "Id of dashboard element", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/DashboardElement", - "required": true - }, - "responses": { - "200": { - "description": "DashboardElement", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DashboardElement" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/dashboards/{dashboard_id}/dashboard_elements": { - "get": { - "tags": ["Dashboard"], - "operationId": "dashboard_dashboard_elements", - "summary": "Get All DashboardElements", - "description": "### Get information about all the dashboard elements on a dashboard with a specific id.", - "parameters": [ - { - "name": "dashboard_id", - "in": "path", - "description": "Id of dashboard", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "DashboardElement", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/DashboardElement" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/dashboard_elements": { - "post": { - "tags": ["Dashboard"], - "operationId": "create_dashboard_element", - "summary": "Create DashboardElement", - "description": "### Create a dashboard element on the dashboard with a specific id.", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/DashboardElement", - "required": true - }, - "responses": { - "200": { - "description": "DashboardElement", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DashboardElement" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/dashboard_filters/{dashboard_filter_id}": { - "get": { - "tags": ["Dashboard"], - "operationId": "dashboard_filter", - "summary": "Get Dashboard Filter", - "description": "### Get information about the dashboard filters with a specific id.", - "parameters": [ - { - "name": "dashboard_filter_id", - "in": "path", - "description": "Id of dashboard filters", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Dashboard Filter", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DashboardFilter" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["Dashboard"], - "operationId": "delete_dashboard_filter", - "summary": "Delete Dashboard Filter", - "description": "### Delete a dashboard filter with a specific id.", - "parameters": [ - { - "name": "dashboard_filter_id", - "in": "path", - "description": "Id of dashboard filter", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Dashboard"], - "operationId": "update_dashboard_filter", - "summary": "Update Dashboard Filter", - "description": "### Update the dashboard filter with a specific id.", - "parameters": [ - { - "name": "dashboard_filter_id", - "in": "path", - "description": "Id of dashboard filter", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DashboardFilter" } - } - }, - "description": "Dashboard Filter", - "required": true - }, - "responses": { - "200": { - "description": "Dashboard Filter", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DashboardFilter" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/dashboards/{dashboard_id}/dashboard_filters": { - "get": { - "tags": ["Dashboard"], - "operationId": "dashboard_dashboard_filters", - "summary": "Get All Dashboard Filters", - "description": "### Get information about all the dashboard filters on a dashboard with a specific id.", - "parameters": [ - { - "name": "dashboard_id", - "in": "path", - "description": "Id of dashboard", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Dashboard Filter", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/DashboardFilter" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/dashboard_filters": { - "post": { - "tags": ["Dashboard"], - "operationId": "create_dashboard_filter", - "summary": "Create Dashboard Filter", - "description": "### Create a dashboard filter on the dashboard with a specific id.", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CreateDashboardFilter" } - } - }, - "description": "Dashboard Filter", - "required": true - }, - "responses": { - "200": { - "description": "Dashboard Filter", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DashboardFilter" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/dashboard_layout_components/{dashboard_layout_component_id}": { - "get": { - "tags": ["Dashboard"], - "operationId": "dashboard_layout_component", - "summary": "Get DashboardLayoutComponent", - "description": "### Get information about the dashboard elements with a specific id.", - "parameters": [ - { - "name": "dashboard_layout_component_id", - "in": "path", - "description": "Id of dashboard layout component", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "DashboardLayoutComponent", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DashboardLayoutComponent" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Dashboard"], - "operationId": "update_dashboard_layout_component", - "summary": "Update DashboardLayoutComponent", - "description": "### Update the dashboard element with a specific id.", - "parameters": [ - { - "name": "dashboard_layout_component_id", - "in": "path", - "description": "Id of dashboard layout component", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DashboardLayoutComponent" - } - } - }, - "description": "DashboardLayoutComponent", - "required": true - }, - "responses": { - "200": { - "description": "DashboardLayoutComponent", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DashboardLayoutComponent" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/dashboard_layouts/{dashboard_layout_id}/dashboard_layout_components": { - "get": { - "tags": ["Dashboard"], - "operationId": "dashboard_layout_dashboard_layout_components", - "summary": "Get All DashboardLayoutComponents", - "description": "### Get information about all the dashboard layout components for a dashboard layout with a specific id.", - "parameters": [ - { - "name": "dashboard_layout_id", - "in": "path", - "description": "Id of dashboard layout component", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "DashboardLayoutComponent", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DashboardLayoutComponent" - } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/dashboard_layouts/{dashboard_layout_id}": { - "get": { - "tags": ["Dashboard"], - "operationId": "dashboard_layout", - "summary": "Get DashboardLayout", - "description": "### Get information about the dashboard layouts with a specific id.", - "parameters": [ - { - "name": "dashboard_layout_id", - "in": "path", - "description": "Id of dashboard layouts", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "DashboardLayout", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DashboardLayout" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["Dashboard"], - "operationId": "delete_dashboard_layout", - "summary": "Delete DashboardLayout", - "description": "### Delete a dashboard layout with a specific id.", - "parameters": [ - { - "name": "dashboard_layout_id", - "in": "path", - "description": "Id of dashboard layout", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Dashboard"], - "operationId": "update_dashboard_layout", - "summary": "Update DashboardLayout", - "description": "### Update the dashboard layout with a specific id.", - "parameters": [ - { - "name": "dashboard_layout_id", - "in": "path", - "description": "Id of dashboard layout", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/DashboardLayout", - "required": true - }, - "responses": { - "200": { - "description": "DashboardLayout", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DashboardLayout" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/dashboards/{dashboard_id}/dashboard_layouts": { - "get": { - "tags": ["Dashboard"], - "operationId": "dashboard_dashboard_layouts", - "summary": "Get All DashboardLayouts", - "description": "### Get information about all the dashboard elements on a dashboard with a specific id.", - "parameters": [ - { - "name": "dashboard_id", - "in": "path", - "description": "Id of dashboard", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "DashboardLayout", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/DashboardLayout" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/dashboard_layouts": { - "post": { - "tags": ["Dashboard"], - "operationId": "create_dashboard_layout", - "summary": "Create DashboardLayout", - "description": "### Create a dashboard layout on the dashboard with a specific id.", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/DashboardLayout", - "required": true - }, - "responses": { - "200": { - "description": "DashboardLayout", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DashboardLayout" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/data_actions": { - "post": { - "tags": ["DataAction"], - "operationId": "perform_data_action", - "summary": "Send a Data Action", - "description": "Perform a data action. The data action object can be obtained from query results, and used to perform an arbitrary action.", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DataActionRequest" } - } - }, - "description": "Data Action Request", - "required": true - }, - "responses": { - "200": { - "description": "Data Action Response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DataActionResponse" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/data_actions/form": { - "post": { - "tags": ["DataAction"], - "operationId": "fetch_remote_data_action_form", - "summary": "Fetch Remote Data Action Form", - "description": "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.", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": { "type": "string" } - } - } - }, - "description": "Data Action Request", - "required": true - }, - "responses": { - "200": { - "description": "Data Action Form", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DataActionForm" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/datagroups": { - "get": { - "tags": ["Datagroup"], - "operationId": "all_datagroups", - "summary": "Get All Datagroups", - "description": "### Get information about all datagroups.\n", - "responses": { - "200": { - "description": "Datagroup", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Datagroup" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/datagroups/{datagroup_id}": { - "get": { - "tags": ["Datagroup"], - "operationId": "datagroup", - "summary": "Get Datagroup", - "description": "### Get information about a datagroup.\n", - "parameters": [ - { - "name": "datagroup_id", - "in": "path", - "description": "ID of datagroup.", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "200": { - "description": "Datagroup", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Datagroup" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Datagroup"], - "operationId": "update_datagroup", - "summary": "Update Datagroup", - "description": "### Update a datagroup using the specified params.\n", - "parameters": [ - { - "name": "datagroup_id", - "in": "path", - "description": "ID of datagroup.", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Datagroup" } - } - }, - "description": "Datagroup", - "required": true - }, - "responses": { - "200": { - "description": "Datagroup", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Datagroup" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/connections": { - "get": { - "tags": ["Connection"], - "operationId": "all_connections", - "summary": "Get All Connections", - "description": "### Get information about all connections.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Connection", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/DBConnection" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["Connection"], - "operationId": "create_connection", - "summary": "Create Connection", - "description": "### Create a connection using the specified configuration.\n", - "requestBody": { - "$ref": "#/components/requestBodies/DBConnection", - "required": true - }, - "responses": { - "200": { - "description": "Connection", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DBConnection" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/connections/{connection_name}": { - "get": { - "tags": ["Connection"], - "operationId": "connection", - "summary": "Get Connection", - "description": "### Get information about a connection.\n", - "parameters": [ - { - "name": "connection_name", - "in": "path", - "description": "Name of connection", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Connection", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DBConnection" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Connection"], - "operationId": "update_connection", - "summary": "Update Connection", - "description": "### Update a connection using the specified configuration.\n", - "parameters": [ - { - "name": "connection_name", - "in": "path", - "description": "Name of connection", - "required": true, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/DBConnection", - "required": true - }, - "responses": { - "200": { - "description": "Connection", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DBConnection" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["Connection"], - "operationId": "delete_connection", - "summary": "Delete Connection", - "description": "### Delete a connection.\n", - "parameters": [ - { - "name": "connection_name", - "in": "path", - "description": "Name of connection", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/connections/{connection_name}/connection_override/{override_context}": { - "delete": { - "tags": ["Connection"], - "operationId": "delete_connection_override", - "summary": "Delete Connection Override", - "description": "### Delete a connection override.\n", - "parameters": [ - { - "name": "connection_name", - "in": "path", - "description": "Name of connection", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "override_context", - "in": "path", - "description": "Context of connection override", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/connections/{connection_name}/test": { - "put": { - "tags": ["Connection"], - "operationId": "test_connection", - "summary": "Test Connection", - "description": "### Test an existing connection.\n\nNote that a connection's 'dialect' property has a 'connection_tests' property that lists the\nspecific types of tests that the connection supports.\n\nThis API is rate limited.\n\nUnsupported tests in the request will be ignored.\n", - "parameters": [ - { - "name": "connection_name", - "in": "path", - "description": "Name of connection", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "tests", - "in": "query", - "description": "Array of names of tests to run", - "required": false, - "style": "simple", - "explode": false, - "schema": { "type": "array", "items": { "type": "string" } } - } - ], - "responses": { - "200": { - "description": "Test results", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DBConnectionTestResult" - } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query", - "x-looker-rate-limited": true - } - }, - "/connections/test": { - "put": { - "tags": ["Connection"], - "operationId": "test_connection_config", - "summary": "Test Connection Configuration", - "description": "### Test a connection configuration.\n\nNote that a connection's 'dialect' property has a 'connection_tests' property that lists the\nspecific types of tests that the connection supports.\n\nThis API is rate limited.\n\nUnsupported tests in the request will be ignored.\n", - "parameters": [ - { - "name": "tests", - "in": "query", - "description": "Array of names of tests to run", - "required": false, - "style": "simple", - "explode": false, - "schema": { "type": "array", "items": { "type": "string" } } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/DBConnection", - "required": true - }, - "responses": { - "200": { - "description": "Test results", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DBConnectionTestResult" - } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query", - "x-looker-rate-limited": true - } - }, - "/projects/{project_id}/manifest/lock_all": { - "post": { - "tags": ["Project"], - "operationId": "lock_all", - "summary": "Lock All", - "description": " ### Generate Lockfile for All LookML Dependencies\n\n Git must have been configured, must be in dev mode and deploy permission required\n\n Install_all is a two step process\n 1. For each remote_dependency in a project the dependency manager will resolve any ambiguous ref.\n 2. The project will then write out a lockfile including each remote_dependency with its resolved ref.\n\n", - "parameters": [ - { - "name": "project_id", - "in": "path", - "description": "Id of project", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Project Dependency Manager", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "204": { - "description": "Returns 204 if dependencies successfully installed, otherwise 400 with an error message" - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/derived_table/graph/model/{model}": { - "get": { - "tags": ["LookmlModel"], - "operationId": "graph_derived_tables_for_model", - "summary": "Get Derived Table", - "description": "### Discover information about derived tables\n", - "parameters": [ - { - "name": "model", - "in": "path", - "description": "The name of the Lookml model.", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "format", - "in": "query", - "description": "The format of the graph. Valid values are [dot]. Default is `dot`", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "color", - "in": "query", - "description": "Color denoting the build status of the graph. Grey = not built, green = built, yellow = building, red = error.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Derived Table", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DependencyGraph" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/dialect_info": { - "get": { - "tags": ["Connection"], - "operationId": "all_dialect_infos", - "summary": "Get All Dialect Infos", - "description": "### Get information about all dialects.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Dialect Info", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/DialectInfo" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/digest_emails_enabled": { - "get": { - "tags": ["Config"], - "operationId": "digest_emails_enabled", - "summary": "Get Digest_emails", - "description": "### Retrieve the value for whether or not digest emails is enabled\n", - "responses": { - "200": { - "description": "Digest_emails", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DigestEmails" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Config"], - "operationId": "update_digest_emails_enabled", - "summary": "Update Digest_emails", - "description": "### Update the setting for enabling/disabling digest emails\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DigestEmails" } - } - }, - "description": "Digest_emails", - "required": true - }, - "responses": { - "200": { - "description": "Digest_emails", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DigestEmails" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/digest_email_send": { - "post": { - "tags": ["Config"], - "operationId": "create_digest_email_send", - "summary": "Deliver digest email contents", - "description": "### Trigger the generation of digest email records and send them to Looker's internal system. This does not send\nany actual emails, it generates records containing content which may be of interest for users who have become inactive.\nEmails will be sent at a later time from Looker's internal system if the Digest Emails feature is enabled in settings.", - "responses": { - "200": { - "description": "Status of generating and sending the data", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DigestEmailSend" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "none", - "x-looker-rate-limited": true - } - }, - "/embed/sso_url": { - "post": { - "tags": ["Auth"], - "operationId": "create_sso_embed_url", - "summary": "Create SSO Embed Url", - "description": "### Create SSO Embed URL\n\nCreates an SSO embed URL and cryptographically signs it with an embed secret.\nThis signed URL can then be used to instantiate a Looker embed session in a PBL web application.\nDo not make any modifications to this URL - any change may invalidate the signature and\ncause the URL to fail to load a Looker embed session.\n\nA signed SSO embed URL can only be used once. After it has been used to request a page from the\nLooker server, the URL is invalid. Future requests using the same URL will fail. This is to prevent\n'replay attacks'.\n\nThe `target_url` property must be a complete URL of a Looker UI page - scheme, hostname, path and query params.\nTo 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`.\nThe best way to obtain this target_url is to navigate to the desired Looker page in your web browser,\ncopy the URL shown in the browser address bar and paste it into the `target_url` property as a quoted string value in this API request.\n\nPermissions for the embed user are defined by the groups in which the embed user is a member (group_ids property)\nand the lists of models and permissions assigned to the embed user.\nAt a minimum, you must provide values for either the group_ids property, or both the models and permissions properties.\nThese properties are additive; an embed user can be a member of certain groups AND be granted access to models and permissions.\n\nThe embed user's access is the union of permissions granted by the group_ids, models, and permissions properties.\n\nThis function does not strictly require all group_ids, user attribute names, or model names to exist at the moment the\nSSO embed url is created. Unknown group_id, user attribute names or model names will be passed through to the output URL.\nTo diagnose potential problems with an SSO embed URL, you can copy the signed URL into the Embed URI Validator text box in `/admin/embed`.\n\nThe `secret_id` parameter is optional. If specified, its value must be the id of an active secret defined in the Looker instance.\nif not specified, the URL will be signed using the newest active secret defined in the Looker instance.\n\n#### Security Note\nProtect this signed URL as you would an access token or password credentials - do not write\nit to disk, do not pass it to a third party, and only pass it through a secure HTTPS\nencrypted transport.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/EmbedSsoParams" } - } - }, - "description": "SSO parameters", - "required": true - }, - "responses": { - "200": { - "description": "Signed SSO URL", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/EmbedUrlResponse" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "none" - } - }, - "/embed/token_url/me": { - "post": { - "tags": ["Auth"], - "operationId": "create_embed_url_as_me", - "summary": "Create Embed URL", - "description": "### Create an Embed URL\n\nCreates an embed URL that runs as the Looker user making this API call. (\"Embed as me\")\nThis embed URL can then be used to instantiate a Looker embed session in a\n\"Powered by Looker\" (PBL) web application.\n\nThis is similar to Private Embedding (https://docs.looker.com/r/admin/embed/private-embed). Instead of\nof logging into the Web UI to authenticate, the user has already authenticated against the API to be able to\nmake this call. However, unlike Private Embed where the user has access to any other part of the Looker UI,\nthe embed web session created by requesting the EmbedUrlResponse.url in a browser only has access to\ncontent visible under the `/embed` context.\n\nAn embed URL can only be used once, and must be used within 5 minutes of being created. After it\nhas been used to request a page from the Looker server, the URL is invalid. Future requests using\nthe same URL will fail. This is to prevent 'replay attacks'.\n\nThe `target_url` property must be a complete URL of a Looker Embedded UI page - scheme, hostname, path starting with \"/embed\" and query params.\nTo 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`.\nThe best way to obtain this target_url is to navigate to the desired Looker page in your web browser,\ncopy 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.\n\n#### Security Note\nProtect this embed URL as you would an access token or password credentials - do not write\nit to disk, do not pass it to a third party, and only pass it through a secure HTTPS\nencrypted transport.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/EmbedParams" } - } - }, - "description": "Embed parameters", - "required": true - }, - "responses": { - "200": { - "description": "Embed URL", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/EmbedUrlResponse" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "none" - } - }, - "/external_oauth_applications": { - "get": { - "tags": ["Connection"], - "operationId": "all_external_oauth_applications", - "summary": "Get All External OAuth Application. This is an OAuth Application which Looker uses to access external systems.s", - "description": "### Get all External OAuth Applications.\n", - "parameters": [ - { - "name": "name", - "in": "query", - "description": "Application name", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "client_id", - "in": "query", - "description": "Application Client ID", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "External OAuth Application. This is an OAuth Application which Looker uses to access external systems.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ExternalOauthApplication" - } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["Connection"], - "operationId": "create_external_oauth_application", - "summary": "Create External OAuth Application. This is an OAuth Application which Looker uses to access external systems.", - "description": "### Create an OAuth Application using the specified configuration.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ExternalOauthApplication" - } - } - }, - "description": "External OAuth Application. This is an OAuth Application which Looker uses to access external systems.", - "required": true - }, - "responses": { - "200": { - "description": "External OAuth Application. This is an OAuth Application which Looker uses to access external systems.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ExternalOauthApplication" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/projects/{project_id}/git_branches": { - "get": { - "tags": ["Project"], - "operationId": "all_git_branches", - "summary": "Get All Git Branches", - "description": "### Get All Git Branches\n\nReturns a list of git branches in the project repository\n", - "parameters": [ - { - "name": "project_id", - "in": "path", - "description": "Project Id", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Git Branch", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/GitBranch" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/projects/{project_id}/git_branch": { - "get": { - "tags": ["Project"], - "operationId": "git_branch", - "summary": "Get Active Git Branch", - "description": "### Get the Current Git Branch\n\nReturns the git branch currently checked out in the given project repository\n", - "parameters": [ - { - "name": "project_id", - "in": "path", - "description": "Project Id", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Git Branch", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/GitBranch" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["Project"], - "operationId": "create_git_branch", - "summary": "Checkout New Git Branch", - "description": "### Create and Checkout a Git Branch\n\nCreates and checks out a new branch in the given project repository\nOnly allowed in development mode\n - Call `update_session` to select the 'dev' workspace.\n\nOptionally specify a branch name, tag name or commit SHA as the start point in the ref field.\n If no ref is specified, HEAD of the current branch will be used as the start point for the new branch.\n\n", - "parameters": [ - { - "name": "project_id", - "in": "path", - "description": "Project Id", - "required": true, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/GitBranch", - "required": true - }, - "responses": { - "200": { - "description": "Git Branch", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/GitBranch" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "put": { - "tags": ["Project"], - "operationId": "update_git_branch", - "summary": "Update Project Git Branch", - "description": "### Checkout and/or reset --hard an existing Git Branch\n\nOnly allowed in development mode\n - Call `update_session` to select the 'dev' workspace.\n\nCheckout an existing branch if name field is different from the name of the currently checked out branch.\n\nOptionally specify a branch name, tag name or commit SHA to which the branch should be reset.\n **DANGER** hard reset will be force pushed to the remote. Unsaved changes and commits may be permanently lost.\n\n", - "parameters": [ - { - "name": "project_id", - "in": "path", - "description": "Project Id", - "required": true, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/GitBranch", - "required": true - }, - "responses": { - "200": { - "description": "Git Branch", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/GitBranch" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/projects/{project_id}/git_branch/{branch_name}": { - "get": { - "tags": ["Project"], - "operationId": "find_git_branch", - "summary": "Find a Git Branch", - "description": "### Get the specified Git Branch\n\nReturns the git branch specified in branch_name path param if it exists in the given project repository\n", - "parameters": [ - { - "name": "project_id", - "in": "path", - "description": "Project Id", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "branch_name", - "in": "path", - "description": "Branch Name", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Git Branch", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/GitBranch" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["Project"], - "operationId": "delete_git_branch", - "summary": "Delete a Git Branch", - "description": "### Delete the specified Git Branch\n\nDelete git branch specified in branch_name path param from local and remote of specified project repository\n", - "parameters": [ - { - "name": "project_id", - "in": "path", - "description": "Project Id", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "branch_name", - "in": "path", - "description": "Branch Name", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/groups": { - "get": { - "tags": ["Group"], - "operationId": "all_groups", - "summary": "Get All Groups", - "description": "### Get information about all groups.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "page", - "in": "query", - "description": "Requested page.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "per_page", - "in": "query", - "description": "Results per page.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "sorts", - "in": "query", - "description": "Fields to sort by.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "ids", - "in": "query", - "description": "Optional of ids to get specific groups.", - "required": false, - "style": "simple", - "explode": false, - "schema": { - "type": "array", - "items": { "type": "integer", "format": "int64" } - } - }, - { - "name": "content_metadata_id", - "in": "query", - "description": "Id of content metadata to which groups must have access.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "can_add_to_content_metadata", - "in": "query", - "description": "Select only groups that either can/cannot be given access to content.", - "required": false, - "schema": { "type": "boolean" } - } - ], - "responses": { - "200": { - "description": "Group", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Group" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["Group"], - "operationId": "create_group", - "summary": "Create Group", - "description": "### Creates a new group (admin only).\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/Group", - "required": true - }, - "responses": { - "200": { - "description": "Group", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Group" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/groups/search": { - "get": { - "tags": ["Group"], - "operationId": "search_groups", - "summary": "Search Groups", - "description": "### Search groups\n\nReturns all group records that match the given search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "limit", - "in": "query", - "description": "Number of results to return (used with `offset`).", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "offset", - "in": "query", - "description": "Number of results to skip before returning any (used with `limit`).", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "sorts", - "in": "query", - "description": "Fields to sort by.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "filter_or", - "in": "query", - "description": "Combine given search criteria in a boolean OR expression", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "id", - "in": "query", - "description": "Match group id.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "name", - "in": "query", - "description": "Match group name.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "external_group_id", - "in": "query", - "description": "Match group external_group_id.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "externally_managed", - "in": "query", - "description": "Match group externally_managed.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "externally_orphaned", - "in": "query", - "description": "Match group externally_orphaned.", - "required": false, - "schema": { "type": "boolean" } - } - ], - "responses": { - "200": { - "description": "Group", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Group" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/groups/search/with_roles": { - "get": { - "tags": ["Group"], - "operationId": "search_groups_with_roles", - "summary": "Search Groups with Roles", - "description": "### Search groups include roles\n\nReturns all group records that match the given search criteria, and attaches any associated roles.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "limit", - "in": "query", - "description": "Number of results to return (used with `offset`).", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "offset", - "in": "query", - "description": "Number of results to skip before returning any (used with `limit`).", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "sorts", - "in": "query", - "description": "Fields to sort by.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "filter_or", - "in": "query", - "description": "Combine given search criteria in a boolean OR expression", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "id", - "in": "query", - "description": "Match group id.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "name", - "in": "query", - "description": "Match group name.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "external_group_id", - "in": "query", - "description": "Match group external_group_id.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "externally_managed", - "in": "query", - "description": "Match group externally_managed.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "externally_orphaned", - "in": "query", - "description": "Match group externally_orphaned.", - "required": false, - "schema": { "type": "boolean" } - } - ], - "responses": { - "200": { - "description": "Group", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/GroupSearch" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/groups/search/with_hierarchy": { - "get": { - "tags": ["Group"], - "operationId": "search_groups_with_hierarchy", - "summary": "Search Groups with Hierarchy", - "description": "### Search groups include hierarchy\n\nReturns all group records that match the given search criteria, and attaches\nassociated role_ids and parent group_ids.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "limit", - "in": "query", - "description": "Number of results to return (used with `offset`).", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "offset", - "in": "query", - "description": "Number of results to skip before returning any (used with `limit`).", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "sorts", - "in": "query", - "description": "Fields to sort by.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "filter_or", - "in": "query", - "description": "Combine given search criteria in a boolean OR expression", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "id", - "in": "query", - "description": "Match group id.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "name", - "in": "query", - "description": "Match group name.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "external_group_id", - "in": "query", - "description": "Match group external_group_id.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "externally_managed", - "in": "query", - "description": "Match group externally_managed.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "externally_orphaned", - "in": "query", - "description": "Match group externally_orphaned.", - "required": false, - "schema": { "type": "boolean" } - } - ], - "responses": { - "200": { - "description": "Group", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/GroupHierarchy" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/groups/{group_id}": { - "get": { - "tags": ["Group"], - "operationId": "group", - "summary": "Get Group", - "description": "### Get information about a group.\n", - "parameters": [ - { - "name": "group_id", - "in": "path", - "description": "Id of group", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Group", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Group" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Group"], - "operationId": "update_group", - "summary": "Update Group", - "description": "### Updates the a group (admin only).", - "parameters": [ - { - "name": "group_id", - "in": "path", - "description": "Id of group", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/Group", - "required": true - }, - "responses": { - "200": { - "description": "Group", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Group" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["Group"], - "operationId": "delete_group", - "summary": "Delete Group", - "description": "### Deletes a group (admin only).\n", - "parameters": [ - { - "name": "group_id", - "in": "path", - "description": "Id of group", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "403": { - "description": "Permission Denied", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/groups/{group_id}/groups": { - "get": { - "tags": ["Group"], - "operationId": "all_group_groups", - "summary": "Get All Groups in Group", - "description": "### Get information about all the groups in a group\n", - "parameters": [ - { - "name": "group_id", - "in": "path", - "description": "Id of group", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "All groups in group.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Group" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["Group"], - "operationId": "add_group_group", - "summary": "Add a Group to Group", - "description": "### Adds a new group to a group.\n", - "parameters": [ - { - "name": "group_id", - "in": "path", - "description": "Id of group", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GroupIdForGroupInclusion" - } - } - }, - "description": "Group id to add", - "required": true - }, - "responses": { - "200": { - "description": "Added group.", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Group" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "403": { - "description": "Permission Denied", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/groups/{group_id}/users": { - "get": { - "tags": ["Group"], - "operationId": "all_group_users", - "summary": "Get All Users in Group", - "description": "### Get information about all the users directly included in a group.\n", - "parameters": [ - { - "name": "group_id", - "in": "path", - "description": "Id of group", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "page", - "in": "query", - "description": "Requested page.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "per_page", - "in": "query", - "description": "Results per page.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "sorts", - "in": "query", - "description": "Fields to sort by.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "All users in group.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/User" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["Group"], - "operationId": "add_group_user", - "summary": "Add a User to Group", - "description": "### Adds a new user to a group.\n", - "parameters": [ - { - "name": "group_id", - "in": "path", - "description": "Id of group", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GroupIdForGroupUserInclusion" - } - } - }, - "description": "User id to add", - "required": true - }, - "responses": { - "200": { - "description": "Added user.", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/User" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "403": { - "description": "Permission Denied", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/groups/{group_id}/users/{user_id}": { - "delete": { - "tags": ["Group"], - "operationId": "delete_group_user", - "summary": "Remove a User from Group", - "description": "### Removes a user from a group.\n", - "parameters": [ - { - "name": "group_id", - "in": "path", - "description": "Id of group", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "user_id", - "in": "path", - "description": "Id of user to remove from group", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { "description": "User successfully removed from group" }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "403": { - "description": "Permission Denied", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/groups/{group_id}/groups/{deleting_group_id}": { - "delete": { - "tags": ["Group"], - "operationId": "delete_group_from_group", - "summary": "Deletes a Group from Group", - "description": "### Removes a group from a group.\n", - "parameters": [ - { - "name": "group_id", - "in": "path", - "description": "Id of group", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "deleting_group_id", - "in": "path", - "description": "Id of group to delete", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { "description": "Group successfully deleted" }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "403": { - "description": "Permission Denied", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/groups/{group_id}/attribute_values/{user_attribute_id}": { - "patch": { - "tags": ["Group"], - "operationId": "update_user_attribute_group_value", - "summary": "Set User Attribute Group Value", - "description": "### Set the value of a user attribute for a group.\n\nFor information about how user attribute values are calculated, see [Set User Attribute Group Values](#!/UserAttribute/set_user_attribute_group_values).\n", - "parameters": [ - { - "name": "group_id", - "in": "path", - "description": "Id of group", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "user_attribute_id", - "in": "path", - "description": "Id of user attribute", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserAttributeGroupValue" - } - } - }, - "description": "New value for group.", - "required": true - }, - "responses": { - "200": { - "description": "Group value object.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserAttributeGroupValue" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["Group"], - "operationId": "delete_user_attribute_group_value", - "summary": "Delete User Attribute Group Value", - "description": "### Remove a user attribute value from a group.\n", - "parameters": [ - { - "name": "group_id", - "in": "path", - "description": "Id of group", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "user_attribute_id", - "in": "path", - "description": "Id of user attribute", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { "description": "Value successfully unset" }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/boards": { - "get": { - "tags": ["Board"], - "operationId": "all_boards", - "summary": "Get All Boards", - "description": "### Get information about all boards.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Board", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Board" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["Board"], - "operationId": "create_board", - "summary": "Create Board", - "description": "### Create a new board.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/Board", - "required": true - }, - "responses": { - "200": { - "description": "Board", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Board" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/boards/search": { - "get": { - "tags": ["Board"], - "operationId": "search_boards", - "summary": "Search Boards", - "description": "### Search Boards\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", - "parameters": [ - { - "name": "title", - "in": "query", - "description": "Matches board title.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "created_at", - "in": "query", - "description": "Matches the timestamp for when the board was created.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "first_name", - "in": "query", - "description": "The first name of the user who created this board.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "last_name", - "in": "query", - "description": "The last name of the user who created this board.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "favorited", - "in": "query", - "description": "Return favorited boards when true.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "creator_id", - "in": "query", - "description": "Filter on boards created by a particular user.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "sorts", - "in": "query", - "description": "The fields to sort the results by", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "page", - "in": "query", - "description": "The page to return.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "per_page", - "in": "query", - "description": "The number of items in the returned page.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "offset", - "in": "query", - "description": "The number of items to skip before returning any. (used with limit and takes priority over page and per_page)", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "limit", - "in": "query", - "description": "The maximum number of items to return. (used with offset and takes priority over page and per_page)", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "filter_or", - "in": "query", - "description": "Combine given search criteria in a boolean OR expression", - "required": false, - "schema": { "type": "boolean" } - } - ], - "responses": { - "200": { - "description": "boards", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Board" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/boards/{board_id}": { - "get": { - "tags": ["Board"], - "operationId": "board", - "summary": "Get Board", - "description": "### Get information about a board.\n", - "parameters": [ - { - "name": "board_id", - "in": "path", - "description": "Id of board", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Board", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Board" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Board"], - "operationId": "update_board", - "summary": "Update Board", - "description": "### Update a board definition.\n", - "parameters": [ - { - "name": "board_id", - "in": "path", - "description": "Id of board", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/Board", - "required": true - }, - "responses": { - "200": { - "description": "Board", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Board" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["Board"], - "operationId": "delete_board", - "summary": "Delete Board", - "description": "### Delete a board.\n", - "parameters": [ - { - "name": "board_id", - "in": "path", - "description": "Id of board", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/board_items": { - "get": { - "tags": ["Board"], - "operationId": "all_board_items", - "summary": "Get All Board Items", - "description": "### Get information about all board items.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "sorts", - "in": "query", - "description": "Fields to sort by.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "board_section_id", - "in": "query", - "description": "Filter to a specific board section", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Board Item", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/BoardItem" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["Board"], - "operationId": "create_board_item", - "summary": "Create Board Item", - "description": "### Create a new board item.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/BoardItem", - "required": true - }, - "responses": { - "200": { - "description": "Board Item", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BoardItem" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/board_items/{board_item_id}": { - "get": { - "tags": ["Board"], - "operationId": "board_item", - "summary": "Get Board Item", - "description": "### Get information about a board item.\n", - "parameters": [ - { - "name": "board_item_id", - "in": "path", - "description": "Id of board item", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Board Item", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BoardItem" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Board"], - "operationId": "update_board_item", - "summary": "Update Board Item", - "description": "### Update a board item definition.\n", - "parameters": [ - { - "name": "board_item_id", - "in": "path", - "description": "Id of board item", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/BoardItem", - "required": true - }, - "responses": { - "200": { - "description": "Board Item", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BoardItem" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["Board"], - "operationId": "delete_board_item", - "summary": "Delete Board Item", - "description": "### Delete a board item.\n", - "parameters": [ - { - "name": "board_item_id", - "in": "path", - "description": "Id of board_item", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/primary_homepage_sections": { - "get": { - "tags": ["Homepage"], - "operationId": "all_primary_homepage_sections", - "summary": "Get All Primary homepage sections", - "description": "### Get information about the primary homepage's sections.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Primary homepage section", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/HomepageSection" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/board_sections": { - "get": { - "tags": ["Board"], - "operationId": "all_board_sections", - "summary": "Get All Board sections", - "description": "### Get information about all board sections.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "sorts", - "in": "query", - "description": "Fields to sort by.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Board section", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/BoardSection" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["Board"], - "operationId": "create_board_section", - "summary": "Create Board section", - "description": "### Create a new board section.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/BoardSection", - "required": true - }, - "responses": { - "200": { - "description": "Board section", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BoardSection" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/board_sections/{board_section_id}": { - "get": { - "tags": ["Board"], - "operationId": "board_section", - "summary": "Get Board section", - "description": "### Get information about a board section.\n", - "parameters": [ - { - "name": "board_section_id", - "in": "path", - "description": "Id of board section", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Board section", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BoardSection" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Board"], - "operationId": "update_board_section", - "summary": "Update Board section", - "description": "### Update a board section definition.\n", - "parameters": [ - { - "name": "board_section_id", - "in": "path", - "description": "Id of board section", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/BoardSection", - "required": true - }, - "responses": { - "200": { - "description": "Board section", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BoardSection" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["Board"], - "operationId": "delete_board_section", - "summary": "Delete Board section", - "description": "### Delete a board section.\n", - "parameters": [ - { - "name": "board_section_id", - "in": "path", - "description": "Id of board section", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/integration_hubs": { - "get": { - "tags": ["Integration"], - "operationId": "all_integration_hubs", - "summary": "Get All Integration Hubs", - "description": "### Get information about all Integration Hubs.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Integration Hub", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/IntegrationHub" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["Integration"], - "operationId": "create_integration_hub", - "summary": "Create Integration Hub", - "description": "### Create a new Integration Hub.\n\nThis API is rate limited to prevent it from being used for SSRF attacks\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/IntegrationHub", - "required": true - }, - "responses": { - "200": { - "description": "Integration Hub", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/IntegrationHub" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query", - "x-looker-rate-limited": true - } - }, - "/integration_hubs/{integration_hub_id}": { - "get": { - "tags": ["Integration"], - "operationId": "integration_hub", - "summary": "Get Integration Hub", - "description": "### Get information about a Integration Hub.\n", - "parameters": [ - { - "name": "integration_hub_id", - "in": "path", - "description": "Id of Integration Hub", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Integration Hub", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/IntegrationHub" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Integration"], - "operationId": "update_integration_hub", - "summary": "Update Integration Hub", - "description": "### Update a Integration Hub definition.\n\nThis API is rate limited to prevent it from being used for SSRF attacks\n", - "parameters": [ - { - "name": "integration_hub_id", - "in": "path", - "description": "Id of Integration Hub", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/IntegrationHub", - "required": true - }, - "responses": { - "200": { - "description": "Integration Hub", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/IntegrationHub" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query", - "x-looker-rate-limited": true - }, - "delete": { - "tags": ["Integration"], - "operationId": "delete_integration_hub", - "summary": "Delete Integration Hub", - "description": "### Delete a Integration Hub.\n", - "parameters": [ - { - "name": "integration_hub_id", - "in": "path", - "description": "Id of integration_hub", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/integration_hubs/{integration_hub_id}/accept_legal_agreement": { - "post": { - "tags": ["Integration"], - "operationId": "accept_integration_hub_legal_agreement", - "summary": "Accept Integration Hub Legal Agreement", - "description": "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.", - "parameters": [ - { - "name": "integration_hub_id", - "in": "path", - "description": "Id of integration_hub", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "200": { - "description": "Integration hub", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/IntegrationHub" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/integrations": { - "get": { - "tags": ["Integration"], - "operationId": "all_integrations", - "summary": "Get All Integrations", - "description": "### Get information about all Integrations.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "integration_hub_id", - "in": "query", - "description": "Filter to a specific provider", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Integration", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Integration" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/integrations/{integration_id}": { - "get": { - "tags": ["Integration"], - "operationId": "integration", - "summary": "Get Integration", - "description": "### Get information about a Integration.\n", - "parameters": [ - { - "name": "integration_id", - "in": "path", - "description": "Id of integration", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Integration", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Integration" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Integration"], - "operationId": "update_integration", - "summary": "Update Integration", - "description": "### Update parameters on a Integration.\n", - "parameters": [ - { - "name": "integration_id", - "in": "path", - "description": "Id of integration", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Integration" } - } - }, - "description": "Integration", - "required": true - }, - "responses": { - "200": { - "description": "Integration", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Integration" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/integrations/{integration_id}/form": { - "post": { - "tags": ["Integration"], - "operationId": "fetch_integration_form", - "summary": "Fetch Remote Integration Form", - "description": "Returns the Integration form for presentation to the user.", - "parameters": [ - { - "name": "integration_id", - "in": "path", - "description": "Id of integration", - "required": true, - "schema": { "type": "string" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": { "type": "string" } - } - } - }, - "description": "Integration Form Request", - "required": false - }, - "responses": { - "200": { - "description": "Data Action Form", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DataActionForm" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/integrations/{integration_id}/test": { - "post": { - "tags": ["Integration"], - "operationId": "test_integration", - "summary": "Test integration", - "description": "Tests the integration to make sure all the settings are working.", - "parameters": [ - { - "name": "integration_id", - "in": "path", - "description": "Id of integration", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Test Result", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IntegrationTestResult" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/internal_help_resources_content": { - "get": { - "tags": ["Config"], - "operationId": "internal_help_resources_content", - "summary": "Get Internal Help Resources Content", - "description": "### Set the menu item name and content for internal help resources\n", - "responses": { - "200": { - "description": "Internal Help Resources Content", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/InternalHelpResourcesContent" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Config"], - "operationId": "update_internal_help_resources_content", - "summary": "Update internal help resources content", - "description": "Update internal help resources content\n", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/InternalHelpResourcesContent" - } - } - }, - "description": "Internal Help Resources Content", - "required": true - }, - "responses": { - "200": { - "description": "Internal Help Resources Content", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/InternalHelpResourcesContent" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/internal_help_resources_enabled": { - "get": { - "tags": ["Config"], - "operationId": "internal_help_resources", - "summary": "Get Internal Help Resources", - "description": "### Get and set the options for internal help resources\n", - "responses": { - "200": { - "description": "Internal Help Resources", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/InternalHelpResources" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/internal_help_resources": { - "patch": { - "tags": ["Config"], - "operationId": "update_internal_help_resources", - "summary": "Update internal help resources configuration", - "description": "Update internal help resources settings\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/InternalHelpResources" } - } - }, - "description": "Custom Welcome Email", - "required": true - }, - "responses": { - "200": { - "description": "Custom Welcome Email", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/InternalHelpResources" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/ldap_config": { - "get": { - "tags": ["Auth"], - "operationId": "ldap_config", - "summary": "Get LDAP Configuration", - "description": "### Get the LDAP configuration.\n\nLooker can be optionally configured to authenticate users against an Active Directory or other LDAP directory server.\nLDAP setup requires coordination with an administrator of that directory server.\n\nOnly Looker administrators can read and update the LDAP configuration.\n\nConfiguring LDAP impacts authentication for all users. This configuration should be done carefully.\n\nLooker 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).\n\nLDAP is enabled or disabled for Looker using the **enabled** field.\n\nLooker will never return an **auth_password** field. That value can be set, but never retrieved.\n\nSee the [Looker LDAP docs](https://www.looker.com/docs/r/api/ldap_setup) for additional information.\n", - "responses": { - "200": { - "description": "LDAP Configuration.", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/LDAPConfig" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Auth"], - "operationId": "update_ldap_config", - "summary": "Update LDAP Configuration", - "description": "### Update the LDAP configuration.\n\nConfiguring LDAP impacts authentication for all users. This configuration should be done carefully.\n\nOnly Looker administrators can read and update the LDAP configuration.\n\nLDAP is enabled or disabled for Looker using the **enabled** field.\n\nIt is **highly** recommended that any LDAP setting changes be tested using the APIs below before being set globally.\n\nSee the [Looker LDAP docs](https://www.looker.com/docs/r/api/ldap_setup) for additional information.\n", - "requestBody": { - "$ref": "#/components/requestBodies/LDAPConfig", - "required": true - }, - "responses": { - "200": { - "description": "New state for LDAP Configuration.", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/LDAPConfig" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/ldap_config/test_connection": { - "put": { - "tags": ["Auth"], - "operationId": "test_ldap_config_connection", - "summary": "Test LDAP Connection", - "description": "### Test the connection settings for an LDAP configuration.\n\nThis tests that the connection is possible given a connection_host and connection_port.\n\n**connection_host** and **connection_port** are required. **connection_tls** is optional.\n\nExample:\n```json\n{\n \"connection_host\": \"ldap.example.com\",\n \"connection_port\": \"636\",\n \"connection_tls\": true\n}\n```\n\nNo authentication to the LDAP server is attempted.\n\nThe active LDAP settings are not modified.\n", - "requestBody": { - "$ref": "#/components/requestBodies/LDAPConfig", - "required": true - }, - "responses": { - "200": { - "description": "Result info.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LDAPConfigTestResult" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/ldap_config/test_auth": { - "put": { - "tags": ["Auth"], - "operationId": "test_ldap_config_auth", - "summary": "Test LDAP Auth", - "description": "### Test the connection authentication settings for an LDAP configuration.\n\nThis 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.\n\n**connection_host**, **connection_port**, and **auth_username**, are required. **connection_tls** and **auth_password** are optional.\n\nExample:\n```json\n{\n \"connection_host\": \"ldap.example.com\",\n \"connection_port\": \"636\",\n \"connection_tls\": true,\n \"auth_username\": \"cn=looker,dc=example,dc=com\",\n \"auth_password\": \"secret\"\n}\n```\n\nLooker 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.\n\nThe active LDAP settings are not modified.\n\n", - "requestBody": { - "$ref": "#/components/requestBodies/LDAPConfig", - "required": true - }, - "responses": { - "200": { - "description": "Result info.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LDAPConfigTestResult" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/ldap_config/test_user_info": { - "put": { - "tags": ["Auth"], - "operationId": "test_ldap_config_user_info", - "summary": "Test LDAP User Info", - "description": "### Test the user authentication settings for an LDAP configuration without authenticating the user.\n\nThis test will let you easily test the mapping for user properties and roles for any user without needing to authenticate as that user.\n\nThis test accepts a full LDAP configuration along with a username and attempts to find the full info for the user from the LDAP server without actually authenticating the user. So, user password is not required.The configuration is validated before attempting to contact the server.\n\n**test_ldap_user** is required.\n\nThe active LDAP settings are not modified.\n\n", - "requestBody": { - "$ref": "#/components/requestBodies/LDAPConfig", - "required": true - }, - "responses": { - "200": { - "description": "Result info.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LDAPConfigTestResult" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/ldap_config/test_user_auth": { - "put": { - "tags": ["Auth"], - "operationId": "test_ldap_config_user_auth", - "summary": "Test LDAP User Auth", - "description": "### Test the user authentication settings for an LDAP configuration.\n\nThis 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.\n\nLooker 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.\n\n**test_ldap_user** and **test_ldap_password** are required.\n\nThe active LDAP settings are not modified.\n\n", - "requestBody": { - "$ref": "#/components/requestBodies/LDAPConfig", - "required": true - }, - "responses": { - "200": { - "description": "Result info.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LDAPConfigTestResult" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/legacy_features": { - "get": { - "tags": ["Config"], - "operationId": "all_legacy_features", - "summary": "Get All Legacy Features", - "description": "### Get all legacy features.\n", - "responses": { - "200": { - "description": "Legacy Feature", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/LegacyFeature" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/legacy_features/{legacy_feature_id}": { - "get": { - "tags": ["Config"], - "operationId": "legacy_feature", - "summary": "Get Legacy Feature", - "description": "### Get information about the legacy feature with a specific id.\n", - "parameters": [ - { - "name": "legacy_feature_id", - "in": "path", - "description": "id of legacy feature", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Legacy Feature", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/LegacyFeature" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Config"], - "operationId": "update_legacy_feature", - "summary": "Update Legacy Feature", - "description": "### Update information about the legacy feature with a specific id.\n", - "parameters": [ - { - "name": "legacy_feature_id", - "in": "path", - "description": "id of legacy feature", - "required": true, - "schema": { "type": "string" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/LegacyFeature" } - } - }, - "description": "Legacy Feature", - "required": true - }, - "responses": { - "200": { - "description": "Legacy Feature", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/LegacyFeature" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/locales": { - "get": { - "tags": ["Config"], - "operationId": "all_locales", - "summary": "Get All Locales", - "description": "### Get a list of locales that Looker supports.\n", - "responses": { - "200": { - "description": "Locale", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Locale" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/looks": { - "get": { - "tags": ["Look"], - "operationId": "all_looks", - "summary": "Get All Looks", - "description": "### Get information about all active Looks\n\nReturns an array of **abbreviated Look objects** describing all the looks that the caller has access to. Soft-deleted Looks are **not** included.\n\nGet the **full details** of a specific look by id with [look(id)](#!/Look/look)\n\nFind **soft-deleted looks** with [search_looks()](#!/Look/search_looks)\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Look", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Look" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["Look"], - "operationId": "create_look", - "summary": "Create Look", - "description": "### Create a Look\n\nTo create a look to display query data, first create the query with [create_query()](#!/Query/create_query)\nthen assign the query's id to the `query_id` property in the call to `create_look()`.\n\nTo place the look into a particular space, assign the space's id to the `space_id` property\nin the call to `create_look()`.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/LookWithQuery", - "required": true - }, - "responses": { - "200": { - "description": "Look", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/LookWithQuery" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/looks/search": { - "get": { - "tags": ["Look"], - "operationId": "search_looks", - "summary": "Search Looks", - "description": "### Search Looks\n\nReturns an **array of Look objects** that match the specified search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\nGet a **single look** by id with [look(id)](#!/Look/look)\n", - "parameters": [ - { - "name": "id", - "in": "query", - "description": "Match look id.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "title", - "in": "query", - "description": "Match Look title.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "description", - "in": "query", - "description": "Match Look description.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "content_favorite_id", - "in": "query", - "description": "Select looks with a particular content favorite id", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "folder_id", - "in": "query", - "description": "Select looks in a particular folder.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "user_id", - "in": "query", - "description": "Select looks created by a particular user.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "view_count", - "in": "query", - "description": "Select looks with particular view_count value", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "deleted", - "in": "query", - "description": "Select soft-deleted looks", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "query_id", - "in": "query", - "description": "Select looks that reference a particular query by query_id", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "curate", - "in": "query", - "description": "Exclude items that exist only in personal spaces other than the users", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "last_viewed_at", - "in": "query", - "description": "Select looks based on when they were last viewed", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "page", - "in": "query", - "description": "Requested page.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "per_page", - "in": "query", - "description": "Results per page.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "limit", - "in": "query", - "description": "Number of results to return. (used with offset and takes priority over page and per_page)", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "offset", - "in": "query", - "description": "Number of results to skip before returning any. (used with limit and takes priority over page and per_page)", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "sorts", - "in": "query", - "description": "One or more fields to sort results by. Sortable fields: [:title, :user_id, :id, :created_at, :space_id, :folder_id, :description, :updated_at, :last_updater_id, :view_count, :favorite_count, :content_favorite_id, :deleted, :deleted_at, :last_viewed_at, :last_accessed_at, :query_id]", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "filter_or", - "in": "query", - "description": "Combine given search criteria in a boolean OR expression", - "required": false, - "schema": { "type": "boolean" } - } - ], - "responses": { - "200": { - "description": "looks", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Look" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/looks/{look_id}": { - "get": { - "tags": ["Look"], - "operationId": "look", - "summary": "Get Look", - "description": "### Get a Look.\n\nReturns detailed information about a Look and its associated Query.\n\n", - "parameters": [ - { - "name": "look_id", - "in": "path", - "description": "Id of look", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Look", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/LookWithQuery" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Look"], - "operationId": "update_look", - "summary": "Update Look", - "description": "### Modify a Look\n\nUse this function to modify parts of a look. Property values given in a call to `update_look` are\napplied to the existing look, so there's no need to include properties whose values are not changing.\nIt's best to specify only the properties you want to change and leave everything else out\nof your `update_look` call. **Look properties marked 'read-only' will be ignored.**\n\nWhen a user deletes a look in the Looker UI, the look data remains in the database but is\nmarked with a deleted flag (\"soft-deleted\"). Soft-deleted looks can be undeleted (by an admin)\nif the delete was in error.\n\nTo soft-delete a look via the API, use [update_look()](#!/Look/update_look) to change the look's `deleted` property to `true`.\nYou can undelete a look by calling `update_look` to change the look's `deleted` property to `false`.\n\nSoft-deleted looks are excluded from the results of [all_looks()](#!/Look/all_looks) and [search_looks()](#!/Look/search_looks), so they\nessentially disappear from view even though they still reside in the db.\nIn API 3.1 and later, you can pass `deleted: true` as a parameter to [search_looks()](#!/3.1/Look/search_looks) to list soft-deleted looks.\n\nNOTE: [delete_look()](#!/Look/delete_look) performs a \"hard delete\" - the look data is removed from the Looker\ndatabase and destroyed. There is no \"undo\" for `delete_look()`.\n", - "parameters": [ - { - "name": "look_id", - "in": "path", - "description": "Id of look", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/LookWithQuery", - "required": true - }, - "responses": { - "200": { - "description": "Look", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/LookWithQuery" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["Look"], - "operationId": "delete_look", - "summary": "Delete Look", - "description": "### Permanently Delete a Look\n\nThis operation **permanently** removes a look from the Looker database.\n\nNOTE: There is no \"undo\" for this kind of delete.\n\nFor information about soft-delete (which can be undone) see [update_look()](#!/Look/update_look).\n", - "parameters": [ - { - "name": "look_id", - "in": "path", - "description": "Id of look", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/looks/{look_id}/run/{result_format}": { - "get": { - "tags": ["Look"], - "operationId": "run_look", - "summary": "Run Look", - "description": "### Run a Look\n\nRuns a given look's query and returns the results in the requested format.\n\nSupported formats:\n\n| result_format | Description\n| :-----------: | :--- |\n| json | Plain json\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| md | Simple markdown\n| xlsx | MS Excel spreadsheet\n| sql | Returns the generated SQL rather than running the query\n| png | A PNG image of the visualization of the query\n| jpg | A JPG image of the visualization of the query\n\n\n", - "parameters": [ - { - "name": "look_id", - "in": "path", - "description": "Id of look", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "result_format", - "in": "path", - "description": "Format of result", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "limit", - "in": "query", - "description": "Row limit (may override the limit in the saved query).", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "apply_formatting", - "in": "query", - "description": "Apply model-specified formatting to each result.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "apply_vis", - "in": "query", - "description": "Apply visualization options to results.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "cache", - "in": "query", - "description": "Get results from cache if available.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "image_width", - "in": "query", - "description": "Render width for image formats.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "image_height", - "in": "query", - "description": "Render height for image formats.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "generate_drill_links", - "in": "query", - "description": "Generate drill links (only applicable to 'json_detail' format.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "force_production", - "in": "query", - "description": "Force use of production models even if the user is in development mode.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "cache_only", - "in": "query", - "description": "Retrieve any results from cache even if the results have expired.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "path_prefix", - "in": "query", - "description": "Prefix to use for drill links (url encoded).", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "rebuild_pdts", - "in": "query", - "description": "Rebuild PDTS used in query.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "server_table_calcs", - "in": "query", - "description": "Perform table calculations on query results", - "required": false, - "schema": { "type": "boolean" } - } - ], - "responses": { - "200": { - "description": "Look", - "content": { - "text": { "schema": { "type": "string" } }, - "application/json": { "schema": { "type": "string" } }, - "image/png": { "schema": { "type": "string" } }, - "image/jpeg": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "text": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - }, - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - }, - "image/png": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - }, - "image/jpeg": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "db_query" - } - }, - "/looks/{look_id}/copy": { - "post": { - "tags": ["Look"], - "operationId": "copy_look", - "summary": "Copy Look", - "description": "### Copy an existing look\n\nCreates a copy of an existing look, in a specified folder, and returns the copied look.\n\n`look_id` and `folder_id` are required.\n\n`look_id` and `folder_id` must already exist, and `folder_id` must be different from the current `folder_id` of the dashboard.\n", - "parameters": [ - { - "name": "look_id", - "in": "path", - "description": "Look id to copy.", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "folder_id", - "in": "query", - "description": "Folder id to copy to.", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "200": { - "description": "Look", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/LookWithQuery" } - } - } - }, - "201": { - "description": "look", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Look" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/looks/{look_id}/move": { - "patch": { - "tags": ["Look"], - "operationId": "move_look", - "summary": "Move Look", - "description": "### Move an existing look\n\nMoves a look to a specified folder, and returns the moved look.\n\n`look_id` and `folder_id` are required.\n`look_id` and `folder_id` must already exist, and `folder_id` must be different from the current `folder_id` of the dashboard.\n", - "parameters": [ - { - "name": "look_id", - "in": "path", - "description": "Look id to move.", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "folder_id", - "in": "query", - "description": "Folder id to move to.", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "200": { - "description": "Look", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/LookWithQuery" } - } - } - }, - "201": { - "description": "look", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Look" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/lookml_models": { - "get": { - "tags": ["LookmlModel"], - "operationId": "all_lookml_models", - "summary": "Get All LookML Models", - "description": "### Get information about all lookml models.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "LookML Model", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/LookmlModel" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["LookmlModel"], - "operationId": "create_lookml_model", - "summary": "Create LookML Model", - "description": "### Create a lookml model using the specified configuration.\n", - "requestBody": { - "$ref": "#/components/requestBodies/LookmlModel", - "required": true - }, - "responses": { - "200": { - "description": "LookML Model", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/LookmlModel" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/lookml_models/{lookml_model_name}": { - "get": { - "tags": ["LookmlModel"], - "operationId": "lookml_model", - "summary": "Get LookML Model", - "description": "### Get information about a lookml model.\n", - "parameters": [ - { - "name": "lookml_model_name", - "in": "path", - "description": "Name of lookml model.", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "LookML Model", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/LookmlModel" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["LookmlModel"], - "operationId": "update_lookml_model", - "summary": "Update LookML Model", - "description": "### Update a lookml model using the specified configuration.\n", - "parameters": [ - { - "name": "lookml_model_name", - "in": "path", - "description": "Name of lookml model.", - "required": true, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/LookmlModel", - "required": true - }, - "responses": { - "200": { - "description": "LookML Model", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/LookmlModel" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["LookmlModel"], - "operationId": "delete_lookml_model", - "summary": "Delete LookML Model", - "description": "### Delete a lookml model.\n", - "parameters": [ - { - "name": "lookml_model_name", - "in": "path", - "description": "Name of lookml model.", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/lookml_models/{lookml_model_name}/explores/{explore_name}": { - "get": { - "tags": ["LookmlModel"], - "operationId": "lookml_model_explore", - "summary": "Get LookML Model Explore", - "description": "### Get information about a lookml model explore.\n", - "parameters": [ - { - "name": "lookml_model_name", - "in": "path", - "description": "Name of lookml model.", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "explore_name", - "in": "path", - "description": "Name of explore.", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "LookML Model Explore", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/LookmlModelExplore" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/merge_queries/{merge_query_id}": { - "get": { - "tags": ["Query"], - "operationId": "merge_query", - "summary": "Get Merge Query", - "description": "### Get Merge Query\n\nReturns a merge query object given its id.\n", - "parameters": [ - { - "name": "merge_query_id", - "in": "path", - "description": "Merge Query Id", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Merge Query", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/MergeQuery" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query" - } - }, - "/merge_queries": { - "post": { - "tags": ["Query"], - "operationId": "create_merge_query", - "summary": "Create Merge Query", - "description": "### Create Merge Query\n\nCreates a new merge query object.\n\nA merge query takes the results of one or more queries and combines (merges) the results\naccording to field mapping definitions. The result is similar to a SQL left outer join.\n\nA merge query can merge results of queries from different SQL databases.\n\nThe order that queries are defined in the source_queries array property is significant. The\nfirst query in the array defines the primary key into which the results of subsequent\nqueries will be merged.\n\nLike model/view query objects, merge queries are immutable and have structural identity - if\nyou make a request to create a new merge query that is identical to an existing merge query,\nthe existing merge query will be returned instead of creating a duplicate. Conversely, any\nchange to the contents of a merge query will produce a new object with a new id.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/MergeQuery" } - } - }, - "description": "Merge Query", - "required": false - }, - "responses": { - "200": { - "description": "Merge Query", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/MergeQuery" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query" - } - }, - "/models/{model_name}/views/{view_name}/fields/{field_name}/suggestions": { - "get": { - "tags": ["Metadata"], - "operationId": "model_fieldname_suggestions", - "summary": "Model field name suggestions", - "description": "### Field name suggestions for a model and view\n\n", - "parameters": [ - { - "name": "model_name", - "in": "path", - "description": "Name of model", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "view_name", - "in": "path", - "description": "Name of view", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "field_name", - "in": "path", - "description": "Name of field to use for suggestions", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "term", - "in": "query", - "description": "Search term", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "filters", - "in": "query", - "description": "Suggestion filters", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Model view field suggestions", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ModelFieldSuggestions" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/connections/{connection_name}/databases": { - "get": { - "tags": ["Metadata"], - "operationId": "connection_databases", - "summary": "List accessible databases to this connection", - "description": "### List databases available to this connection\n\nCertain dialects can support multiple databases per single connection.\nIf this connection supports multiple databases, the database names will be returned in an array.\n\nConnections using dialects that do not support multiple databases will return an empty array.\n\n**Note**: [Connection Features](#!/Metadata/connection_features) can be used to determine if a connection supports\nmultiple databases.\n", - "parameters": [ - { - "name": "connection_name", - "in": "path", - "description": "Name of connection", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Database names", - "content": { - "application/json": { - "schema": { "type": "array", "items": { "type": "string" } } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query" - } - }, - "/connections/{connection_name}/features": { - "get": { - "tags": ["Metadata"], - "operationId": "connection_features", - "summary": "Metadata features supported by this connection", - "description": "### Retrieve metadata features for this connection\n\nReturns a list of feature names with `true` (available) or `false` (not available)\n\n", - "parameters": [ - { - "name": "connection_name", - "in": "path", - "description": "Name of connection", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Connection features", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ConnectionFeatures" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query", - "x-looker-rate-limited": true - } - }, - "/connections/{connection_name}/schemas": { - "get": { - "tags": ["Metadata"], - "operationId": "connection_schemas", - "summary": "Get schemas for a connection", - "description": "### Get the list of schemas and tables for a connection\n\n", - "parameters": [ - { - "name": "connection_name", - "in": "path", - "description": "Name of connection", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "database", - "in": "query", - "description": "For dialects that support multiple databases, optionally identify which to use", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "cache", - "in": "query", - "description": "True to use fetch from cache, false to load fresh", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Schemas for connection", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Schema" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/connections/{connection_name}/tables": { - "get": { - "tags": ["Metadata"], - "operationId": "connection_tables", - "summary": "Get tables for a connection", - "description": "### Get the list of tables for a schema\n\nFor dialects that support multiple databases, optionally identify which to use. If not provided, the default\ndatabase for the connection will be used.\n\nFor dialects that do **not** support multiple databases, **do not use** the database parameter\n", - "parameters": [ - { - "name": "connection_name", - "in": "path", - "description": "Name of connection", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "database", - "in": "query", - "description": "Optional. Name of database to use for the query, only if applicable", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "schema_name", - "in": "query", - "description": "Optional. Return only tables for this schema", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "cache", - "in": "query", - "description": "True to fetch from cache, false to load fresh", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Schemas and tables for connection", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/SchemaTables" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/connections/{connection_name}/columns": { - "get": { - "tags": ["Metadata"], - "operationId": "connection_columns", - "summary": "Get columns for a connection", - "description": "### Get the columns (and therefore also the tables) in a specific schema\n\n", - "parameters": [ - { - "name": "connection_name", - "in": "path", - "description": "Name of connection", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "database", - "in": "query", - "description": "For dialects that support multiple databases, optionally identify which to use", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "schema_name", - "in": "query", - "description": "Name of schema to use.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "cache", - "in": "query", - "description": "True to fetch from cache, false to load fresh", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "table_limit", - "in": "query", - "description": "limits the tables per schema returned", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "table_names", - "in": "query", - "description": "only fetch columns for a given (comma-separated) list of tables", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Columns schema for connection", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/SchemaColumns" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/connections/{connection_name}/search_columns": { - "get": { - "tags": ["Metadata"], - "operationId": "connection_search_columns", - "summary": "Search a connection for columns", - "description": "### Search a connection for columns matching the specified name\n\n**Note**: `column_name` must be a valid column name. It is not a search pattern.\n", - "parameters": [ - { - "name": "connection_name", - "in": "path", - "description": "Name of connection", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "column_name", - "in": "query", - "description": "Column name to find", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Column names matching search pattern", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/ColumnSearch" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query", - "x-looker-rate-limited": true - } - }, - "/connections/{connection_name}/cost_estimate": { - "post": { - "tags": ["Metadata"], - "operationId": "connection_cost_estimate", - "summary": "Estimate costs for a connection", - "description": "### Connection cost estimating\n\nAssign a `sql` statement to the body of the request. e.g., for Ruby, `{sql: 'select * from users'}`\n\n**Note**: If the connection's dialect has no support for cost estimates, an error will be returned\n", - "parameters": [ - { - "name": "connection_name", - "in": "path", - "description": "Name of connection", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CreateCostEstimate" } - } - }, - "description": "SQL statement to estimate", - "required": true - }, - "responses": { - "200": { - "description": "Connection cost estimates", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CostEstimate" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query", - "x-looker-rate-limited": true - } - }, - "/mobile/settings": { - "get": { - "tags": ["Config"], - "operationId": "mobile_settings", - "summary": "Get Mobile_Settings", - "description": "### Get all mobile settings.\n", - "responses": { - "200": { - "description": "Mobile_Settings", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/MobileSettings" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/model_sets/search": { - "get": { - "tags": ["Role"], - "operationId": "search_model_sets", - "summary": "Search Model Sets", - "description": "### Search model sets\nReturns all model set records that match the given search criteria.\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "limit", - "in": "query", - "description": "Number of results to return (used with `offset`).", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "offset", - "in": "query", - "description": "Number of results to skip before returning any (used with `limit`).", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "sorts", - "in": "query", - "description": "Fields to sort by.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "id", - "in": "query", - "description": "Match model set id.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "name", - "in": "query", - "description": "Match model set name.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "all_access", - "in": "query", - "description": "Match model sets by all_access status.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "built_in", - "in": "query", - "description": "Match model sets by built_in status.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "filter_or", - "in": "query", - "description": "Combine given search criteria in a boolean OR expression.", - "required": false, - "schema": { "type": "boolean" } - } - ], - "responses": { - "200": { - "description": "Model Set", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/ModelSet" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/model_sets/{model_set_id}": { - "get": { - "tags": ["Role"], - "operationId": "model_set", - "summary": "Get Model Set", - "description": "### Get information about the model set with a specific id.\n", - "parameters": [ - { - "name": "model_set_id", - "in": "path", - "description": "Id of model set", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Specified model set.", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ModelSet" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["Role"], - "operationId": "delete_model_set", - "summary": "Delete Model Set", - "description": "### Delete the model set with a specific id.\n", - "parameters": [ - { - "name": "model_set_id", - "in": "path", - "description": "id of model set", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { - "description": "Model set succssfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "405": { - "description": "Resource Can't Be Modified", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Role"], - "operationId": "update_model_set", - "summary": "Update Model Set", - "description": "### Update information about the model set with a specific id.\n", - "parameters": [ - { - "name": "model_set_id", - "in": "path", - "description": "id of model set", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/ModelSet", - "required": true - }, - "responses": { - "200": { - "description": "New state for specified model set.", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ModelSet" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "405": { - "description": "Resource Can't Be Modified", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/model_sets": { - "get": { - "tags": ["Role"], - "operationId": "all_model_sets", - "summary": "Get All Model Sets", - "description": "### Get information about all model sets.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "All model sets.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/ModelSet" } - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["Role"], - "operationId": "create_model_set", - "summary": "Create Model Set", - "description": "### Create a model set with the specified information. Model sets are used by Roles.\n", - "requestBody": { - "$ref": "#/components/requestBodies/ModelSet", - "required": true - }, - "responses": { - "200": { - "description": "Newly created ModelSet", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ModelSet" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/oauth_client_apps": { - "get": { - "tags": ["Auth"], - "operationId": "all_oauth_client_apps", - "summary": "Get All OAuth Client Apps", - "description": "### List All OAuth Client Apps\n\nLists all applications registered to use OAuth2 login with this Looker instance, including\nenabled and disabled apps.\n\nResults are filtered to include only the apps that the caller (current user)\nhas permission to see.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "OAuth Client App", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/OauthClientApp" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/oauth_client_apps/{client_guid}": { - "get": { - "tags": ["Auth"], - "operationId": "oauth_client_app", - "summary": "Get OAuth Client App", - "description": "### Get Oauth Client App\n\nReturns the registered app client with matching client_guid.\n", - "parameters": [ - { - "name": "client_guid", - "in": "path", - "description": "The unique id of this application", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "OAuth Client App", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/OauthClientApp" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["Auth"], - "operationId": "delete_oauth_client_app", - "summary": "Delete OAuth Client App", - "description": "### Delete OAuth Client App\n\nDeletes the registration info of the app with the matching client_guid.\nAll active sessions and tokens issued for this app will immediately become invalid.\n\n### Note: this deletion cannot be undone.\n", - "parameters": [ - { - "name": "client_guid", - "in": "path", - "description": "The unique id of this application", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["Auth"], - "operationId": "register_oauth_client_app", - "summary": "Register OAuth App", - "description": "### Register an OAuth2 Client App\n\nRegisters details identifying an external web app or native app as an OAuth2 login client of the Looker instance.\nThe app registration must provide a unique client_guid and redirect_uri that the app will present\nin OAuth login requests. If the client_guid and redirect_uri parameters in the login request do not match\nthe app details registered with the Looker instance, the request is assumed to be a forgery and is rejected.\n", - "parameters": [ - { - "name": "client_guid", - "in": "path", - "description": "The unique id of this application", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/OauthClientApp", - "required": true - }, - "responses": { - "200": { - "description": "OAuth Client App", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/OauthClientApp" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Auth"], - "operationId": "update_oauth_client_app", - "summary": "Update OAuth App", - "description": "### Update OAuth2 Client App Details\n\nModifies the details a previously registered OAuth2 login client app.\n", - "parameters": [ - { - "name": "client_guid", - "in": "path", - "description": "The unique id of this application", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/OauthClientApp", - "required": true - }, - "responses": { - "200": { - "description": "OAuth Client App", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/OauthClientApp" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/oauth_client_apps/{client_guid}/tokens": { - "delete": { - "tags": ["Auth"], - "operationId": "invalidate_tokens", - "summary": "Invalidate Tokens", - "description": "### Invalidate All Issued Tokens\n\nImmediately invalidates all auth codes, sessions, access tokens and refresh tokens issued for\nthis app for ALL USERS of this app.\n", - "parameters": [ - { - "name": "client_guid", - "in": "path", - "description": "The unique id of the application", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/oauth_client_apps/{client_guid}/users/{user_id}": { - "post": { - "tags": ["Auth"], - "operationId": "activate_app_user", - "summary": "Activate OAuth App User", - "description": "### Activate an app for a user\n\nActivates a user for a given oauth client app. This indicates the user has been informed that\nthe app will have access to the user's looker data, and that the user has accepted and allowed\nthe app to use their Looker account.\n\nActivating a user for an app that the user is already activated with returns a success response.\n", - "parameters": [ - { - "name": "client_guid", - "in": "path", - "description": "The unique id of this application", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "user_id", - "in": "path", - "description": "The id of the user to enable use of this app", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "OAuth Client App", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "204": { "description": "Deleted" }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["Auth"], - "operationId": "deactivate_app_user", - "summary": "Deactivate OAuth App User", - "description": "### Deactivate an app for a user\n\nDeactivate a user for a given oauth client app. All tokens issued to the app for\nthis user will be invalid immediately. Before the user can use the app with their\nLooker account, the user will have to read and accept an account use disclosure statement for the app.\n\nAdmin users can deactivate other users, but non-admin users can only deactivate themselves.\n\nAs with most REST DELETE operations, this endpoint does not return an error if the indicated\nresource (app or user) does not exist or has already been deactivated.\n", - "parameters": [ - { - "name": "client_guid", - "in": "path", - "description": "The unique id of this application", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "user_id", - "in": "path", - "description": "The id of the user to enable use of this app", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/oidc_config": { - "get": { - "tags": ["Auth"], - "operationId": "oidc_config", - "summary": "Get OIDC Configuration", - "description": "### Get the OIDC configuration.\n\nLooker can be optionally configured to authenticate users against an OpenID Connect (OIDC)\nauthentication server. OIDC setup requires coordination with an administrator of that server.\n\nOnly Looker administrators can read and update the OIDC configuration.\n\nConfiguring OIDC impacts authentication for all users. This configuration should be done carefully.\n\nLooker maintains a single OIDC configuation. 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).\n\nOIDC is enabled or disabled for Looker using the **enabled** field.\n", - "responses": { - "200": { - "description": "OIDC Configuration.", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/OIDCConfig" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Auth"], - "operationId": "update_oidc_config", - "summary": "Update OIDC Configuration", - "description": "### Update the OIDC configuration.\n\nConfiguring OIDC impacts authentication for all users. This configuration should be done carefully.\n\nOnly Looker administrators can read and update the OIDC configuration.\n\nOIDC is enabled or disabled for Looker using the **enabled** field.\n\nIt is **highly** recommended that any OIDC setting changes be tested using the APIs below before being set globally.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/OIDCConfig" } - } - }, - "description": "OIDC Config", - "required": true - }, - "responses": { - "200": { - "description": "New state for OIDC Configuration.", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/OIDCConfig" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/oidc_test_configs/{test_slug}": { - "get": { - "tags": ["Auth"], - "operationId": "oidc_test_config", - "summary": "Get OIDC Test Configuration", - "description": "### Get a OIDC test configuration by test_slug.\n", - "parameters": [ - { - "name": "test_slug", - "in": "path", - "description": "Slug of test config", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "OIDC test config.", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/OIDCConfig" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["Auth"], - "operationId": "delete_oidc_test_config", - "summary": "Delete OIDC Test Configuration", - "description": "### Delete a OIDC test configuration.\n", - "parameters": [ - { - "name": "test_slug", - "in": "path", - "description": "Slug of test config", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "204": { - "description": "Test config succssfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/oidc_test_configs": { - "post": { - "tags": ["Auth"], - "operationId": "create_oidc_test_config", - "summary": "Create OIDC Test Configuration", - "description": "### Create a OIDC test configuration.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/OIDCConfig" } - } - }, - "description": "OIDC test config", - "required": true - }, - "responses": { - "200": { - "description": "OIDC test config", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/OIDCConfig" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/password_config": { - "get": { - "tags": ["Auth"], - "operationId": "password_config", - "summary": "Get Password Config", - "description": "### Get password config.\n", - "responses": { - "200": { - "description": "Password Config", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/PasswordConfig" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Auth"], - "operationId": "update_password_config", - "summary": "Update Password Config", - "description": "### Update password config.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/PasswordConfig" } - } - }, - "description": "Password Config", - "required": true - }, - "responses": { - "200": { - "description": "Password Config", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/PasswordConfig" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/password_config/force_password_reset_at_next_login_for_all_users": { - "put": { - "tags": ["Auth"], - "operationId": "force_password_reset_at_next_login_for_all_users", - "summary": "Force password reset", - "description": "### Force all credentials_email users to reset their login passwords upon their next login.\n", - "responses": { - "200": { - "description": "Password Config", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/permissions": { - "get": { - "tags": ["Role"], - "operationId": "all_permissions", - "summary": "Get All Permissions", - "description": "### Get all supported permissions.\n", - "responses": { - "200": { - "description": "Permission", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Permission" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/permission_sets/search": { - "get": { - "tags": ["Role"], - "operationId": "search_permission_sets", - "summary": "Search Permission Sets", - "description": "### Search permission sets\nReturns all permission set records that match the given search criteria.\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "limit", - "in": "query", - "description": "Number of results to return (used with `offset`).", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "offset", - "in": "query", - "description": "Number of results to skip before returning any (used with `limit`).", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "sorts", - "in": "query", - "description": "Fields to sort by.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "id", - "in": "query", - "description": "Match permission set id.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "name", - "in": "query", - "description": "Match permission set name.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "all_access", - "in": "query", - "description": "Match permission sets by all_access status.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "built_in", - "in": "query", - "description": "Match permission sets by built_in status.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "filter_or", - "in": "query", - "description": "Combine given search criteria in a boolean OR expression.", - "required": false, - "schema": { "type": "boolean" } - } - ], - "responses": { - "200": { - "description": "Permission Set", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/PermissionSet" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/permission_sets/{permission_set_id}": { - "get": { - "tags": ["Role"], - "operationId": "permission_set", - "summary": "Get Permission Set", - "description": "### Get information about the permission set with a specific id.\n", - "parameters": [ - { - "name": "permission_set_id", - "in": "path", - "description": "Id of permission set", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Permission Set", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/PermissionSet" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["Role"], - "operationId": "delete_permission_set", - "summary": "Delete Permission Set", - "description": "### Delete the permission set with a specific id.\n", - "parameters": [ - { - "name": "permission_set_id", - "in": "path", - "description": "Id of permission set", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "405": { - "description": "Resource Can't Be Modified", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Role"], - "operationId": "update_permission_set", - "summary": "Update Permission Set", - "description": "### Update information about the permission set with a specific id.\n", - "parameters": [ - { - "name": "permission_set_id", - "in": "path", - "description": "id of permission set", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/PermissionSet", - "required": true - }, - "responses": { - "200": { - "description": "Permission Set", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/PermissionSet" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "405": { - "description": "Resource Can't Be Modified", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/permission_sets": { - "get": { - "tags": ["Role"], - "operationId": "all_permission_sets", - "summary": "Get All Permission Sets", - "description": "### Get information about all permission sets.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Permission Set", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/PermissionSet" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["Role"], - "operationId": "create_permission_set", - "summary": "Create Permission Set", - "description": "### Create a permission set with the specified information. Permission sets are used by Roles.\n", - "requestBody": { - "$ref": "#/components/requestBodies/PermissionSet", - "required": true - }, - "responses": { - "200": { - "description": "Permission Set", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/PermissionSet" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/projects/{project_id}/deploy_ref_to_production": { - "post": { - "tags": ["Project"], - "operationId": "deploy_ref_to_production", - "summary": "Deploy Remote Branch or Ref to Production", - "description": "### Deploy a Remote Branch or Ref to Production\n\nGit must have been configured and deploy permission required.\n\nDeploy is a one/two step process\n1. If this is the first deploy of this project, create the production project with git repository.\n2. Pull the branch or ref into the production project.\n\nCan only specify either a branch or a ref.\n\n", - "parameters": [ - { - "name": "project_id", - "in": "path", - "description": "Id of project", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "branch", - "in": "query", - "description": "Branch to deploy to production", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "ref", - "in": "query", - "description": "Ref to deploy to production", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Project", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "204": { - "description": "Returns 204 if project was successfully deployed to production, otherwise 400 with an error message" - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/projects/{project_id}/deploy_to_production": { - "post": { - "tags": ["Project"], - "operationId": "deploy_to_production", - "summary": "Deploy To Production", - "description": "### Deploy LookML from this Development Mode Project to Production\n\nGit must have been configured, must be in dev mode and deploy permission required\n\nDeploy is a two / three step process:\n\n1. Push commits in current branch of dev mode project to the production branch (origin/master).\n Note a. This step is skipped in read-only projects.\n Note b. If this step is unsuccessful for any reason (e.g. rejected non-fastforward because production branch has\n commits not in current branch), subsequent steps will be skipped.\n2. If this is the first deploy of this project, create the production project with git repository.\n3. Pull the production branch into the production project.\n\n", - "parameters": [ - { - "name": "project_id", - "in": "path", - "description": "Id of project", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Project", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "204": { - "description": "Returns 204 if project was successfully deployed to production, otherwise 400 with an error message" - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/projects/{project_id}/reset_to_production": { - "post": { - "tags": ["Project"], - "operationId": "reset_project_to_production", - "summary": "Reset To Production", - "description": "### Reset a project to the revision of the project that is in production.\n\n**DANGER** this will delete any changes that have not been pushed to a remote repository.\n", - "parameters": [ - { - "name": "project_id", - "in": "path", - "description": "Id of project", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Project", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "204": { - "description": "Returns 204 if project was successfully reset, otherwise 400 with an error message" - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/projects/{project_id}/reset_to_remote": { - "post": { - "tags": ["Project"], - "operationId": "reset_project_to_remote", - "summary": "Reset To Remote", - "description": "### Reset a project development branch to the revision of the project that is on the remote.\n\n**DANGER** this will delete any changes that have not been pushed to a remote repository.\n", - "parameters": [ - { - "name": "project_id", - "in": "path", - "description": "Id of project", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Project", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "204": { - "description": "Returns 204 if project was successfully reset, otherwise 400 with an error message" - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/projects": { - "get": { - "tags": ["Project"], - "operationId": "all_projects", - "summary": "Get All Projects", - "description": "### Get All Projects\n\nReturns all projects visible to the current user\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Project", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Project" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["Project"], - "operationId": "create_project", - "summary": "Create Project", - "description": "### Create A Project\n\ndev mode required.\n- Call `update_session` to select the 'dev' workspace.\n\n`name` is required.\n`git_remote_url` is not allowed. To configure Git for the newly created project, follow the instructions in `update_project`.\n\n", - "requestBody": { - "$ref": "#/components/requestBodies/Project", - "required": true - }, - "responses": { - "200": { - "description": "Project", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Project" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/projects/{project_id}": { - "get": { - "tags": ["Project"], - "operationId": "project", - "summary": "Get Project", - "description": "### Get A Project\n\nReturns the project with the given project id\n", - "parameters": [ - { - "name": "project_id", - "in": "path", - "description": "Project Id", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Project", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Project" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Project"], - "operationId": "update_project", - "summary": "Update Project", - "description": "### Update Project Configuration\n\nApply changes to a project's configuration.\n\n\n#### Configuring Git for a Project\n\nTo set up a Looker project with a remote git repository, follow these steps:\n\n1. Call `update_session` to select the 'dev' workspace.\n1. Call `create_git_deploy_key` to create a new deploy key for the project\n1. Copy the deploy key text into the remote git repository's ssh key configuration\n1. Call `update_project` to set project's `git_remote_url` ()and `git_service_name`, if necessary).\n\nWhen you modify a project's `git_remote_url`, Looker connects to the remote repository to fetch\nmetadata. The remote git repository MUST be configured with the Looker-generated deploy\nkey for this project prior to setting the project's `git_remote_url`.\n\nTo set up a Looker project with a git repository residing on the Looker server (a 'bare' git repo):\n\n1. Call `update_session` to select the 'dev' workspace.\n1. Call `update_project` setting `git_remote_url` to null and `git_service_name` to \"bare\".\n\n", - "parameters": [ - { - "name": "project_id", - "in": "path", - "description": "Project Id", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/Project", - "required": true - }, - "responses": { - "200": { - "description": "Project", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Project" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "500": { - "description": "Server Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/projects/{project_id}/manifest": { - "get": { - "tags": ["Project"], - "operationId": "manifest", - "summary": "Get Manifest", - "description": "### Get A Projects Manifest object\n\nReturns the project with the given project id\n", - "parameters": [ - { - "name": "project_id", - "in": "path", - "description": "Project Id", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Manifest", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Manifest" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/projects/{project_id}/git/deploy_key": { - "post": { - "tags": ["Project"], - "operationId": "create_git_deploy_key", - "summary": "Create Deploy Key", - "description": "### Create Git Deploy Key\n\nCreate a public/private key pair for authenticating ssh git requests from Looker to a remote git repository\nfor a particular Looker project.\n\nReturns the public key of the generated ssh key pair.\n\nCopy this public key to your remote git repository's ssh keys configuration so that the remote git service can\nvalidate and accept git requests from the Looker server.\n", - "parameters": [ - { - "name": "project_id", - "in": "path", - "description": "Project Id", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Project", - "content": { "text/plain": { "schema": { "type": "string" } } } - }, - "400": { - "description": "Bad Request", - "content": { - "text/plain": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "text/plain": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "text/plain": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "text/plain": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "text/plain": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "get": { - "tags": ["Project"], - "operationId": "git_deploy_key", - "summary": "Git Deploy Key", - "description": "### Git Deploy Key\n\nReturns the ssh public key previously created for a project's git repository.\n", - "parameters": [ - { - "name": "project_id", - "in": "path", - "description": "Project Id", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "The text of the public key portion of the deploy_key", - "content": { "text/plain": { "schema": { "type": "string" } } } - }, - "400": { - "description": "Bad Request", - "content": { - "text/plain": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "text/plain": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/projects/{project_id}/validate": { - "post": { - "tags": ["Project"], - "operationId": "validate_project", - "summary": "Validate Project", - "description": "### Validate Project\n\nPerforms lint validation of all lookml files in the project.\nReturns a list of errors found, if any.\n\nValidating the content of all the files in a project can be computationally intensive\nfor large projects. For best performance, call `validate_project(project_id)` only\nwhen you really want to recompute project validation. To quickly display the results of\nthe most recent project validation (without recomputing), use `project_validation_results(project_id)`\n", - "parameters": [ - { - "name": "project_id", - "in": "path", - "description": "Project Id", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Project validation results", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ProjectValidation" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "get": { - "tags": ["Project"], - "operationId": "project_validation_results", - "summary": "Cached Project Validation Results", - "description": "### Get Cached Project Validation Results\n\nReturns the cached results of a previous project validation calculation, if any.\nReturns http status 204 No Content if no validation results exist.\n\nValidating the content of all the files in a project can be computationally intensive\nfor large projects. Use this API to simply fetch the results of the most recent\nproject validation rather than revalidating the entire project from scratch.\n\nA value of `\"stale\": true` in the response indicates that the project has changed since\nthe cached validation results were computed. The cached validation results may no longer\nreflect the current state of the project.\n", - "parameters": [ - { - "name": "project_id", - "in": "path", - "description": "Project Id", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Project validation results", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProjectValidationCache" - } - } - } - }, - "204": { "description": "Deleted" }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/projects/{project_id}/current_workspace": { - "get": { - "tags": ["Project"], - "operationId": "project_workspace", - "summary": "Get Project Workspace", - "description": "### Get Project Workspace\n\nReturns information about the state of the project files in the currently selected workspace\n", - "parameters": [ - { - "name": "project_id", - "in": "path", - "description": "Project Id", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Project Workspace", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ProjectWorkspace" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/projects/{project_id}/files": { - "get": { - "tags": ["Project"], - "operationId": "all_project_files", - "summary": "Get All Project Files", - "description": "### Get All Project Files\n\nReturns a list of the files in the project\n", - "parameters": [ - { - "name": "project_id", - "in": "path", - "description": "Project Id", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Project File", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/ProjectFile" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/projects/{project_id}/files/file": { - "get": { - "tags": ["Project"], - "operationId": "project_file", - "summary": "Get Project File", - "description": "### Get Project File Info\n\nReturns information about a file in the project\n", - "parameters": [ - { - "name": "project_id", - "in": "path", - "description": "Project Id", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "file_id", - "in": "query", - "description": "File Id", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Project File", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ProjectFile" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/projects/{project_id}/git_connection_tests": { - "get": { - "tags": ["Project"], - "operationId": "all_git_connection_tests", - "summary": "Get All Git Connection Tests", - "description": "### Get All Git Connection Tests\n\ndev mode required.\n - Call `update_session` to select the 'dev' workspace.\n\nReturns 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.\n\nTests 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.\n\nFor example, a late-stage test for write access is meaningless if connecting to the git server (an early test) is failing.\n", - "parameters": [ - { - "name": "project_id", - "in": "path", - "description": "Project Id", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "remote_url", - "in": "query", - "description": "(Optional: leave blank for root project) The remote url for remote dependency to test.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Git Connection Test", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/GitConnectionTest" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/projects/{project_id}/git_connection_tests/{test_id}": { - "get": { - "tags": ["Project"], - "operationId": "run_git_connection_test", - "summary": "Run Git Connection Test", - "description": "### Run a git connection test\n\nRun 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\nis intended to help debug git connections when things do not work properly, to give\nmore helpful information about why a git url is not working with Looker.\n\nTests should be run in the order they are returned by [Get All Git Connection Tests](#!/Project/all_git_connection_tests).\n", - "parameters": [ - { - "name": "project_id", - "in": "path", - "description": "Project Id", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "test_id", - "in": "path", - "description": "Test Id", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "remote_url", - "in": "query", - "description": "(Optional: leave blank for root project) The remote url for remote dependency to test.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "use_production", - "in": "query", - "description": "(Optional: leave blank for dev credentials) Whether to use git production credentials.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Git Connection Test Result", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GitConnectionTestResult" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/projects/{project_id}/lookml_tests": { - "get": { - "tags": ["Project"], - "operationId": "all_lookml_tests", - "summary": "Get All LookML Tests", - "description": "### Get All LookML Tests\n\nReturns a list of tests which can be run to validate a project's LookML code and/or the underlying data,\noptionally filtered by the file id.\nCall [Run LookML Test](#!/Project/run_lookml_test) to execute tests.\n", - "parameters": [ - { - "name": "project_id", - "in": "path", - "description": "Project Id", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "file_id", - "in": "query", - "description": "File Id", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "LookML Test", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/LookmlTest" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/projects/{project_id}/lookml_tests/run": { - "get": { - "tags": ["Project"], - "operationId": "run_lookml_test", - "summary": "Run LookML Test", - "description": "### Run LookML Tests\n\nRuns all tests in the project, optionally filtered by file, test, and/or model.\n", - "parameters": [ - { - "name": "project_id", - "in": "path", - "description": "Project Id", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "file_id", - "in": "query", - "description": "File Name", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "test", - "in": "query", - "description": "Test Name", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "model", - "in": "query", - "description": "Model Name", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "LookML Test Results", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/LookmlTestResult" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/render_tasks/looks/{look_id}/{result_format}": { - "post": { - "tags": ["RenderTask"], - "operationId": "create_look_render_task", - "summary": "Create Look Render Task", - "description": "### Create a new task to render a look to an image.\n\nReturns a render task object.\nTo check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\nOnce the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n\n", - "parameters": [ - { - "name": "look_id", - "in": "path", - "description": "Id of look to render", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "result_format", - "in": "path", - "description": "Output type: png, or jpg", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "width", - "in": "query", - "description": "Output width in pixels", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "height", - "in": "query", - "description": "Output height in pixels", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Render Task", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/RenderTask" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query" - } - }, - "/render_tasks/queries/{query_id}/{result_format}": { - "post": { - "tags": ["RenderTask"], - "operationId": "create_query_render_task", - "summary": "Create Query Render Task", - "description": "### Create a new task to render an existing query to an image.\n\nReturns a render task object.\nTo check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\nOnce the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n\n", - "parameters": [ - { - "name": "query_id", - "in": "path", - "description": "Id of the query to render", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "result_format", - "in": "path", - "description": "Output type: png or jpg", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "width", - "in": "query", - "description": "Output width in pixels", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "height", - "in": "query", - "description": "Output height in pixels", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Render Task", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/RenderTask" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query" - } - }, - "/render_tasks/dashboards/{dashboard_id}/{result_format}": { - "post": { - "tags": ["RenderTask"], - "operationId": "create_dashboard_render_task", - "summary": "Create Dashboard Render Task", - "description": "### Create a new task to render a dashboard to a document or image.\n\nReturns a render task object.\nTo check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\nOnce the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n\n", - "parameters": [ - { - "name": "dashboard_id", - "in": "path", - "description": "Id of dashboard to render. The ID can be a LookML dashboard also.", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "result_format", - "in": "path", - "description": "Output type: pdf, png, or jpg", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "width", - "in": "query", - "description": "Output width in pixels", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "height", - "in": "query", - "description": "Output height in pixels", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "pdf_paper_size", - "in": "query", - "description": "Paper size for pdf. Value can be one of: [\"letter\",\"legal\",\"tabloid\",\"a0\",\"a1\",\"a2\",\"a3\",\"a4\",\"a5\"]", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "pdf_landscape", - "in": "query", - "description": "Whether to render pdf in landscape paper orientation", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "long_tables", - "in": "query", - "description": "Whether or not to expand table vis to full length", - "required": false, - "schema": { "type": "boolean" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateDashboardRenderTask" - } - } - }, - "description": "Dashboard render task parameters", - "required": true - }, - "responses": { - "200": { - "description": "Render Task", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/RenderTask" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query" - } - }, - "/render_tasks/{render_task_id}": { - "get": { - "tags": ["RenderTask"], - "operationId": "render_task", - "summary": "Get Render Task", - "description": "### Get information about a render task.\n\nReturns a render task object.\nTo check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\nOnce the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n\n", - "parameters": [ - { - "name": "render_task_id", - "in": "path", - "description": "Id of render task", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Render Task", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/RenderTask" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query" - } - }, - "/render_tasks/{render_task_id}/results": { - "get": { - "tags": ["RenderTask"], - "operationId": "render_task_results", - "summary": "Render Task Results", - "description": "### Get the document or image produced by a completed render task.\n\nNote that the PDF or image result will be a binary blob in the HTTP response, as indicated by the\nContent-Type in the response headers. This may require specialized (or at least different) handling than text\nresponses such as JSON. You may need to tell your HTTP client that the response is binary so that it does not\nattempt to parse the binary data as text.\n\nIf the render task exists but has not finished rendering the results, the response HTTP status will be\n**202 Accepted**, the response body will be empty, and the response will have a Retry-After header indicating\nthat the caller should repeat the request at a later time.\n\nReturns 404 if the render task cannot be found, if the cached result has expired, or if the caller\ndoes not have permission to view the results.\n\nFor detailed information about the status of the render task, use [Render Task](#!/RenderTask/render_task).\nPolling loops waiting for completion of a render task would be better served by polling **render_task(id)** until\nthe task status reaches completion (or error) instead of polling **render_task_results(id)** alone.\n", - "parameters": [ - { - "name": "render_task_id", - "in": "path", - "description": "Id of render task", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Document or image", - "content": { - "image/jpeg": { "schema": { "type": "string" } }, - "image/png": { "schema": { "type": "string" } }, - "application/pdf": { "schema": { "type": "string" } } - } - }, - "202": { "description": "Accepted" }, - "400": { - "description": "Bad Request", - "content": { - "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "application/pdf": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "application/pdf": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query" - } - }, - "/projects/{root_project_id}/credential/{credential_id}": { - "put": { - "tags": ["Project"], - "operationId": "update_repository_credential", - "summary": "Create Repository Credential", - "description": "### Configure Repository Credential for a remote dependency\n\nAdmin required.\n\n`root_project_id` is required.\n`credential_id` is required.\n\n", - "parameters": [ - { - "name": "root_project_id", - "in": "path", - "description": "Root Project Id", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "credential_id", - "in": "path", - "description": "Credential Id", - "required": true, - "schema": { "type": "string" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/RepositoryCredential" } - } - }, - "description": "Remote Project Information", - "required": true - }, - "responses": { - "200": { - "description": "Repository Credential", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RepositoryCredential" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["Project"], - "operationId": "delete_repository_credential", - "summary": "Delete Repository Credential", - "description": "### Repository Credential for a remote dependency\n\nAdmin required.\n\n`root_project_id` is required.\n`credential_id` is required.\n", - "parameters": [ - { - "name": "root_project_id", - "in": "path", - "description": "Root Project Id", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "credential_id", - "in": "path", - "description": "Credential Id", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/projects/{root_project_id}/credentials": { - "get": { - "tags": ["Project"], - "operationId": "get_all_repository_credentials", - "summary": "Get All Repository Credentials", - "description": "### Get all Repository Credentials for a project\n\n`root_project_id` is required.\n", - "parameters": [ - { - "name": "root_project_id", - "in": "path", - "description": "Root Project Id", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Repository Credential", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/RepositoryCredential" - } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/roles": { - "get": { - "tags": ["Role"], - "operationId": "all_roles", - "summary": "Get All Roles", - "description": "### Get information about all roles.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "ids", - "in": "query", - "description": "Optional list of ids to get specific roles.", - "required": false, - "style": "simple", - "explode": false, - "schema": { - "type": "array", - "items": { "type": "integer", "format": "int64" } - } - } - ], - "responses": { - "200": { - "description": "Role", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Role" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["Role"], - "operationId": "create_role", - "summary": "Create Role", - "description": "### Create a role with the specified information.\n", - "requestBody": { - "$ref": "#/components/requestBodies/Role", - "required": true - }, - "responses": { - "200": { - "description": "Role", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Role" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/roles/search": { - "get": { - "tags": ["Role"], - "operationId": "search_roles", - "summary": "Search Roles", - "description": "### Search roles\n\nReturns all role records that match the given search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "limit", - "in": "query", - "description": "Number of results to return (used with `offset`).", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "offset", - "in": "query", - "description": "Number of results to skip before returning any (used with `limit`).", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "sorts", - "in": "query", - "description": "Fields to sort by.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "id", - "in": "query", - "description": "Match role id.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "name", - "in": "query", - "description": "Match role name.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "built_in", - "in": "query", - "description": "Match roles by built_in status.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "filter_or", - "in": "query", - "description": "Combine given search criteria in a boolean OR expression.", - "required": false, - "schema": { "type": "boolean" } - } - ], - "responses": { - "200": { - "description": "Role", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Role" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/roles/{role_id}": { - "get": { - "tags": ["Role"], - "operationId": "role", - "summary": "Get Role", - "description": "### Get information about the role with a specific id.\n", - "parameters": [ - { - "name": "role_id", - "in": "path", - "description": "id of role", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "200": { - "description": "Role", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Role" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["Role"], - "operationId": "delete_role", - "summary": "Delete Role", - "description": "### Delete the role with a specific id.\n", - "parameters": [ - { - "name": "role_id", - "in": "path", - "description": "id of role", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "405": { - "description": "Resource Can't Be Modified", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Role"], - "operationId": "update_role", - "summary": "Update Role", - "description": "### Update information about the role with a specific id.\n", - "parameters": [ - { - "name": "role_id", - "in": "path", - "description": "id of role", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/Role", - "required": true - }, - "responses": { - "200": { - "description": "Role", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Role" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "405": { - "description": "Resource Can't Be Modified", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/roles/{role_id}/groups": { - "get": { - "tags": ["Role"], - "operationId": "role_groups", - "summary": "Get Role Groups", - "description": "### Get information about all the groups with the role that has a specific id.\n", - "parameters": [ - { - "name": "role_id", - "in": "path", - "description": "id of role", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Groups with role.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Group" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "put": { - "tags": ["Role"], - "operationId": "set_role_groups", - "summary": "Update Role Groups", - "description": "### Set all groups for a role, removing all existing group associations from that role.\n", - "parameters": [ - { - "name": "role_id", - "in": "path", - "description": "Id of Role", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "type": "integer", "format": "int64" } - } - } - }, - "description": "Array of Group Ids", - "required": true - }, - "responses": { - "200": { - "description": "Groups with role.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Group" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/roles/{role_id}/users": { - "get": { - "tags": ["Role"], - "operationId": "role_users", - "summary": "Get Role Users", - "description": "### Get information about all the users with the role that has a specific id.\n", - "parameters": [ - { - "name": "role_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "direct_association_only", - "in": "query", - "description": "Get only users associated directly with the role: exclude those only associated through groups.", - "required": false, - "schema": { "type": "boolean" } - } - ], - "responses": { - "200": { - "description": "Users with role.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/User" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "put": { - "tags": ["Role"], - "operationId": "set_role_users", - "summary": "Update Role Users", - "description": "### Set all the users of the role with a specific id.\n", - "parameters": [ - { - "name": "role_id", - "in": "path", - "description": "id of role", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "type": "integer", "format": "int64" } - } - } - }, - "description": "array of user ids for role", - "required": true - }, - "responses": { - "200": { - "description": "Users with role.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/User" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "403": { - "description": "Permission Denied", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "405": { - "description": "Resource Can't Be Modified", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/running_queries": { - "get": { - "tags": ["Query"], - "operationId": "all_running_queries", - "summary": "Get All Running Queries", - "description": "Get information about all running queries.\n", - "responses": { - "200": { - "description": "Running Queries.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/RunningQueries" } - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "db_query" - } - }, - "/running_queries/{query_task_id}": { - "delete": { - "tags": ["Query"], - "operationId": "kill_query", - "summary": "Kill Running Query", - "description": "Kill a query with a specific query_task_id.\n", - "parameters": [ - { - "name": "query_task_id", - "in": "path", - "description": "Query task id.", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "204": { - "description": "Query successfully killed.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "db_query" - } - }, - "/saml_config": { - "get": { - "tags": ["Auth"], - "operationId": "saml_config", - "summary": "Get SAML Configuration", - "description": "### Get the SAML configuration.\n\nLooker can be optionally configured to authenticate users against a SAML authentication server.\nSAML setup requires coordination with an administrator of that server.\n\nOnly Looker administrators can read and update the SAML configuration.\n\nConfiguring SAML impacts authentication for all users. This configuration should be done carefully.\n\nLooker maintains a single SAML configuation. 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).\n\nSAML is enabled or disabled for Looker using the **enabled** field.\n", - "responses": { - "200": { - "description": "SAML Configuration.", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SamlConfig" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Auth"], - "operationId": "update_saml_config", - "summary": "Update SAML Configuration", - "description": "### Update the SAML configuration.\n\nConfiguring SAML impacts authentication for all users. This configuration should be done carefully.\n\nOnly Looker administrators can read and update the SAML configuration.\n\nSAML is enabled or disabled for Looker using the **enabled** field.\n\nIt is **highly** recommended that any SAML setting changes be tested using the APIs below before being set globally.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SamlConfig" } - } - }, - "description": "SAML Config", - "required": true - }, - "responses": { - "200": { - "description": "New state for SAML Configuration.", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SamlConfig" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/saml_test_configs/{test_slug}": { - "get": { - "tags": ["Auth"], - "operationId": "saml_test_config", - "summary": "Get SAML Test Configuration", - "description": "### Get a SAML test configuration by test_slug.\n", - "parameters": [ - { - "name": "test_slug", - "in": "path", - "description": "Slug of test config", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "SAML test config.", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SamlConfig" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["Auth"], - "operationId": "delete_saml_test_config", - "summary": "Delete SAML Test Configuration", - "description": "### Delete a SAML test configuration.\n", - "parameters": [ - { - "name": "test_slug", - "in": "path", - "description": "Slug of test config", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "204": { - "description": "Test config succssfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/saml_test_configs": { - "post": { - "tags": ["Auth"], - "operationId": "create_saml_test_config", - "summary": "Create SAML Test Configuration", - "description": "### Create a SAML test configuration.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SamlConfig" } - } - }, - "description": "SAML test config", - "required": true - }, - "responses": { - "200": { - "description": "SAML test config", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SamlConfig" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/parse_saml_idp_metadata": { - "post": { - "tags": ["Auth"], - "operationId": "parse_saml_idp_metadata", - "summary": "Parse SAML IdP XML", - "description": "### Parse the given xml as a SAML IdP metadata document and return the result.\n", - "requestBody": { - "content": { "text/plain": { "schema": { "type": "string" } } }, - "description": "SAML IdP metadata xml", - "required": true - }, - "responses": { - "200": { - "description": "Parse result", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SamlMetadataParseResult" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/fetch_and_parse_saml_idp_metadata": { - "post": { - "tags": ["Auth"], - "operationId": "fetch_and_parse_saml_idp_metadata", - "summary": "Parse SAML IdP Url", - "description": "### Fetch the given url and parse it as a SAML IdP metadata document and return the result.\nNote that this requires that the url be public or at least at a location where the Looker instance\ncan fetch it without requiring any special authentication.\n", - "requestBody": { - "content": { "text/plain": { "schema": { "type": "string" } } }, - "description": "SAML IdP metadata public url", - "required": true - }, - "responses": { - "200": { - "description": "Parse result", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SamlMetadataParseResult" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/scheduled_plans/space/{space_id}": { - "get": { - "tags": ["ScheduledPlan"], - "operationId": "scheduled_plans_for_space", - "summary": "Scheduled Plans for Space", - "description": "### Get Scheduled Plans for a Space\n\nReturns scheduled plans owned by the caller for a given space id.\n", - "parameters": [ - { - "name": "space_id", - "in": "path", - "description": "Space Id", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Scheduled Plan", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/ScheduledPlan" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query" - } - }, - "/scheduled_plans/{scheduled_plan_id}": { - "delete": { - "tags": ["ScheduledPlan"], - "operationId": "delete_scheduled_plan", - "summary": "Delete Scheduled Plan", - "description": "### Delete a Scheduled Plan\n\nNormal users can only delete their own scheduled plans.\nAdmins can delete other users' scheduled plans.\nThis delete cannot be undone.\n", - "parameters": [ - { - "name": "scheduled_plan_id", - "in": "path", - "description": "Scheduled Plan Id", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query" - }, - "patch": { - "tags": ["ScheduledPlan"], - "operationId": "update_scheduled_plan", - "summary": "Update Scheduled Plan", - "description": "### Update a Scheduled Plan\n\nAdmins can update other users' Scheduled Plans.\n\nNote: Any scheduled plan destinations specified in an update will **replace** all scheduled plan destinations\ncurrently defined for the scheduled plan.\n\nFor Example: If a scheduled plan has destinations A, B, and C, and you call update on this scheduled plan\nspecifying only B in the destinations, then destinations A and C will be deleted by the update.\n\nUpdating 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.\n\nIf you omit the scheduled_plan_destinations property from the object passed to update, then the destinations\ndefined on the original scheduled plan will remain unchanged.\n\n#### Email Permissions:\n\nFor details about permissions required to schedule delivery to email and the safeguards\nLooker offers to protect against sending to unauthorized email destinations, see [Email Domain Whitelist for Scheduled Looks](https://docs.looker.com/r/api/embed-permissions).\n\n\n#### Scheduled Plan Destination Formats\n\nScheduled plan destinations must specify the data format to produce and send to the destination.\n\nFormats:\n\n| format | Description\n| :-----------: | :--- |\n| json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| 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.\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| xlsx | MS Excel spreadsheet\n| wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n| assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n| wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n||\n\nValid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n\n\n", - "parameters": [ - { - "name": "scheduled_plan_id", - "in": "path", - "description": "Scheduled Plan Id", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/ScheduledPlan", - "required": true - }, - "responses": { - "200": { - "description": "Scheduled Plan", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ScheduledPlan" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query" - }, - "get": { - "tags": ["ScheduledPlan"], - "operationId": "scheduled_plan", - "summary": "Get Scheduled Plan", - "description": "### Get Information About a Scheduled Plan\n\nAdmins can fetch information about other users' Scheduled Plans.\n", - "parameters": [ - { - "name": "scheduled_plan_id", - "in": "path", - "description": "Scheduled Plan Id", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Scheduled Plan", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ScheduledPlan" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query" - } - }, - "/scheduled_plans": { - "post": { - "tags": ["ScheduledPlan"], - "operationId": "create_scheduled_plan", - "summary": "Create Scheduled Plan", - "description": "### Create a Scheduled Plan\n\nCreate a scheduled plan to render a Look or Dashboard on a recurring schedule.\n\nTo create a scheduled plan, you MUST provide values for the following fields:\n`name`\nand\n`look_id`, `dashboard_id`, `lookml_dashboard_id`, or `query_id`\nand\n`cron_tab` or `datagroup`\nand\nat least one scheduled_plan_destination\n\nA scheduled plan MUST have at least one scheduled_plan_destination defined.\n\nWhen `look_id` is set, `require_no_results`, `require_results`, and `require_change` are all required.\n\nIf `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.\n\nThe queries that provide the data for the look or dashboard are run in the context of user account that owns the scheduled plan.\n\nWhen `run_as_recipient` is `false` or not specified, the queries that provide the data for the\nlook or dashboard are run in the context of user account that owns the scheduled plan.\n\nWhen `run_as_recipient` is `true` and all the email recipients are Looker user accounts, the\nqueries are run in the context of each recipient, so different recipients may see different\ndata from the same scheduled render of a look or dashboard. For more details, see [Run As Recipient](https://looker.com/docs/r/admin/run-as-recipient).\n\nAdmins can create and modify scheduled plans on behalf of other users by specifying a user id.\nNon-admin users may not create or modify scheduled plans by or for other users.\n\n#### Email Permissions:\n\nFor details about permissions required to schedule delivery to email and the safeguards\nLooker offers to protect against sending to unauthorized email destinations, see [Email Domain Whitelist for Scheduled Looks](https://docs.looker.com/r/api/embed-permissions).\n\n\n#### Scheduled Plan Destination Formats\n\nScheduled plan destinations must specify the data format to produce and send to the destination.\n\nFormats:\n\n| format | Description\n| :-----------: | :--- |\n| json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| 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.\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| xlsx | MS Excel spreadsheet\n| wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n| assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n| wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n||\n\nValid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n\n\n", - "requestBody": { - "$ref": "#/components/requestBodies/ScheduledPlan", - "required": true - }, - "responses": { - "200": { - "description": "Scheduled Plan", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ScheduledPlan" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query" - }, - "get": { - "tags": ["ScheduledPlan"], - "operationId": "all_scheduled_plans", - "summary": "Get All Scheduled Plans", - "description": "### List All Scheduled Plans\n\nReturns all scheduled plans which belong to the caller or given user.\n\nIf no user_id is provided, this function returns the scheduled plans owned by the caller.\n\n\nTo list all schedules for all users, pass `all_users=true`.\n\n\nThe caller must have `see_schedules` permission to see other users' scheduled plans.\n\n\n", - "parameters": [ - { - "name": "user_id", - "in": "query", - "description": "Return scheduled plans belonging to this user_id. If not provided, returns scheduled plans owned by the caller.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Comma delimited list of field names. If provided, only the fields specified will be included in the response", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "all_users", - "in": "query", - "description": "Return scheduled plans belonging to all users (caller needs see_schedules permission)", - "required": false, - "schema": { "type": "boolean" } - } - ], - "responses": { - "200": { - "description": "Scheduled Plan", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/ScheduledPlan" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query" - } - }, - "/scheduled_plans/run_once": { - "post": { - "tags": ["ScheduledPlan"], - "operationId": "scheduled_plan_run_once", - "summary": "Run Scheduled Plan Once", - "description": "### Run a Scheduled Plan Immediately\n\nCreate a scheduled plan that runs only once, and immediately.\n\nThis can be useful for testing a Scheduled Plan before committing to a production schedule.\n\nAdmins can create scheduled plans on behalf of other users by specifying a user id.\n\nThis API is rate limited to prevent it from being used for relay spam or DoS attacks\n\n#### Email Permissions:\n\nFor details about permissions required to schedule delivery to email and the safeguards\nLooker offers to protect against sending to unauthorized email destinations, see [Email Domain Whitelist for Scheduled Looks](https://docs.looker.com/r/api/embed-permissions).\n\n\n#### Scheduled Plan Destination Formats\n\nScheduled plan destinations must specify the data format to produce and send to the destination.\n\nFormats:\n\n| format | Description\n| :-----------: | :--- |\n| json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| 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.\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| xlsx | MS Excel spreadsheet\n| wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n| assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n| wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n||\n\nValid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n\n\n", - "requestBody": { - "$ref": "#/components/requestBodies/ScheduledPlan", - "required": true - }, - "responses": { - "200": { - "description": "Scheduled Plan", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ScheduledPlan" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query", - "x-looker-rate-limited": true - } - }, - "/scheduled_plans/look/{look_id}": { - "get": { - "tags": ["ScheduledPlan"], - "operationId": "scheduled_plans_for_look", - "summary": "Scheduled Plans for Look", - "description": "### Get Scheduled Plans for a Look\n\nReturns all scheduled plans for a look which belong to the caller or given user.\n\nIf no user_id is provided, this function returns the scheduled plans owned by the caller.\n\n\nTo list all schedules for all users, pass `all_users=true`.\n\n\nThe caller must have `see_schedules` permission to see other users' scheduled plans.\n\n\n", - "parameters": [ - { - "name": "look_id", - "in": "path", - "description": "Look Id", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "user_id", - "in": "query", - "description": "User Id (default is requesting user if not specified)", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "all_users", - "in": "query", - "description": "Return scheduled plans belonging to all users for the look", - "required": false, - "schema": { "type": "boolean" } - } - ], - "responses": { - "200": { - "description": "Scheduled Plan", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/ScheduledPlan" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query" - } - }, - "/scheduled_plans/dashboard/{dashboard_id}": { - "get": { - "tags": ["ScheduledPlan"], - "operationId": "scheduled_plans_for_dashboard", - "summary": "Scheduled Plans for Dashboard", - "description": "### Get Scheduled Plans for a Dashboard\n\nReturns all scheduled plans for a dashboard which belong to the caller or given user.\n\nIf no user_id is provided, this function returns the scheduled plans owned by the caller.\n\n\nTo list all schedules for all users, pass `all_users=true`.\n\n\nThe caller must have `see_schedules` permission to see other users' scheduled plans.\n\n\n", - "parameters": [ - { - "name": "dashboard_id", - "in": "path", - "description": "Dashboard Id", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "user_id", - "in": "query", - "description": "User Id (default is requesting user if not specified)", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "all_users", - "in": "query", - "description": "Return scheduled plans belonging to all users for the dashboard", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Scheduled Plan", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/ScheduledPlan" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query" - } - }, - "/scheduled_plans/lookml_dashboard/{lookml_dashboard_id}": { - "get": { - "tags": ["ScheduledPlan"], - "operationId": "scheduled_plans_for_lookml_dashboard", - "summary": "Scheduled Plans for LookML Dashboard", - "description": "### Get Scheduled Plans for a LookML Dashboard\n\nReturns all scheduled plans for a LookML Dashboard which belong to the caller or given user.\n\nIf no user_id is provided, this function returns the scheduled plans owned by the caller.\n\n\nTo list all schedules for all users, pass `all_users=true`.\n\n\nThe caller must have `see_schedules` permission to see other users' scheduled plans.\n\n\n", - "parameters": [ - { - "name": "lookml_dashboard_id", - "in": "path", - "description": "LookML Dashboard Id", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "user_id", - "in": "query", - "description": "User Id (default is requesting user if not specified)", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "all_users", - "in": "query", - "description": "Return scheduled plans belonging to all users for the dashboard", - "required": false, - "schema": { "type": "boolean" } - } - ], - "responses": { - "200": { - "description": "Scheduled Plan", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/ScheduledPlan" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query" - } - }, - "/scheduled_plans/{scheduled_plan_id}/run_once": { - "post": { - "tags": ["ScheduledPlan"], - "operationId": "scheduled_plan_run_once_by_id", - "summary": "Run Scheduled Plan Once by Id", - "description": "### Run a Scheduled Plan By Id Immediately\nThis function creates a run-once schedule plan based on an existing scheduled plan,\napplies modifications (if any) to the new scheduled plan, and runs the new schedule plan immediately.\nThis can be useful for testing modifications to an existing scheduled plan before committing to a production schedule.\n\nThis function internally performs the following operations:\n\n1. Copies the properties of the existing scheduled plan into a new scheduled plan\n2. Copies any properties passed in the JSON body of this request into the new scheduled plan (replacing the original values)\n3. Creates the new scheduled plan\n4. Runs the new scheduled plan\n\nThe original scheduled plan is not modified by this operation.\nAdmins can create, modify, and run scheduled plans on behalf of other users by specifying a user id.\nNon-admins can only create, modify, and run their own scheduled plans.\n\n#### Email Permissions:\n\nFor details about permissions required to schedule delivery to email and the safeguards\nLooker offers to protect against sending to unauthorized email destinations, see [Email Domain Whitelist for Scheduled Looks](https://docs.looker.com/r/api/embed-permissions).\n\n\n#### Scheduled Plan Destination Formats\n\nScheduled plan destinations must specify the data format to produce and send to the destination.\n\nFormats:\n\n| format | Description\n| :-----------: | :--- |\n| json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| 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.\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| xlsx | MS Excel spreadsheet\n| wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n| assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n| wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n||\n\nValid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n\n\n\nThis API is rate limited to prevent it from being used for relay spam or DoS attacks\n\n", - "parameters": [ - { - "name": "scheduled_plan_id", - "in": "path", - "description": "Id of schedule plan to copy and run", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/WriteScheduledPlan" } - } - }, - "description": "Property values to apply to the newly copied scheduled plan before running it", - "required": false - }, - "responses": { - "200": { - "description": "Scheduled Plan", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ScheduledPlan" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query", - "x-looker-rate-limited": true - } - }, - "/session_config": { - "get": { - "tags": ["Auth"], - "operationId": "session_config", - "summary": "Get Session Config", - "description": "### Get session config.\n", - "responses": { - "200": { - "description": "Session Config", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SessionConfig" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Auth"], - "operationId": "update_session_config", - "summary": "Update Session Config", - "description": "### Update session config.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SessionConfig" } - } - }, - "description": "Session Config", - "required": true - }, - "responses": { - "200": { - "description": "Session Config", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SessionConfig" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/session": { - "get": { - "tags": ["Session"], - "operationId": "session", - "summary": "Get Session", - "description": "### Get API Session\n\nReturns information about the current API session, such as which workspace is selected for the session.\n", - "responses": { - "200": { - "description": "Session", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ApiSession" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Session"], - "operationId": "update_session", - "summary": "Update Session", - "description": "### Update API Session\n\n#### API Session Workspace\n\nYou can use this endpoint to change the active workspace for the current API session.\n\nOnly one workspace can be active in a session. The active workspace can be changed\nany number of times in a session.\n\nThe default workspace for API sessions is the \"production\" workspace.\n\nAll Looker APIs that use projects or lookml models (such as running queries) will\nuse the version of project and model files defined by this workspace for the lifetime of the\ncurrent API session or until the session workspace is changed again.\n\nAn API session has the same lifetime as the access_token used to authenticate API requests. Each successful\nAPI login generates a new access_token and a new API session.\n\nIf your Looker API client application needs to work in a dev workspace across multiple\nAPI sessions, be sure to select the dev workspace after each login.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ApiSession" } - } - }, - "description": "Session", - "required": true - }, - "responses": { - "200": { - "description": "Session", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ApiSession" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/folders/search": { - "get": { - "tags": ["Folder"], - "operationId": "search_folders", - "summary": "Search Folders", - "description": "Search for folders by creator id, parent id, name, etc", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "page", - "in": "query", - "description": "Requested page.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "per_page", - "in": "query", - "description": "Results per page.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "limit", - "in": "query", - "description": "Number of results to return. (used with offset and takes priority over page and per_page)", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "offset", - "in": "query", - "description": "Number of results to skip before returning any. (used with limit and takes priority over page and per_page)", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "sorts", - "in": "query", - "description": "Fields to sort by.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "name", - "in": "query", - "description": "Match Space title.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "id", - "in": "query", - "description": "Match Space id", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "parent_id", - "in": "query", - "description": "Filter on a children of a particular folder.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "creator_id", - "in": "query", - "description": "Filter on folder created by a particular user.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "filter_or", - "in": "query", - "description": "Combine given search criteria in a boolean OR expression", - "required": false, - "schema": { "type": "boolean" } - } - ], - "responses": { - "200": { - "description": "folders", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Folder" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/folders/{folder_id}": { - "get": { - "tags": ["Folder"], - "operationId": "folder", - "summary": "Get Folder", - "description": "### Get information about the folder with a specific id.", - "parameters": [ - { - "name": "folder_id", - "in": "path", - "description": "Id of folder", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Folder", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Folder" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["Folder"], - "operationId": "delete_folder", - "summary": "Delete Folder", - "description": "### Delete the folder with a specific id including any children folders.\n**DANGER** this will delete all looks and dashboards in the folder.\n", - "parameters": [ - { - "name": "folder_id", - "in": "path", - "description": "Id of folder", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Folder"], - "operationId": "update_folder", - "summary": "Update Folder", - "description": "### Update the folder with a specific id.", - "parameters": [ - { - "name": "folder_id", - "in": "path", - "description": "Id of folder", - "required": true, - "schema": { "type": "string" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/UpdateFolder" } - } - }, - "description": "Folder parameters", - "required": true - }, - "responses": { - "200": { - "description": "Folder", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Folder" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/folders": { - "get": { - "tags": ["Folder"], - "operationId": "all_folders", - "summary": "Get All Folders", - "description": "### Get information about all folders.\n\nIn API 3.x, this will not return empty personal folders, unless they belong to the calling user.\nIn API 4.0+, all personal folders will be returned.\n\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Folder", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Folder" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["Folder"], - "operationId": "create_folder", - "summary": "Create Folder", - "description": "### Create a folder with specified information.\n\nCaller must have permission to edit the parent folder and to create folders, otherwise the request\nreturns 404 Not Found.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CreateFolder" } - } - }, - "description": "Folder parameters", - "required": true - }, - "responses": { - "200": { - "description": "Folder", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Folder" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/folders/{folder_id}/children": { - "get": { - "tags": ["Folder"], - "operationId": "folder_children", - "summary": "Get Folder Children", - "description": "### Get the children of a folder.", - "parameters": [ - { - "name": "folder_id", - "in": "path", - "description": "Id of folder", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "page", - "in": "query", - "description": "Requested page.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "per_page", - "in": "query", - "description": "Results per page.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "sorts", - "in": "query", - "description": "Fields to sort by.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Folders", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Folder" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/folders/{folder_id}/children/search": { - "get": { - "tags": ["Folder"], - "operationId": "folder_children_search", - "summary": "Search Folder Children", - "description": "### Search the children of a folder", - "parameters": [ - { - "name": "folder_id", - "in": "path", - "description": "Id of folder", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "sorts", - "in": "query", - "description": "Fields to sort by.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "name", - "in": "query", - "description": "Match folder name.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Folders", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Folder" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/folders/{folder_id}/parent": { - "get": { - "tags": ["Folder"], - "operationId": "folder_parent", - "summary": "Get Folder Parent", - "description": "### Get the parent of a folder", - "parameters": [ - { - "name": "folder_id", - "in": "path", - "description": "Id of folder", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Folder", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Folder" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/folders/{folder_id}/ancestors": { - "get": { - "tags": ["Folder"], - "operationId": "folder_ancestors", - "summary": "Get Folder Ancestors", - "description": "### Get the ancestors of a folder", - "parameters": [ - { - "name": "folder_id", - "in": "path", - "description": "Id of folder", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Folders", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Folder" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/folders/{folder_id}/looks": { - "get": { - "tags": ["Folder"], - "operationId": "folder_looks", - "summary": "Get Folder Looks", - "description": "### Get all looks in a folder.\nIn API 3.x, this will return all looks in a folder, including looks in the trash.\nIn API 4.0+, all looks in a folder will be returned, excluding looks in the trash.\n", - "parameters": [ - { - "name": "folder_id", - "in": "path", - "description": "Id of folder", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Looks", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/LookWithQuery" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/folders/{folder_id}/dashboards": { - "get": { - "tags": ["Folder"], - "operationId": "folder_dashboards", - "summary": "Get Folder Dashboards", - "description": "### Get the dashboards in a folder", - "parameters": [ - { - "name": "folder_id", - "in": "path", - "description": "Id of folder", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Dashboard", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Dashboard" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/sql_queries/{slug}": { - "get": { - "tags": ["Query"], - "operationId": "sql_query", - "summary": "Get SQL Runner Query", - "description": "Get a SQL Runner query.", - "parameters": [ - { - "name": "slug", - "in": "path", - "description": "slug of query", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "SQL Runner Query", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SqlQuery" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query" - } - }, - "/sql_queries": { - "post": { - "tags": ["Query"], - "operationId": "create_sql_query", - "summary": "Create SQL Runner Query", - "description": "### Create a SQL Runner Query\n\nEither the `connection_name` or `model_name` parameter MUST be provided.\n", - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SqlQueryCreate" } - } - }, - "description": "SQL Runner Query", - "required": true - }, - "responses": { - "200": { - "description": "SQL Runner Query", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SqlQuery" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query" - } - }, - "/sql_queries/{slug}/run/{result_format}": { - "post": { - "tags": ["Query"], - "operationId": "run_sql_query", - "summary": "Run SQL Runner Query", - "description": "Execute a SQL Runner query in a given result_format.", - "parameters": [ - { - "name": "slug", - "in": "path", - "description": "slug of query", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "result_format", - "in": "path", - "description": "Format of result, options are: [\"inline_json\", \"json\", \"json_detail\", \"json_fe\", \"csv\", \"html\", \"md\", \"txt\", \"xlsx\", \"gsxml\", \"json_label\"]", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "download", - "in": "query", - "description": "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.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "SQL Runner Query", - "content": { - "text": { "schema": { "type": "string" } }, - "application/json": { "schema": { "type": "string" } }, - "image/png": { "schema": { "type": "string" } }, - "image/jpeg": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "text": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - }, - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - }, - "image/png": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - }, - "image/jpeg": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "text": { "schema": { "$ref": "#/components/schemas/Error" } }, - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/png": { - "schema": { "$ref": "#/components/schemas/Error" } - }, - "image/jpeg": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "db_query" - } - }, - "/themes": { - "get": { - "tags": ["Theme"], - "operationId": "all_themes", - "summary": "Get All Themes", - "description": "### Get an array of all existing themes\n\nGet a **single theme** by id with [Theme](#!/Theme/theme)\n\nThis method returns an array of all existing themes. The active time for the theme is not considered.\n\n**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 help.looker.com to update your license for this feature.\n\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Themes", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Theme" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["Theme"], - "operationId": "create_theme", - "summary": "Create Theme", - "description": "### Create a theme\n\nCreates a new theme object, returning the theme details, including the created id.\n\nIf `settings` are not specified, the default theme settings will be copied into the new theme.\n\nThe theme `name` can only contain alphanumeric characters or underscores. Theme names should not contain any confidential information, such as customer names.\n\n**Update** an existing theme with [Update Theme](#!/Theme/update_theme)\n\n**Permanently delete** an existing theme with [Delete Theme](#!/Theme/delete_theme)\n\nFor more information, see [Creating and Applying Themes](https://looker.com/docs/r/admin/themes).\n\n**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 help.looker.com to update your license for this feature.\n\n", - "requestBody": { - "$ref": "#/components/requestBodies/Theme", - "required": true - }, - "responses": { - "200": { - "description": "Theme", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Theme" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/themes/search": { - "get": { - "tags": ["Theme"], - "operationId": "search_themes", - "summary": "Search Themes", - "description": "### Search all themes for matching criteria.\n\nReturns an **array of theme objects** that match the specified search criteria.\n\n| Search Parameters | Description\n| :-------------------: | :------ |\n| `begin_at` only | Find themes active at or after `begin_at`\n| `end_at` only | Find themes active at or before `end_at`\n| both set | Find themes with an active inclusive period between `begin_at` and `end_at`\n\nNote: Range matching requires boolean AND logic.\nWhen using `begin_at` and `end_at` together, do not use `filter_or`=TRUE\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\nGet a **single theme** by id with [Theme](#!/Theme/theme)\n\n**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 help.looker.com to update your license for this feature.\n\n", - "parameters": [ - { - "name": "id", - "in": "query", - "description": "Match theme id.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "name", - "in": "query", - "description": "Match theme name.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "begin_at", - "in": "query", - "description": "Timestamp for activation.", - "required": false, - "schema": { "type": "string", "format": "date-time" } - }, - { - "name": "end_at", - "in": "query", - "description": "Timestamp for expiration.", - "required": false, - "schema": { "type": "string", "format": "date-time" } - }, - { - "name": "limit", - "in": "query", - "description": "Number of results to return (used with `offset`).", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "offset", - "in": "query", - "description": "Number of results to skip before returning any (used with `limit`).", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "sorts", - "in": "query", - "description": "Fields to sort by.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "filter_or", - "in": "query", - "description": "Combine given search criteria in a boolean OR expression", - "required": false, - "schema": { "type": "boolean" } - } - ], - "responses": { - "200": { - "description": "Themes", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Theme" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/themes/default": { - "get": { - "tags": ["Theme"], - "operationId": "default_theme", - "summary": "Get Default Theme", - "description": "### Get the default theme\n\nReturns the active theme object set as the default.\n\nThe **default** theme name can be set in the UI on the Admin|Theme UI page\n\nThe optional `ts` parameter can specify a different timestamp than \"now.\" If specified, it returns the default theme at the time indicated.\n", - "parameters": [ - { - "name": "ts", - "in": "query", - "description": "Timestamp representing the target datetime for the active period. Defaults to 'now'", - "required": false, - "schema": { "type": "string", "format": "date-time" } - } - ], - "responses": { - "200": { - "description": "Theme", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Theme" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "put": { - "tags": ["Theme"], - "operationId": "set_default_theme", - "summary": "Set Default Theme", - "description": "### Set the global default theme by theme name\n\nOnly Admin users can call this function.\n\nOnly 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.\n\n[Create Theme](#!/Theme/create) has detailed information on rules for default and active themes\n\nReturns the new specified default theme object.\n\n**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 help.looker.com to update your license for this feature.\n\n", - "parameters": [ - { - "name": "name", - "in": "query", - "description": "Name of theme to set as default", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Theme", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Theme" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/themes/active": { - "get": { - "tags": ["Theme"], - "operationId": "active_themes", - "summary": "Get Active Themes", - "description": "### Get active themes\n\nReturns an array of active themes.\n\nIf the `name` parameter is specified, it will return an array with one theme if it's active and found.\n\nThe optional `ts` parameter can specify a different timestamp than \"now.\"\n\n**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 help.looker.com to update your license for this feature.\n\n\n", - "parameters": [ - { - "name": "name", - "in": "query", - "description": "Name of theme", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "ts", - "in": "query", - "description": "Timestamp representing the target datetime for the active period. Defaults to 'now'", - "required": false, - "schema": { "type": "string", "format": "date-time" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Themes", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Theme" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/themes/theme_or_default": { - "get": { - "tags": ["Theme"], - "operationId": "theme_or_default", - "summary": "Get Theme or Default", - "description": "### Get the named theme if it's active. Otherwise, return the default theme\n\nThe optional `ts` parameter can specify a different timestamp than \"now.\"\nNote: API users with `show` ability can call this function\n\n**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 help.looker.com to update your license for this feature.\n\n", - "parameters": [ - { - "name": "name", - "in": "query", - "description": "Name of theme", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "ts", - "in": "query", - "description": "Timestamp representing the target datetime for the active period. Defaults to 'now'", - "required": false, - "schema": { "type": "string", "format": "date-time" } - } - ], - "responses": { - "200": { - "description": "Theme", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Theme" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/themes/validate": { - "post": { - "tags": ["Theme"], - "operationId": "validate_theme", - "summary": "Validate Theme", - "description": "### Validate a theme with the specified information\n\nValidates all values set for the theme, returning any errors encountered, or 200 OK if valid\n\nSee [Create Theme](#!/Theme/create_theme) for constraints\n\n**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 help.looker.com to update your license for this feature.\n\n", - "requestBody": { - "$ref": "#/components/requestBodies/Theme", - "required": true - }, - "responses": { - "200": { - "description": "Theme validation results", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "204": { - "description": "No errors detected with the theme", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/themes/{theme_id}": { - "get": { - "tags": ["Theme"], - "operationId": "theme", - "summary": "Get Theme", - "description": "### Get a theme by ID\n\nUse this to retrieve a specific theme, whether or not it's currently active.\n\n**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 help.looker.com to update your license for this feature.\n\n", - "parameters": [ - { - "name": "theme_id", - "in": "path", - "description": "Id of theme", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Theme", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Theme" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Theme"], - "operationId": "update_theme", - "summary": "Update Theme", - "description": "### Update the theme by id.\n\n**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 help.looker.com to update your license for this feature.\n\n", - "parameters": [ - { - "name": "theme_id", - "in": "path", - "description": "Id of theme", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/Theme", - "required": true - }, - "responses": { - "200": { - "description": "Theme", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Theme" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["Theme"], - "operationId": "delete_theme", - "summary": "Delete Theme", - "description": "### Delete a specific theme by id\n\nThis operation permanently deletes the identified theme from the database.\n\nBecause multiple themes can have the same name (with different activation time spans) themes can only be deleted by ID.\n\nAll IDs associated with a theme name can be retrieved by searching for the theme name with [Theme Search](#!/Theme/search).\n\n**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 help.looker.com to update your license for this feature.\n\n", - "parameters": [ - { - "name": "theme_id", - "in": "path", - "description": "Id of theme", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/timezones": { - "get": { - "tags": ["Config"], - "operationId": "all_timezones", - "summary": "Get All Timezones", - "description": "### Get a list of timezones that Looker supports (e.g. useful for scheduling tasks).\n", - "responses": { - "200": { - "description": "Timezone", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Timezone" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/ssh_servers": { - "get": { - "tags": ["Connection"], - "operationId": "all_ssh_servers", - "summary": "Get All SSH Servers", - "description": "### Get information about all SSH Servers.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "SSH Server", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/SshServer" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["Connection"], - "operationId": "create_ssh_server", - "summary": "Create SSH Server", - "description": "### Create an SSH Server.\n", - "requestBody": { - "$ref": "#/components/requestBodies/SshServer", - "required": true - }, - "responses": { - "200": { - "description": "SSH Server", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SshServer" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/ssh_server/{ssh_server_id}": { - "get": { - "tags": ["Connection"], - "operationId": "ssh_server", - "summary": "Get SSH Server", - "description": "### Get information about an SSH Server.\n", - "parameters": [ - { - "name": "ssh_server_id", - "in": "path", - "description": "Id of SSH Server", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "SSH Server", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SshServer" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Connection"], - "operationId": "update_ssh_server", - "summary": "Update SSH Server", - "description": "### Update an SSH Server.\n", - "parameters": [ - { - "name": "ssh_server_id", - "in": "path", - "description": "Id of SSH Server", - "required": true, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/SshServer", - "required": true - }, - "responses": { - "200": { - "description": "SSH Server", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SshServer" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["Connection"], - "operationId": "delete_ssh_server", - "summary": "Delete SSH Server", - "description": "### Delete an SSH Server.\n", - "parameters": [ - { - "name": "ssh_server_id", - "in": "path", - "description": "Id of SSH Server", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/ssh_server/{ssh_server_id}/test": { - "get": { - "tags": ["Connection"], - "operationId": "test_ssh_server", - "summary": "Test SSH Server", - "description": "### Test the SSH Server\n", - "parameters": [ - { - "name": "ssh_server_id", - "in": "path", - "description": "Id of SSH Server", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Test SSH Server", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SshServer" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/ssh_tunnels": { - "get": { - "tags": ["Connection"], - "operationId": "all_ssh_tunnels", - "summary": "Get All SSH Tunnels", - "description": "### Get information about all SSH Tunnels.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "SSH Tunnel", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/SshTunnel" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["Connection"], - "operationId": "create_ssh_tunnel", - "summary": "Create SSH Tunnel", - "description": "### Create an SSH Tunnel\n", - "requestBody": { - "$ref": "#/components/requestBodies/SshTunnel", - "required": true - }, - "responses": { - "200": { - "description": "SSH Tunnel", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SshTunnel" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/ssh_tunnel/{ssh_tunnel_id}": { - "get": { - "tags": ["Connection"], - "operationId": "ssh_tunnel", - "summary": "Get SSH Tunnel", - "description": "### Get information about an SSH Tunnel.\n", - "parameters": [ - { - "name": "ssh_tunnel_id", - "in": "path", - "description": "Id of SSH Tunnel", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "SSH Tunnel", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SshTunnel" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["Connection"], - "operationId": "update_ssh_tunnel", - "summary": "Update SSH Tunnel", - "description": "### Update an SSH Tunnel\n", - "parameters": [ - { - "name": "ssh_tunnel_id", - "in": "path", - "description": "Id of SSH Tunnel", - "required": true, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/SshTunnel", - "required": true - }, - "responses": { - "200": { - "description": "SSH Tunnel", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SshTunnel" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["Connection"], - "operationId": "delete_ssh_tunnel", - "summary": "Delete SSH Tunnel", - "description": "### Delete an SSH Tunnel\n", - "parameters": [ - { - "name": "ssh_tunnel_id", - "in": "path", - "description": "Id of SSH Tunnel", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/ssh_tunnel/{ssh_tunnel_id}/test": { - "get": { - "tags": ["Connection"], - "operationId": "test_ssh_tunnel", - "summary": "Test SSH Tunnel", - "description": "### Test the SSH Tunnel\n", - "parameters": [ - { - "name": "ssh_tunnel_id", - "in": "path", - "description": "Id of SSH Tunnel", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Test SSH Tunnel", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SshTunnel" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/ssh_public_key": { - "get": { - "tags": ["Connection"], - "operationId": "ssh_public_key", - "summary": "Get SSH Public Key", - "description": "### Get the SSH public key\n\nGet the public key created for this instance to identify itself to a remote SSH server.\n", - "responses": { - "200": { - "description": "SSH Public Key", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SshPublicKey" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/user_attributes": { - "get": { - "tags": ["UserAttribute"], - "operationId": "all_user_attributes", - "summary": "Get All User Attributes", - "description": "### Get information about all user attributes.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "sorts", - "in": "query", - "description": "Fields to order the results by. Sortable fields include: name, label", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "User Attribute", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/UserAttribute" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["UserAttribute"], - "operationId": "create_user_attribute", - "summary": "Create User Attribute", - "description": "### Create a new user attribute\n\nPermission information for a user attribute is conveyed through the `can` and `user_can_edit` fields.\nThe `user_can_edit` field indicates whether an attribute is user-editable _anywhere_ in the application.\nThe `can` field gives more granular access information, with the `set_value` child field indicating whether\nan attribute's value can be set by [Setting the User Attribute User Value](#!/User/set_user_attribute_user_value).\n\nNote: `name` and `label` fields must be unique across all user attributes in the Looker instance.\nAttempting to create a new user attribute with a name or label that duplicates an existing\nuser attribute will fail with a 422 error.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/UserAttribute", - "required": true - }, - "responses": { - "200": { - "description": "User Attribute", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/UserAttribute" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/user_attributes/{user_attribute_id}": { - "get": { - "tags": ["UserAttribute"], - "operationId": "user_attribute", - "summary": "Get User Attribute", - "description": "### Get information about a user attribute.\n", - "parameters": [ - { - "name": "user_attribute_id", - "in": "path", - "description": "Id of user attribute", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "User Attribute", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/UserAttribute" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["UserAttribute"], - "operationId": "update_user_attribute", - "summary": "Update User Attribute", - "description": "### Update a user attribute definition.\n", - "parameters": [ - { - "name": "user_attribute_id", - "in": "path", - "description": "Id of user attribute", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/UserAttribute", - "required": true - }, - "responses": { - "200": { - "description": "User Attribute", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/UserAttribute" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["UserAttribute"], - "operationId": "delete_user_attribute", - "summary": "Delete User Attribute", - "description": "### Delete a user attribute (admin only).\n", - "parameters": [ - { - "name": "user_attribute_id", - "in": "path", - "description": "Id of user_attribute", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/user_attributes/{user_attribute_id}/group_values": { - "get": { - "tags": ["UserAttribute"], - "operationId": "all_user_attribute_group_values", - "summary": "Get User Attribute Group Values", - "description": "### Returns all values of a user attribute defined by user groups, in precedence order.\n\nA user may be a member of multiple groups which define different values for a given user attribute.\nThe order of group-values in the response determines precedence for selecting which group-value applies\nto a given user. For more information, see [Set User Attribute Group Values](#!/UserAttribute/set_user_attribute_group_values).\n\nResults will only include groups that the caller's user account has permission to see.\n", - "parameters": [ - { - "name": "user_attribute_id", - "in": "path", - "description": "Id of user attribute", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "All group values for attribute.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/UserAttributeGroupValue" - } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["UserAttribute"], - "operationId": "set_user_attribute_group_values", - "summary": "Set User Attribute Group Values", - "description": "### Define values for a user attribute across a set of groups, in priority order.\n\nThis function defines all values for a user attribute defined by user groups. This is a global setting, potentially affecting\nall users in the system. This function replaces any existing group value definitions for the indicated user attribute.\n\nThe value of a user attribute for a given user is determined by searching the following locations, in this order:\n\n1. the user's account settings\n2. the groups that the user is a member of\n3. the default value of the user attribute, if any\n\nThe 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\ndetermines which group takes priority for that user. Lowest array index wins.\n\nAn alternate method to indicate the selection precedence of group-values is to assign numbers to the 'rank' property of each\ngroup-value object in the array. Lowest 'rank' value wins. If you use this technique, you must assign a\nrank value to every group-value object in the array.\n\n To set a user attribute value for a single user, see [Set User Attribute User Value](#!/User/set_user_attribute_user_value).\nTo set a user attribute value for all members of a group, see [Set User Attribute Group Value](#!/Group/update_user_attribute_group_value).\n", - "parameters": [ - { - "name": "user_attribute_id", - "in": "path", - "description": "Id of user attribute", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/UserAttributeGroupValue" - } - } - } - }, - "description": "Array of group values.", - "required": true - }, - "responses": { - "200": { - "description": "Array of group values.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/UserAttributeGroupValue" - } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/user_login_lockouts": { - "get": { - "tags": ["Auth"], - "operationId": "all_user_login_lockouts", - "summary": "Get All User Login Lockouts", - "description": "### Get currently locked-out users.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Include only these fields in the response", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "User Login Lockout", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/UserLoginLockout" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/user_login_lockouts/search": { - "get": { - "tags": ["Auth"], - "operationId": "search_user_login_lockouts", - "summary": "Search User Login Lockouts", - "description": "### Search currently locked-out users.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Include only these fields in the response", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "page", - "in": "query", - "description": "Return only page N of paginated results", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "per_page", - "in": "query", - "description": "Return N rows of data per page", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "sorts", - "in": "query", - "description": "Fields to sort by.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "auth_type", - "in": "query", - "description": "Auth type user is locked out for (email, ldap, totp, api)", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "full_name", - "in": "query", - "description": "Match name", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "email", - "in": "query", - "description": "Match email", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "remote_id", - "in": "query", - "description": "Match remote LDAP ID", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "filter_or", - "in": "query", - "description": "Combine given search criteria in a boolean OR expression", - "required": false, - "schema": { "type": "boolean" } - } - ], - "responses": { - "200": { - "description": "User Login Lockout", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/UserLoginLockout" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/user_login_lockout/{key}": { - "delete": { - "tags": ["Auth"], - "operationId": "delete_user_login_lockout", - "summary": "Delete User Login Lockout", - "description": "### Removes login lockout for the associated user.\n", - "parameters": [ - { - "name": "key", - "in": "path", - "description": "The key associated with the locked user", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/user": { - "get": { - "tags": ["User"], - "operationId": "me", - "summary": "Get Current User", - "description": "### Get information about the current user; i.e. the user account currently calling the API.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Current user.", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/User" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/users": { - "get": { - "tags": ["User"], - "operationId": "all_users", - "summary": "Get All Users", - "description": "### Get information about all users.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "page", - "in": "query", - "description": "Requested page.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "per_page", - "in": "query", - "description": "Results per page.", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "sorts", - "in": "query", - "description": "Fields to sort by.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "ids", - "in": "query", - "description": "Optional list of ids to get specific users.", - "required": false, - "style": "simple", - "explode": false, - "schema": { - "type": "array", - "items": { "type": "integer", "format": "int64" } - } - } - ], - "responses": { - "200": { - "description": "All users.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/User" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["User"], - "operationId": "create_user", - "summary": "Create User", - "description": "### Create a user with the specified information.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/User" } - } - }, - "description": "User", - "required": false - }, - "responses": { - "200": { - "description": "Created User", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/User" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/users/search": { - "get": { - "tags": ["User"], - "operationId": "search_users", - "summary": "Search Users", - "description": "### Search users\n\nReturns all* user records that match the given search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\n(*) Results are always filtered to the level of information the caller is permitted to view.\nLooker admins can see all user details; normal users in an open system can see\nnames of other users but no details; normal users in a closed system can only see\nnames of other users who are members of the same group as the user.\n\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Include only these fields in the response", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "page", - "in": "query", - "description": "Return only page N of paginated results", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "per_page", - "in": "query", - "description": "Return N rows of data per page", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "sorts", - "in": "query", - "description": "Fields to sort by.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "id", - "in": "query", - "description": "Match User Id.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "first_name", - "in": "query", - "description": "Match First name.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "last_name", - "in": "query", - "description": "Match Last name.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "verified_looker_employee", - "in": "query", - "description": "Search for user accounts associated with Looker employees", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "email", - "in": "query", - "description": "Search for the user with this email address", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "is_disabled", - "in": "query", - "description": "Search for disabled user accounts", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "filter_or", - "in": "query", - "description": "Combine given search criteria in a boolean OR expression", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "content_metadata_id", - "in": "query", - "description": "Search for users who have access to this content_metadata item", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "group_id", - "in": "query", - "description": "Search for users who are direct members of this group", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Matching users.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/User" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/users/search/names/{pattern}": { - "get": { - "tags": ["User"], - "operationId": "search_users_names", - "summary": "Search User Names", - "description": "### Search for user accounts by name\n\nReturns all user accounts where `first_name` OR `last_name` OR `email` field values match a pattern.\nThe pattern can contain `%` and `_` wildcards as in SQL LIKE expressions.\n\nAny additional search params will be combined into a logical AND expression.\n", - "parameters": [ - { - "name": "pattern", - "in": "path", - "description": "Pattern to match", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Include only these fields in the response", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "page", - "in": "query", - "description": "Return only page N of paginated results", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "per_page", - "in": "query", - "description": "Return N rows of data per page", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "sorts", - "in": "query", - "description": "Fields to sort by", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "id", - "in": "query", - "description": "Match User Id", - "required": false, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "first_name", - "in": "query", - "description": "Match First name", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "last_name", - "in": "query", - "description": "Match Last name", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "verified_looker_employee", - "in": "query", - "description": "Match Verified Looker employee", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "email", - "in": "query", - "description": "Match Email Address", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "is_disabled", - "in": "query", - "description": "Include or exclude disabled accounts in the results", - "required": false, - "schema": { "type": "boolean" } - } - ], - "responses": { - "200": { - "description": "Matching users.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/User" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/users/{user_id}": { - "get": { - "tags": ["User"], - "operationId": "user", - "summary": "Get User by Id", - "description": "### Get information about the user with a specific id.\n\nIf the caller is an admin or the caller is the user being specified, then full user information will\nbe returned. Otherwise, a minimal 'public' variant of the user information will be returned. This contains\nThe user name and avatar url, but no sensitive information.\n", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "Id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Specified user.", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/User" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["User"], - "operationId": "update_user", - "summary": "Update User", - "description": "### Update information about the user with a specific id.\n", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "Id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/User" } - } - }, - "description": "User", - "required": true - }, - "responses": { - "200": { - "description": "New state for specified user.", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/User" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["User"], - "operationId": "delete_user", - "summary": "Delete User", - "description": "### Delete the user with a specific id.\n\n**DANGER** this will delete the user and all looks and other information owned by the user.\n", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "Id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { - "description": "User successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "403": { - "description": "Permission Denied", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/users/credential/{credential_type}/{credential_id}": { - "get": { - "tags": ["User"], - "operationId": "user_for_credential", - "summary": "Get User by Credential Id", - "description": "### Get information about the user with a credential of given type with specific id.\n\nThis is used to do things like find users by their embed external_user_id. Or, find the user with\na given api3 client_id, etc. The 'credential_type' matches the 'type' name of the various credential\ntypes. It must be one of the values listed in the table below. The 'credential_id' is your unique Id\nfor the user and is specific to each type of credential.\n\nAn example using the Ruby sdk might look like:\n\n`sdk.user_for_credential('embed', 'customer-4959425')`\n\nThis table shows the supported 'Credential Type' strings. The right column is for reference; it shows\nwhich field in the given credential type is actually searched when finding a user with the supplied\n'credential_id'.\n\n| Credential Types | Id Field Matched |\n| ---------------- | ---------------- |\n| email | email |\n| google | google_user_id |\n| saml | saml_user_id |\n| oidc | oidc_user_id |\n| ldap | ldap_id |\n| api | token |\n| api3 | client_id |\n| embed | external_user_id |\n| looker_openid | email |\n\n**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'.\n\n", - "parameters": [ - { - "name": "credential_type", - "in": "path", - "description": "Type name of credential", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "credential_id", - "in": "path", - "description": "Id of credential", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Specified user.", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/User" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/users/{user_id}/credentials_email": { - "get": { - "tags": ["User"], - "operationId": "user_credentials_email", - "summary": "Get Email/Password Credential", - "description": "### Email/password login information for the specified user.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Email/Password Credential", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsEmail" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["User"], - "operationId": "create_user_credentials_email", - "summary": "Create Email/Password Credential", - "description": "### Email/password login information for the specified user.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/CredentialsEmail", - "required": true - }, - "responses": { - "200": { - "description": "Email/Password Credential", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsEmail" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "patch": { - "tags": ["User"], - "operationId": "update_user_credentials_email", - "summary": "Update Email/Password Credential", - "description": "### Email/password login information for the specified user.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "$ref": "#/components/requestBodies/CredentialsEmail", - "required": true - }, - "responses": { - "200": { - "description": "Email/Password Credential", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsEmail" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["User"], - "operationId": "delete_user_credentials_email", - "summary": "Delete Email/Password Credential", - "description": "### Email/password login information for the specified user.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/users/{user_id}/credentials_totp": { - "get": { - "tags": ["User"], - "operationId": "user_credentials_totp", - "summary": "Get Two-Factor Credential", - "description": "### Two-factor login information for the specified user.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Two-Factor Credential", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsTotp" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["User"], - "operationId": "create_user_credentials_totp", - "summary": "Create Two-Factor Credential", - "description": "### Two-factor login information for the specified user.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsTotp" } - } - }, - "description": "Two-Factor Credential", - "required": false - }, - "responses": { - "200": { - "description": "Two-Factor Credential", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsTotp" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["User"], - "operationId": "delete_user_credentials_totp", - "summary": "Delete Two-Factor Credential", - "description": "### Two-factor login information for the specified user.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/users/{user_id}/credentials_ldap": { - "get": { - "tags": ["User"], - "operationId": "user_credentials_ldap", - "summary": "Get LDAP Credential", - "description": "### LDAP login information for the specified user.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "LDAP Credential", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsLDAP" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["User"], - "operationId": "delete_user_credentials_ldap", - "summary": "Delete LDAP Credential", - "description": "### LDAP login information for the specified user.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/users/{user_id}/credentials_google": { - "get": { - "tags": ["User"], - "operationId": "user_credentials_google", - "summary": "Get Google Auth Credential", - "description": "### Google authentication login information for the specified user.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Google Auth Credential", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsGoogle" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["User"], - "operationId": "delete_user_credentials_google", - "summary": "Delete Google Auth Credential", - "description": "### Google authentication login information for the specified user.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/users/{user_id}/credentials_saml": { - "get": { - "tags": ["User"], - "operationId": "user_credentials_saml", - "summary": "Get Saml Auth Credential", - "description": "### Saml authentication login information for the specified user.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Saml Auth Credential", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsSaml" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["User"], - "operationId": "delete_user_credentials_saml", - "summary": "Delete Saml Auth Credential", - "description": "### Saml authentication login information for the specified user.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/users/{user_id}/credentials_oidc": { - "get": { - "tags": ["User"], - "operationId": "user_credentials_oidc", - "summary": "Get OIDC Auth Credential", - "description": "### OpenID Connect (OIDC) authentication login information for the specified user.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "OIDC Auth Credential", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsOIDC" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["User"], - "operationId": "delete_user_credentials_oidc", - "summary": "Delete OIDC Auth Credential", - "description": "### OpenID Connect (OIDC) authentication login information for the specified user.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/users/{user_id}/credentials_api3/{credentials_api3_id}": { - "get": { - "tags": ["User"], - "operationId": "user_credentials_api3", - "summary": "Get API 3 Credential", - "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "Id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "credentials_api3_id", - "in": "path", - "description": "Id of API 3 Credential", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "API 3 Credential", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsApi3" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["User"], - "operationId": "delete_user_credentials_api3", - "summary": "Delete API 3 Credential", - "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "credentials_api3_id", - "in": "path", - "description": "id of API 3 Credential", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/users/{user_id}/credentials_api3": { - "get": { - "tags": ["User"], - "operationId": "all_user_credentials_api3s", - "summary": "Get All API 3 Credentials", - "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "API 3 Credential", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/CredentialsApi3" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "post": { - "tags": ["User"], - "operationId": "create_user_credentials_api3", - "summary": "Create API 3 Credential", - "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsApi3" } - } - }, - "description": "API 3 Credential", - "required": false - }, - "responses": { - "200": { - "description": "API 3 Credential", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsApi3" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "409": { - "description": "Resource Already Exists", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/users/{user_id}/credentials_embed/{credentials_embed_id}": { - "get": { - "tags": ["User"], - "operationId": "user_credentials_embed", - "summary": "Get Embedding Credential", - "description": "### Embed login information for the specified user.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "Id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "credentials_embed_id", - "in": "path", - "description": "Id of Embedding Credential", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Embedding Credential", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsEmbed" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["User"], - "operationId": "delete_user_credentials_embed", - "summary": "Delete Embedding Credential", - "description": "### Embed login information for the specified user.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "credentials_embed_id", - "in": "path", - "description": "id of Embedding Credential", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/users/{user_id}/credentials_embed": { - "get": { - "tags": ["User"], - "operationId": "all_user_credentials_embeds", - "summary": "Get All Embedding Credentials", - "description": "### Embed login information for the specified user.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Embedding Credential", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/CredentialsEmbed" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/users/{user_id}/credentials_looker_openid": { - "get": { - "tags": ["User"], - "operationId": "user_credentials_looker_openid", - "summary": "Get Looker OpenId Credential", - "description": "### Looker Openid login information for the specified user. Used by Looker Analysts.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Looker OpenId Credential", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CredentialsLookerOpenid" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["User"], - "operationId": "delete_user_credentials_looker_openid", - "summary": "Delete Looker OpenId Credential", - "description": "### Looker Openid login information for the specified user. Used by Looker Analysts.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/users/{user_id}/sessions/{session_id}": { - "get": { - "tags": ["User"], - "operationId": "user_session", - "summary": "Get Web Login Session", - "description": "### Web login session for the specified user.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "Id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "session_id", - "in": "path", - "description": "Id of Web Login Session", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Web Login Session", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Session" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["User"], - "operationId": "delete_user_session", - "summary": "Delete Web Login Session", - "description": "### Web login session for the specified user.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "session_id", - "in": "path", - "description": "id of Web Login Session", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { - "description": "Successfully deleted.", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/users/{user_id}/sessions": { - "get": { - "tags": ["User"], - "operationId": "all_user_sessions", - "summary": "Get All Web Login Sessions", - "description": "### Web login session for the specified user.", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Web Login Session", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Session" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/users/{user_id}/credentials_email/password_reset": { - "post": { - "tags": ["User"], - "operationId": "create_user_credentials_email_password_reset", - "summary": "Create Password Reset Token", - "description": "### Create a password reset token.\nThis will create a cryptographically secure random password reset token for the user.\nIf the user already has a password reset token then this invalidates the old token and creates a new one.\nThe token is expressed as the 'password_reset_url' of the user's email/password credential object.\nThis takes an optional 'expires' param to indicate if the new token should be an expiring token.\nTokens that expire are typically used for self-service password resets for existing users.\nInvitation emails for new users typically are not set to expire.\nThe expire period is always 60 minutes when expires is enabled.\nThis method can be called with an empty body.\n", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "Id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "expires", - "in": "query", - "description": "Expiring token.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "email/password credential", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsEmail" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/users/{user_id}/roles": { - "get": { - "tags": ["User"], - "operationId": "user_roles", - "summary": "Get User Roles", - "description": "### Get information about roles of a given user\n", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "direct_association_only", - "in": "query", - "description": "Get only roles associated directly with the user: exclude those only associated through groups.", - "required": false, - "schema": { "type": "boolean" } - } - ], - "responses": { - "200": { - "description": "Roles of user.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Role" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "put": { - "tags": ["User"], - "operationId": "set_user_roles", - "summary": "Set User Roles", - "description": "### Set roles of the user with a specific id.\n", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "type": "integer", "format": "int64" } - } - } - }, - "description": "array of roles ids for user", - "required": true - }, - "responses": { - "200": { - "description": "Roles of user.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Role" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/users/{user_id}/attribute_values": { - "get": { - "tags": ["User"], - "operationId": "user_attribute_user_values", - "summary": "Get User Attribute Values", - "description": "### Get user attribute values for a given user.\n\nReturns the values of specified user attributes (or all user attributes) for a certain user.\n\nA value for each user attribute is searched for in the following locations, in this order:\n\n1. in the user's account information\n1. in groups that the user is a member of\n1. the default value of the user attribute\n\nIf more than one group has a value defined for a user attribute, the group with the lowest rank wins.\n\nThe response will only include user attributes for which values were found. Use `include_unset=true` to include\nempty records for user attributes with no value.\n\nThe value of all hidden user attributes will be blank.\n", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "Id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - }, - { - "name": "user_attribute_ids", - "in": "query", - "description": "Specific user attributes to request. Omit or leave blank to request all user attributes.", - "required": false, - "style": "simple", - "explode": false, - "schema": { - "type": "array", - "items": { "type": "integer", "format": "int64" } - } - }, - { - "name": "all_values", - "in": "query", - "description": "If true, returns all values in the search path instead of just the first value found. Useful for debugging group precedence.", - "required": false, - "schema": { "type": "boolean" } - }, - { - "name": "include_unset", - "in": "query", - "description": "If true, returns an empty record for each requested attribute that has no user, group, or default value.", - "required": false, - "schema": { "type": "boolean" } - } - ], - "responses": { - "200": { - "description": "Value of user attribute.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/UserAttributeWithValue" - } - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/users/{user_id}/attribute_values/{user_attribute_id}": { - "patch": { - "tags": ["User"], - "operationId": "set_user_attribute_user_value", - "summary": "Set User Attribute User Value", - "description": "### Store a custom value for a user attribute in a user's account settings.\n\nPer-user user attribute values take precedence over group or default values.\n", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "Id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "user_attribute_id", - "in": "path", - "description": "Id of user attribute", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserAttributeWithValue" - } - } - }, - "description": "New attribute value for user.", - "required": true - }, - "responses": { - "200": { - "description": "User attribute value.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserAttributeWithValue" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - }, - "delete": { - "tags": ["User"], - "operationId": "delete_user_attribute_user_value", - "summary": "Delete User Attribute User Value", - "description": "### Delete a user attribute value from a user's account settings.\n\nAfter the user attribute value is deleted from the user's account settings, subsequent requests\nfor the user attribute value for this user will draw from the user's groups or the default\nvalue of the user attribute. See [Get User Attribute Values](#!/User/user_attribute_user_values) for more\ninformation about how user attribute values are resolved.\n", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "Id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "user_attribute_id", - "in": "path", - "description": "Id of user attribute", - "required": true, - "schema": { "type": "integer", "format": "int64" } - } - ], - "responses": { - "204": { "description": "Deleted" }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "non_query" - } - }, - "/users/{user_id}/credentials_email/send_password_reset": { - "post": { - "tags": ["User"], - "operationId": "send_user_credentials_email_password_reset", - "summary": "Send Password Reset Token", - "description": "### Send a password reset token.\nThis will send a password reset email to the user. If a password reset token does not already exist\nfor this user, it will create one and then send it.\nIf the user has not yet set up their account, it will send a setup email to the user.\nThe URL sent in the email is expressed as the 'password_reset_url' of the user's email/password credential object.\nPassword reset URLs will expire in 60 minutes.\nThis method can be called with an empty body.\n", - "parameters": [ - { - "name": "user_id", - "in": "path", - "description": "Id of user", - "required": true, - "schema": { "type": "integer", "format": "int64" } - }, - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "email/password credential", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsEmail" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/vector_thumbnail/{type}/{resource_id}": { - "get": { - "tags": ["Content"], - "operationId": "vector_thumbnail", - "summary": "Get Vector Thumbnail", - "description": "### Get a vector image representing the contents of a dashboard or look.\n\n# DEPRECATED: Use [content_thumbnail()](#!/Content/content_thumbnail)\n\nThe returned thumbnail is an abstract representation of the contents of a dashbord or look and does not\nreflect the actual data displayed in the respective visualizations.\n", - "parameters": [ - { - "name": "type", - "in": "path", - "description": "Either dashboard or look", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "resource_id", - "in": "path", - "description": "ID of the dashboard or look to render", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "reload", - "in": "query", - "description": "Whether or not to refresh the rendered image with the latest content", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Vector thumbnail", - "content": { "image/svg+xml": { "schema": { "type": "string" } } } - }, - "400": { - "description": "Bad Request", - "content": { - "image/svg+xml": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "image/svg+xml": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "deprecated": true, - "x-looker-status": "deprecated", - "x-looker-activity-type": "db_query" - } - }, - "/versions": { - "get": { - "tags": ["Config"], - "operationId": "versions", - "summary": "Get ApiVersion", - "description": "### Get information about all API versions supported by this Looker instance.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "ApiVersion", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ApiVersion" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "stable", - "x-looker-activity-type": "none" - } - }, - "/api_spec/{api_version}/{specification}": { - "get": { - "tags": ["Config"], - "operationId": "api_spec", - "summary": "Get an API specification", - "description": "### Get an API specification for this Looker instance.\n\n**Note**: Although the API specification is in JSON format, the return type is temporarily `text/plain`, so the response should be treated as standard JSON to consume it.\n", - "parameters": [ - { - "name": "api_version", - "in": "path", - "description": "API version", - "required": true, - "schema": { "type": "string" } - }, - { - "name": "specification", - "in": "path", - "description": "Specification name. Typically, this is \"swagger.json\"", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "API specification", - "content": { - "application/json": { "schema": { "type": "string" } } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "none" - } - }, - "/whitelabel_configuration": { - "get": { - "tags": ["Config"], - "operationId": "whitelabel_configuration", - "summary": "Get Whitelabel configuration", - "description": "### This feature is enabled only by special license.\n### Gets the whitelabel configuration, which includes hiding documentation links, custom favicon uploading, etc.\n", - "parameters": [ - { - "name": "fields", - "in": "query", - "description": "Requested fields.", - "required": false, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Whitelabel configuration", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/WhitelabelConfiguration" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - }, - "put": { - "tags": ["Config"], - "operationId": "update_whitelabel_configuration", - "summary": "Update Whitelabel configuration", - "description": "### Update the whitelabel configuration\n", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/WhitelabelConfiguration" - } - } - }, - "description": "Whitelabel configuration", - "required": true - }, - "responses": { - "200": { - "description": "Whitelabel configuration", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/WhitelabelConfiguration" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ValidationError" } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/workspaces": { - "get": { - "tags": ["Workspace"], - "operationId": "all_workspaces", - "summary": "Get All Workspaces", - "description": "### Get All Workspaces\n\nReturns all workspaces available to the calling user.\n", - "responses": { - "200": { - "description": "Workspace", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/Workspace" } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, - "/workspaces/{workspace_id}": { - "get": { - "tags": ["Workspace"], - "operationId": "workspace", - "summary": "Get Workspace", - "description": "### Get A Workspace\n\nReturns information about a workspace such as the git status and selected branches\nof all projects available to the caller's user account.\n\nA workspace defines which versions of project files will be used to evaluate expressions\nand operations that use model definitions - operations such as running queries or rendering dashboards.\nEach project has its own git repository, and each project in a workspace may be configured to reference\nparticular branch or revision within their respective repositories.\n\nThere are two predefined workspaces available: \"production\" and \"dev\".\n\nThe production workspace is shared across all Looker users. Models in the production workspace are read-only.\nChanging files in production is accomplished by modifying files in a git branch and using Pull Requests\nto merge the changes from the dev branch into the production branch, and then telling\nLooker to sync with production.\n\nThe dev workspace is local to each Looker user. Changes made to project/model files in the dev workspace only affect\nthat user, and only when the dev workspace is selected as the active workspace for the API session.\n(See set_session_workspace()).\n\nThe dev workspace is NOT unique to an API session. Two applications accessing the Looker API using\nthe same user account will see the same files in the dev workspace. To avoid collisions between\nAPI clients it's best to have each client login with API3 credentials for a different user account.\n\nChanges made to files in a dev workspace are persistent across API sessions. It's a good\nidea to commit any changes you've made to the git repository, but not strictly required. Your modified files\nreside in a special user-specific directory on the Looker server and will still be there when you login in again\nlater and use update_session(workspace_id: \"dev\") to select the dev workspace for the new API session.\n", - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "description": "Id of the workspace ", - "required": true, - "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Workspace", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Workspace" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Error" } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - } - }, - "servers": [{ "url": "http://localhost:19999/api/4.0" }], - "components": { - "requestBodies": { - "ColorCollection": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ColorCollection" } - } - }, - "description": "ColorCollection", - "required": true - }, - "OauthClientApp": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/OauthClientApp" } - } - }, - "description": "OAuth Client App", - "required": true - }, - "LookmlModel": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/LookmlModel" } - } - }, - "description": "LookML Model", - "required": true - }, - "Project": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Project" } - } - }, - "description": "Project", - "required": true - }, - "Dashboard": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Dashboard" } - } - }, - "description": "Dashboard", - "required": true - }, - "ScheduledPlan": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ScheduledPlan" } - } - }, - "description": "Scheduled Plan", - "required": true - }, - "DashboardLayout": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DashboardLayout" } - } - }, - "description": "DashboardLayout", - "required": true - }, - "CredentialsEmail": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CredentialsEmail" } - } - }, - "description": "Email/Password Credential", - "required": true - }, - "DBConnection": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DBConnection" } - } - }, - "description": "Connection", - "required": true - }, - "UserAttribute": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/UserAttribute" } - } - }, - "description": "User Attribute", - "required": true - }, - "BoardItem": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BoardItem" } - } - }, - "description": "Board Item", - "required": true - }, - "SshServer": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SshServer" } - } - }, - "description": "SSH Server", - "required": true - }, - "Theme": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Theme" } - } - }, - "description": "Theme", - "required": true - }, - "ContentMetaGroupUser": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ContentMetaGroupUser" } - } - }, - "description": "Content Metadata Access", - "required": true - }, - "DashboardElement": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/DashboardElement" } - } - }, - "description": "DashboardElement", - "required": true - }, - "GitBranch": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/GitBranch" } - } - }, - "description": "Git Branch", - "required": true - }, - "Group": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Group" } - } - }, - "description": "Group", - "required": true - }, - "Board": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Board" } - } - }, - "description": "Board", - "required": true - }, - "BoardSection": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/BoardSection" } - } - }, - "description": "Board section", - "required": true - }, - "IntegrationHub": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/IntegrationHub" } - } - }, - "description": "Integration Hub", - "required": true - }, - "LDAPConfig": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/LDAPConfig" } - } - }, - "description": "LDAP Config", - "required": true - }, - "LookWithQuery": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/LookWithQuery" } - } - }, - "description": "Look", - "required": true - }, - "ModelSet": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ModelSet" } - } - }, - "description": "ModelSet", - "required": true - }, - "PermissionSet": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/PermissionSet" } - } - }, - "description": "Permission Set", - "required": true - }, - "Role": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Role" } - } - }, - "description": "Role", - "required": true - }, - "SshTunnel": { - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/SshTunnel" } - } - }, - "description": "SSH Tunnel", - "required": true - } - }, - "schemas": { - "Error": { - "properties": { - "message": { - "type": "string", - "readOnly": true, - "description": "Error details", - "nullable": true - }, - "documentation_url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Documentation link", - "nullable": true - } - }, - "x-looker-status": "stable", - "required": ["message", "documentation_url"] - }, - "DashboardBase": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "content_favorite_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Content Favorite Id", - "nullable": true - }, - "content_metadata_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of content metadata", - "nullable": true - }, - "description": { - "type": "string", - "readOnly": true, - "description": "Description", - "nullable": true - }, - "hidden": { - "type": "boolean", - "readOnly": true, - "description": "Is Hidden", - "nullable": false - }, - "id": { - "type": "string", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "model": { "$ref": "#/components/schemas/LookModel" }, - "query_timezone": { - "type": "string", - "readOnly": true, - "description": "Timezone in which the Dashboard will run by default.", - "nullable": true - }, - "readonly": { - "type": "boolean", - "readOnly": true, - "description": "Is Read-only", - "nullable": false - }, - "refresh_interval": { - "type": "string", - "readOnly": true, - "description": "Refresh Interval, as a time duration phrase like \"2 hours 30 minutes\". A number with no time units will be interpreted as whole seconds.", - "nullable": true - }, - "refresh_interval_to_i": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Refresh Interval in milliseconds", - "nullable": true - }, - "folder": { "$ref": "#/components/schemas/FolderBase" }, - "title": { - "type": "string", - "readOnly": true, - "description": "Dashboard Title", - "nullable": true - }, - "user_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of User", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "HomepageSection": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "created_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Time at which this section was created.", - "nullable": true - }, - "deleted_at": { - "type": "string", - "format": "date-time", - "description": "Time at which this section was deleted.", - "nullable": true - }, - "detail_url": { - "type": "string", - "readOnly": true, - "description": "A URL pointing to a page showing further information about the content in the section.", - "nullable": true - }, - "homepage_id": { - "type": "integer", - "format": "int64", - "description": "Id reference to parent homepage", - "nullable": true - }, - "homepage_items": { - "type": "array", - "items": { "$ref": "#/components/schemas/HomepageItem" }, - "readOnly": true, - "description": "Items in the homepage section", - "nullable": true - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "is_header": { - "type": "boolean", - "readOnly": true, - "description": "Is this a header section (has no items)", - "nullable": false - }, - "item_order": { - "type": "array", - "items": { "type": "integer", "format": "int64" }, - "description": "ids of the homepage items in the order they should be displayed", - "nullable": true - }, - "title": { - "type": "string", - "description": "Name of row", - "nullable": true - }, - "updated_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Time at which this section was last updated.", - "nullable": true - }, - "description": { - "type": "string", - "description": "Description of the content found in this section.", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "HomepageItem": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "content_created_by": { - "type": "string", - "readOnly": true, - "description": "Name of user who created the content this item is based on", - "nullable": true - }, - "content_favorite_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Content favorite id associated with the item this content is based on", - "nullable": true - }, - "content_metadata_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Content metadata id associated with the item this content is based on", - "nullable": true - }, - "content_updated_at": { - "type": "string", - "readOnly": true, - "description": "Last time the content that this item is based on was updated", - "nullable": true - }, - "custom_description": { - "type": "string", - "description": "Custom description entered by the user, if present", - "nullable": true - }, - "custom_image_data_base64": { - "type": "string", - "x-looker-write-only": true, - "description": "(Write-Only) base64 encoded image data", - "nullable": true - }, - "custom_image_url": { - "type": "string", - "readOnly": true, - "description": "Custom image_url entered by the user, if present", - "nullable": true - }, - "custom_title": { - "type": "string", - "description": "Custom title entered by the user, if present", - "nullable": true - }, - "custom_url": { - "type": "string", - "description": "Custom url entered by the user, if present", - "nullable": true - }, - "dashboard_id": { - "type": "integer", - "format": "int64", - "description": "Dashboard to base this item on", - "nullable": true - }, - "description": { - "type": "string", - "readOnly": true, - "description": "The actual description for display", - "nullable": true - }, - "favorite_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of times content has been favorited, if present", - "nullable": true - }, - "homepage_section_id": { - "type": "integer", - "format": "int64", - "description": "Associated Homepage Section", - "nullable": true - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "image_url": { - "type": "string", - "readOnly": true, - "description": "The actual image_url for display", - "nullable": true - }, - "location": { - "type": "string", - "readOnly": true, - "description": "The container folder name of the content", - "nullable": true - }, - "look_id": { - "type": "integer", - "format": "int64", - "description": "Look to base this item on", - "nullable": true - }, - "lookml_dashboard_id": { - "type": "string", - "description": "LookML Dashboard to base this item on", - "nullable": true - }, - "order": { - "type": "integer", - "format": "int64", - "description": "An arbitrary integer representing the sort order within the section", - "nullable": true - }, - "section_fetch_time": { - "type": "number", - "format": "float", - "readOnly": true, - "description": "Number of seconds it took to fetch the section this item is in", - "nullable": true - }, - "title": { - "type": "string", - "readOnly": true, - "description": "The actual title for display", - "nullable": true - }, - "url": { - "type": "string", - "readOnly": true, - "description": "The actual url for display", - "nullable": true - }, - "use_custom_description": { - "type": "boolean", - "description": "Whether the custom description should be used instead of the content description, if the item is associated with content", - "nullable": false - }, - "use_custom_image": { - "type": "boolean", - "description": "Whether the custom image should be used instead of the content image, if the item is associated with content", - "nullable": false - }, - "use_custom_title": { - "type": "boolean", - "description": "Whether the custom title should be used instead of the content title, if the item is associated with content", - "nullable": false - }, - "use_custom_url": { - "type": "boolean", - "description": "Whether the custom url should be used instead of the content url, if the item is associated with content", - "nullable": false - }, - "view_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of times content has been viewed, if present", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "ValidationError": { - "properties": { - "message": { - "type": "string", - "readOnly": true, - "description": "Error details", - "nullable": true - }, - "errors": { - "type": "array", - "items": { "$ref": "#/components/schemas/ValidationErrorDetail" }, - "readOnly": true, - "description": "Error detail array", - "nullable": true - }, - "documentation_url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Documentation link", - "nullable": true - } - }, - "x-looker-status": "stable", - "required": ["message", "documentation_url"] - }, - "ValidationErrorDetail": { - "properties": { - "field": { - "type": "string", - "readOnly": true, - "description": "Field with error", - "nullable": true - }, - "code": { - "type": "string", - "readOnly": true, - "description": "Error code", - "nullable": true - }, - "message": { - "type": "string", - "readOnly": true, - "description": "Error info message", - "nullable": true - }, - "documentation_url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Documentation link", - "nullable": true - } - }, - "x-looker-status": "stable", - "required": ["documentation_url"] - }, - "AccessToken": { - "properties": { - "access_token": { - "type": "string", - "readOnly": true, - "description": "Access Token used for API calls", - "nullable": false - }, - "token_type": { - "type": "string", - "readOnly": true, - "description": "Type of Token", - "nullable": false - }, - "expires_in": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of seconds before the token expires", - "nullable": false - }, - "refresh_token": { - "type": "string", - "readOnly": true, - "description": "Refresh token which can be used to obtain a new access token", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "ApiSession": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "workspace_id": { - "type": "string", - "description": "The id of active workspace for this session", - "nullable": true - }, - "sudo_user_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "The id of the actual user in the case when this session represents one user sudo'ing as another", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "BackupConfiguration": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "type": { - "type": "string", - "description": "Type of backup: looker-s3 or custom-s3", - "nullable": true - }, - "custom_s3_bucket": { - "type": "string", - "description": "Name of bucket for custom-s3 backups", - "nullable": true - }, - "custom_s3_bucket_region": { - "type": "string", - "description": "Name of region where the bucket is located", - "nullable": true - }, - "custom_s3_key": { - "type": "string", - "x-looker-write-only": true, - "description": "(Write-Only) AWS S3 key used for custom-s3 backups", - "nullable": true - }, - "custom_s3_secret": { - "type": "string", - "x-looker-write-only": true, - "description": "(Write-Only) AWS S3 secret used for custom-s3 backups", - "nullable": true - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to get this item", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "BoardItem": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "content_created_by": { - "type": "string", - "readOnly": true, - "description": "Name of user who created the content this item is based on", - "nullable": true - }, - "content_favorite_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Content favorite id associated with the item this content is based on", - "nullable": true - }, - "content_metadata_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Content metadata id associated with the item this content is based on", - "nullable": true - }, - "content_updated_at": { - "type": "string", - "readOnly": true, - "description": "Last time the content that this item is based on was updated", - "nullable": true - }, - "dashboard_id": { - "type": "integer", - "format": "int64", - "description": "Dashboard to base this item on", - "nullable": true - }, - "description": { - "type": "string", - "readOnly": true, - "description": "The actual description for display", - "nullable": true - }, - "favorite_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of times content has been favorited, if present", - "nullable": true - }, - "board_section_id": { - "type": "integer", - "format": "int64", - "description": "Associated Board Section", - "nullable": true - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "location": { - "type": "string", - "readOnly": true, - "description": "The container folder name of the content", - "nullable": true - }, - "look_id": { - "type": "integer", - "format": "int64", - "description": "Look to base this item on", - "nullable": true - }, - "lookml_dashboard_id": { - "type": "string", - "description": "LookML Dashboard to base this item on", - "nullable": true - }, - "order": { - "type": "integer", - "format": "int64", - "description": "An arbitrary integer representing the sort order within the section", - "nullable": true - }, - "title": { - "type": "string", - "readOnly": true, - "description": "The actual title for display", - "nullable": true - }, - "url": { - "type": "string", - "readOnly": true, - "description": "Relative url for the associated content", - "nullable": false - }, - "view_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of times content has been viewed, if present", - "nullable": true - } - }, - "x-looker-status": "beta" - }, - "Board": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "content_metadata_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of associated content_metadata record", - "nullable": true - }, - "created_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Date of board creation", - "nullable": true - }, - "deleted_at": { - "type": "string", - "format": "date-time", - "description": "Date of board deletion", - "nullable": true - }, - "description": { - "type": "string", - "description": "Description of the board", - "nullable": true - }, - "board_sections": { - "type": "array", - "items": { "$ref": "#/components/schemas/BoardSection" }, - "readOnly": true, - "description": "Sections of the board", - "nullable": true - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "section_order": { - "type": "array", - "items": { "type": "integer", "format": "int64" }, - "description": "ids of the board sections in the order they should be displayed", - "nullable": true - }, - "title": { - "type": "string", - "description": "Title of the board", - "nullable": true - }, - "updated_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Date of last board update", - "nullable": true - }, - "user_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "User id of board creator", - "nullable": true - }, - "primary_homepage": { - "type": "boolean", - "readOnly": true, - "description": "Whether the board is the primary homepage or not", - "nullable": false - } - }, - "x-looker-status": "beta" - }, - "BoardSection": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "created_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Time at which this section was created.", - "nullable": true - }, - "deleted_at": { - "type": "string", - "format": "date-time", - "description": "Time at which this section was deleted.", - "nullable": true - }, - "description": { - "type": "string", - "description": "Description of the content found in this section.", - "nullable": true - }, - "board_id": { - "type": "integer", - "format": "int64", - "description": "Id reference to parent board", - "nullable": true - }, - "board_items": { - "type": "array", - "items": { "$ref": "#/components/schemas/BoardItem" }, - "readOnly": true, - "description": "Items in the board section", - "nullable": true - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "item_order": { - "type": "array", - "items": { "type": "integer", "format": "int64" }, - "description": "ids of the board items in the order they should be displayed", - "nullable": true - }, - "title": { - "type": "string", - "description": "Name of row", - "nullable": true - }, - "updated_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Time at which this section was last updated.", - "nullable": true - } - }, - "x-looker-status": "beta" - }, - "ColorStop": { - "properties": { - "color": { - "type": "string", - "description": "CSS color string", - "nullable": false - }, - "offset": { - "type": "integer", - "format": "int64", - "description": "Offset in continuous palette (0 to 100)", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "ContinuousPalette": { - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "Unique identity string", - "nullable": false - }, - "label": { - "type": "string", - "description": "Label for palette", - "nullable": true - }, - "type": { - "type": "string", - "description": "Type of palette", - "nullable": false - }, - "stops": { - "type": "array", - "items": { "$ref": "#/components/schemas/ColorStop" }, - "description": "Array of ColorStops in the palette", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "DiscretePalette": { - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "Unique identity string", - "nullable": false - }, - "label": { - "type": "string", - "description": "Label for palette", - "nullable": true - }, - "type": { - "type": "string", - "description": "Type of palette", - "nullable": false - }, - "colors": { - "type": "array", - "items": { "type": "string" }, - "description": "Array of colors in the palette", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "ColorCollection": { - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "label": { - "type": "string", - "description": "Label of color collection", - "nullable": false - }, - "categoricalPalettes": { - "type": "array", - "items": { "$ref": "#/components/schemas/DiscretePalette" }, - "description": "Array of categorical palette definitions", - "nullable": false - }, - "sequentialPalettes": { - "type": "array", - "items": { "$ref": "#/components/schemas/ContinuousPalette" }, - "description": "Array of discrete palette definitions", - "nullable": false - }, - "divergingPalettes": { - "type": "array", - "items": { "$ref": "#/components/schemas/ContinuousPalette" }, - "description": "Array of diverging palette definitions", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "Command": { - "properties": { - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of the command record", - "nullable": false - }, - "author_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of the command author", - "nullable": false - }, - "name": { - "type": "string", - "description": "Name of the command", - "nullable": false - }, - "description": { - "type": "string", - "description": "Description of the command", - "nullable": true - }, - "linked_content_id": { - "type": "string", - "description": "Id of the content associated with the command", - "nullable": false - }, - "linked_content_type": { - "type": "string", - "enum": ["dashboard", "lookml_dashboard"], - "description": "Name of the command Valid values are: \"dashboard\", \"lookml_dashboard\".", - "nullable": false - } - }, - "x-looker-status": "beta" - }, - "UpdateCommand": { - "properties": { - "name": { - "type": "string", - "description": "Name of the command", - "nullable": true - }, - "description": { - "type": "string", - "description": "Description of the command", - "nullable": true - } - }, - "x-looker-status": "beta" - }, - "ContentFavorite": { - "properties": { - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "user_id": { - "type": "integer", - "format": "int64", - "description": "User Id which owns this ContentFavorite", - "nullable": false - }, - "content_metadata_id": { - "type": "integer", - "format": "int64", - "description": "Content Metadata Id associated with this ContentFavorite", - "nullable": false - }, - "look_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of a look", - "nullable": true - }, - "dashboard_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of a dashboard", - "nullable": true - }, - "look": { "$ref": "#/components/schemas/LookBasic" }, - "dashboard": { "$ref": "#/components/schemas/DashboardBase" }, - "board_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of a board", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "ContentMetaGroupUser": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "id": { - "type": "string", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "content_metadata_id": { - "type": "string", - "readOnly": true, - "description": "Id of associated Content Metadata", - "nullable": true - }, - "permission_type": { - "type": "string", - "readOnly": true, - "enum": ["view", "edit"], - "description": "Type of permission: \"view\" or \"edit\" Valid values are: \"view\", \"edit\".", - "nullable": true - }, - "group_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "ID of associated group", - "nullable": true - }, - "user_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "ID of associated user", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "ContentMeta": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Name or title of underlying content", - "nullable": true - }, - "parent_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of Parent Content", - "nullable": true - }, - "dashboard_id": { - "type": "string", - "readOnly": true, - "description": "Id of associated dashboard when content_type is \"dashboard\"", - "nullable": true - }, - "look_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of associated look when content_type is \"look\"", - "nullable": true - }, - "folder_id": { - "type": "string", - "readOnly": true, - "description": "Id of associated folder when content_type is \"space\"", - "nullable": true - }, - "content_type": { - "type": "string", - "readOnly": true, - "description": "Content Type (\"dashboard\", \"look\", or \"folder\")", - "nullable": true - }, - "inherits": { - "type": "boolean", - "description": "Whether content inherits its access levels from parent", - "nullable": false - }, - "inheriting_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of Inherited Content", - "nullable": true - }, - "slug": { - "type": "string", - "readOnly": true, - "description": "Content Slug", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "ContentValidation": { - "properties": { - "content_with_errors": { - "type": "array", - "items": { "$ref": "#/components/schemas/ContentValidatorError" }, - "readOnly": true, - "description": "A list of content errors", - "nullable": true - }, - "computation_time": { - "type": "number", - "format": "float", - "readOnly": true, - "description": "Duration of content validation in seconds", - "nullable": true - }, - "total_looks_validated": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "The number of looks validated", - "nullable": true - }, - "total_dashboard_elements_validated": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "The number of dashboard elements validated", - "nullable": true - }, - "total_dashboard_filters_validated": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "The number of dashboard filters validated", - "nullable": true - }, - "total_scheduled_plans_validated": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "The number of scheduled plans validated", - "nullable": true - }, - "total_alerts_validated": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "The number of alerts validated", - "nullable": true - }, - "total_explores_validated": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "The number of explores used across all content validated", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "ContentValidatorError": { - "properties": { - "look": { "$ref": "#/components/schemas/ContentValidationLook" }, - "dashboard": { - "$ref": "#/components/schemas/ContentValidationDashboard" - }, - "dashboard_element": { - "$ref": "#/components/schemas/ContentValidationDashboardElement" - }, - "dashboard_filter": { - "$ref": "#/components/schemas/ContentValidationDashboardFilter" - }, - "scheduled_plan": { - "$ref": "#/components/schemas/ContentValidationScheduledPlan" - }, - "alert": { "$ref": "#/components/schemas/ContentValidationAlert" }, - "lookml_dashboard": { - "$ref": "#/components/schemas/ContentValidationLookMLDashboard" - }, - "lookml_dashboard_element": { - "$ref": "#/components/schemas/ContentValidationLookMLDashboardElement" - }, - "errors": { - "type": "array", - "items": { "$ref": "#/components/schemas/ContentValidationError" }, - "readOnly": true, - "description": "A list of errors found for this piece of content", - "nullable": true - }, - "id": { - "type": "string", - "readOnly": true, - "description": "An id unique to this piece of content for this validation run", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "ContentValidationFolder": { - "properties": { - "name": { - "type": "string", - "description": "Unique Name", - "nullable": false - }, - "id": { - "type": "string", - "readOnly": true, - "description": "Unique Id", - "nullable": false - } - }, - "x-looker-status": "stable", - "required": ["name"] - }, - "ContentValidationLook": { - "properties": { - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "title": { - "type": "string", - "description": "Look Title", - "nullable": true - }, - "folder": { "$ref": "#/components/schemas/ContentValidationFolder" } - }, - "x-looker-status": "stable" - }, - "ContentValidationDashboard": { - "properties": { - "description": { - "type": "string", - "description": "Description", - "nullable": true - }, - "id": { - "type": "string", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "folder": { "$ref": "#/components/schemas/ContentValidationFolder" }, - "title": { - "type": "string", - "description": "Dashboard Title", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "ContentValidationDashboardElement": { - "properties": { - "body_text": { - "type": "string", - "description": "Text tile body text", - "nullable": true - }, - "dashboard_id": { - "type": "string", - "description": "Id of Dashboard", - "nullable": true - }, - "id": { - "type": "string", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "look_id": { - "type": "string", - "description": "Id Of Look", - "nullable": true - }, - "note_display": { - "type": "string", - "description": "Note Display", - "nullable": true - }, - "note_state": { - "type": "string", - "description": "Note State", - "nullable": true - }, - "note_text": { - "type": "string", - "description": "Note Text", - "nullable": true - }, - "note_text_as_html": { - "type": "string", - "readOnly": true, - "description": "Note Text as Html", - "nullable": true - }, - "query_id": { - "type": "integer", - "format": "int64", - "description": "Id Of Query", - "nullable": true - }, - "subtitle_text": { - "type": "string", - "description": "Text tile subtitle text", - "nullable": true - }, - "title": { - "type": "string", - "description": "Title of dashboard element", - "nullable": true - }, - "title_hidden": { - "type": "boolean", - "description": "Whether title is hidden", - "nullable": false - }, - "title_text": { - "type": "string", - "description": "Text tile title", - "nullable": true - }, - "type": { "type": "string", "description": "Type", "nullable": true } - }, - "x-looker-status": "stable" - }, - "ContentValidationError": { - "properties": { - "message": { - "type": "string", - "readOnly": true, - "description": "Error message", - "nullable": true - }, - "field_name": { - "type": "string", - "readOnly": true, - "description": "Name of the field involved in the error", - "nullable": true - }, - "model_name": { - "type": "string", - "readOnly": true, - "description": "Name of the model involved in the error", - "nullable": true - }, - "explore_name": { - "type": "string", - "readOnly": true, - "description": "Name of the explore involved in the error", - "nullable": true - }, - "removable": { - "type": "boolean", - "readOnly": true, - "description": "Whether this validation error is removable", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "ContentValidationDashboardFilter": { - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "dashboard_id": { - "type": "string", - "readOnly": true, - "description": "Id of Dashboard", - "nullable": true - }, - "name": { - "type": "string", - "description": "Name of filter", - "nullable": true - }, - "title": { - "type": "string", - "description": "Title of filter", - "nullable": true - }, - "type": { - "type": "string", - "description": "Type of filter: one of date, number, string, or field", - "nullable": true - }, - "default_value": { - "type": "string", - "description": "Default value of filter", - "nullable": true - }, - "model": { - "type": "string", - "description": "Model of filter (required if type = field)", - "nullable": true - }, - "explore": { - "type": "string", - "description": "Explore of filter (required if type = field)", - "nullable": true - }, - "dimension": { - "type": "string", - "description": "Dimension of filter (required if type = field)", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "ContentValidationScheduledPlan": { - "properties": { - "name": { - "type": "string", - "description": "Name of this scheduled plan", - "nullable": true - }, - "look_id": { - "type": "integer", - "format": "int64", - "description": "Id of a look", - "nullable": true - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "ContentValidationAlert": { - "properties": { - "id": { - "type": "integer", - "format": "int64", - "description": "ID of the alert", - "nullable": false - }, - "lookml_dashboard_id": { - "type": "string", - "description": "ID of the LookML dashboard associated with the alert", - "nullable": true - }, - "lookml_link_id": { - "type": "string", - "description": "ID of the LookML dashboard element associated with the alert", - "nullable": true - }, - "custom_title": { - "type": "string", - "description": "An optional, user-defined title for the alert", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "ContentValidationLookMLDashboard": { - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "ID of the LookML Dashboard", - "nullable": false - }, - "title": { - "type": "string", - "readOnly": true, - "description": "Title of the LookML Dashboard", - "nullable": true - }, - "space_id": { - "type": "string", - "readOnly": true, - "description": "ID of Space", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "ContentValidationLookMLDashboardElement": { - "properties": { - "lookml_link_id": { - "type": "string", - "readOnly": true, - "description": "Link ID of the LookML Dashboard Element", - "nullable": true - }, - "title": { - "type": "string", - "readOnly": true, - "description": "Title of the LookML Dashboard Element", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "ContentView": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "look_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of viewed Look", - "nullable": true - }, - "dashboard_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of the viewed Dashboard", - "nullable": true - }, - "title": { - "type": "string", - "readOnly": true, - "description": "Name or title of underlying content", - "nullable": true - }, - "content_metadata_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Content metadata id of the Look or Dashboard", - "nullable": true - }, - "user_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of user content was viewed by", - "nullable": true - }, - "group_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of group content was viewed by", - "nullable": true - }, - "view_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of times piece of content was viewed", - "nullable": true - }, - "favorite_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of times piece of content was favorited", - "nullable": true - }, - "last_viewed_at": { - "type": "string", - "readOnly": true, - "description": "Date the piece of content was last viewed", - "nullable": true - }, - "start_of_week_date": { - "type": "string", - "readOnly": true, - "description": "Week start date for the view and favorite count during that given week", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "CredentialsApi3": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "client_id": { - "type": "string", - "readOnly": true, - "description": "API key client_id", - "nullable": true - }, - "created_at": { - "type": "string", - "readOnly": true, - "description": "Timestamp for the creation of this credential", - "nullable": true - }, - "is_disabled": { - "type": "boolean", - "readOnly": true, - "description": "Has this credential been disabled?", - "nullable": false - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Short name for the type of this kind of credential", - "nullable": true - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to get this item", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "CredentialsEmail": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "created_at": { - "type": "string", - "readOnly": true, - "description": "Timestamp for the creation of this credential", - "nullable": true - }, - "email": { - "type": "string", - "description": "EMail address used for user login", - "nullable": true - }, - "forced_password_reset_at_next_login": { - "type": "boolean", - "description": "Force the user to change their password upon their next login", - "nullable": false - }, - "is_disabled": { - "type": "boolean", - "readOnly": true, - "description": "Has this credential been disabled?", - "nullable": false - }, - "logged_in_at": { - "type": "string", - "readOnly": true, - "description": "Timestamp for most recent login using credential", - "nullable": true - }, - "password_reset_url": { - "type": "string", - "readOnly": true, - "description": "Url with one-time use secret token that the user can use to reset password", - "nullable": true - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Short name for the type of this kind of credential", - "nullable": true - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to get this item", - "nullable": true - }, - "user_url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to get this user", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "CredentialsEmbed": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "created_at": { - "type": "string", - "readOnly": true, - "description": "Timestamp for the creation of this credential", - "nullable": true - }, - "external_group_id": { - "type": "string", - "readOnly": true, - "description": "Embedder's id for a group to which this user was added during the most recent login", - "nullable": true - }, - "external_user_id": { - "type": "string", - "readOnly": true, - "description": "Embedder's unique id for the user", - "nullable": true - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "is_disabled": { - "type": "boolean", - "readOnly": true, - "description": "Has this credential been disabled?", - "nullable": false - }, - "logged_in_at": { - "type": "string", - "readOnly": true, - "description": "Timestamp for most recent login using credential", - "nullable": true - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Short name for the type of this kind of credential", - "nullable": true - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to get this item", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "CredentialsGoogle": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "created_at": { - "type": "string", - "readOnly": true, - "description": "Timestamp for the creation of this credential", - "nullable": true - }, - "domain": { - "type": "string", - "readOnly": true, - "description": "Google domain", - "nullable": true - }, - "email": { - "type": "string", - "readOnly": true, - "description": "EMail address", - "nullable": true - }, - "google_user_id": { - "type": "string", - "readOnly": true, - "description": "Google's Unique ID for this user", - "nullable": true - }, - "is_disabled": { - "type": "boolean", - "readOnly": true, - "description": "Has this credential been disabled?", - "nullable": false - }, - "logged_in_at": { - "type": "string", - "readOnly": true, - "description": "Timestamp for most recent login using credential", - "nullable": true - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Short name for the type of this kind of credential", - "nullable": true - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to get this item", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "CredentialsLDAP": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "created_at": { - "type": "string", - "readOnly": true, - "description": "Timestamp for the creation of this credential", - "nullable": true - }, - "email": { - "type": "string", - "readOnly": true, - "description": "EMail address", - "nullable": true - }, - "is_disabled": { - "type": "boolean", - "readOnly": true, - "description": "Has this credential been disabled?", - "nullable": false - }, - "ldap_dn": { - "type": "string", - "readOnly": true, - "description": "LDAP Distinguished name for this user (as-of the last login)", - "nullable": true - }, - "ldap_id": { - "type": "string", - "readOnly": true, - "description": "LDAP Unique ID for this user", - "nullable": true - }, - "logged_in_at": { - "type": "string", - "readOnly": true, - "description": "Timestamp for most recent login using credential", - "nullable": true - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Short name for the type of this kind of credential", - "nullable": true - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to get this item", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "CredentialsLookerOpenid": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "created_at": { - "type": "string", - "readOnly": true, - "description": "Timestamp for the creation of this credential", - "nullable": true - }, - "email": { - "type": "string", - "readOnly": true, - "description": "EMail address used for user login", - "nullable": true - }, - "is_disabled": { - "type": "boolean", - "readOnly": true, - "description": "Has this credential been disabled?", - "nullable": false - }, - "logged_in_at": { - "type": "string", - "readOnly": true, - "description": "Timestamp for most recent login using credential", - "nullable": true - }, - "logged_in_ip": { - "type": "string", - "readOnly": true, - "description": "IP address of client for most recent login using credential", - "nullable": true - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Short name for the type of this kind of credential", - "nullable": true - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to get this item", - "nullable": true - }, - "user_url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to get this user", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "CredentialsOIDC": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "created_at": { - "type": "string", - "readOnly": true, - "description": "Timestamp for the creation of this credential", - "nullable": true - }, - "email": { - "type": "string", - "readOnly": true, - "description": "EMail address", - "nullable": true - }, - "is_disabled": { - "type": "boolean", - "readOnly": true, - "description": "Has this credential been disabled?", - "nullable": false - }, - "logged_in_at": { - "type": "string", - "readOnly": true, - "description": "Timestamp for most recent login using credential", - "nullable": true - }, - "oidc_user_id": { - "type": "string", - "readOnly": true, - "description": "OIDC OP's Unique ID for this user", - "nullable": true - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Short name for the type of this kind of credential", - "nullable": true - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to get this item", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "CredentialsSaml": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "created_at": { - "type": "string", - "readOnly": true, - "description": "Timestamp for the creation of this credential", - "nullable": true - }, - "email": { - "type": "string", - "readOnly": true, - "description": "EMail address", - "nullable": true - }, - "is_disabled": { - "type": "boolean", - "readOnly": true, - "description": "Has this credential been disabled?", - "nullable": false - }, - "logged_in_at": { - "type": "string", - "readOnly": true, - "description": "Timestamp for most recent login using credential", - "nullable": true - }, - "saml_user_id": { - "type": "string", - "readOnly": true, - "description": "Saml IdP's Unique ID for this user", - "nullable": true - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Short name for the type of this kind of credential", - "nullable": true - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to get this item", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "CredentialsTotp": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "created_at": { - "type": "string", - "readOnly": true, - "description": "Timestamp for the creation of this credential", - "nullable": true - }, - "is_disabled": { - "type": "boolean", - "readOnly": true, - "description": "Has this credential been disabled?", - "nullable": false - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Short name for the type of this kind of credential", - "nullable": true - }, - "verified": { - "type": "boolean", - "readOnly": true, - "description": "User has verified", - "nullable": false - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to get this item", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "CustomWelcomeEmail": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "enabled": { - "type": "boolean", - "description": "If true, custom email content will replace the default body of welcome emails", - "nullable": false - }, - "content": { - "type": "string", - "description": "The HTML to use as custom content for welcome emails. Script elements and other potentially dangerous markup will be removed.", - "nullable": true - }, - "subject": { - "type": "string", - "description": "The text to appear in the email subject line.", - "nullable": true - }, - "header": { - "type": "string", - "description": "The text to appear in the header line of the email body.", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "DashboardAggregateTableLookml": { - "properties": { - "dashboard_id": { - "type": "string", - "readOnly": true, - "description": "Dashboard Id", - "nullable": true - }, - "aggregate_table_lookml": { - "type": "string", - "readOnly": true, - "description": "Aggregate Table LookML", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "DashboardAppearance": { - "properties": { - "page_side_margins": { - "type": "integer", - "format": "int64", - "description": "Page margin (side) width", - "nullable": true - }, - "page_background_color": { - "type": "string", - "description": "Background color for the dashboard", - "nullable": true - }, - "tile_title_alignment": { - "type": "string", - "description": "Title alignment on dashboard tiles", - "nullable": true - }, - "tile_space_between": { - "type": "integer", - "format": "int64", - "description": "Space between tiles", - "nullable": true - }, - "tile_background_color": { - "type": "string", - "description": "Background color for tiles", - "nullable": true - }, - "tile_shadow": { - "type": "boolean", - "description": "Tile shadow on/off", - "nullable": true - }, - "key_color": { - "type": "string", - "description": "Key color", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "DashboardElement": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "body_text": { - "type": "string", - "description": "Text tile body text", - "nullable": true - }, - "body_text_as_html": { - "type": "string", - "readOnly": true, - "description": "Text tile body text as Html", - "nullable": true - }, - "dashboard_id": { - "type": "string", - "description": "Id of Dashboard", - "nullable": true - }, - "edit_uri": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Relative path of URI of LookML file to edit the dashboard element (LookML dashboard only).", - "nullable": true - }, - "id": { - "type": "string", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "look": { "$ref": "#/components/schemas/LookWithQuery" }, - "look_id": { - "type": "string", - "description": "Id Of Look", - "nullable": true - }, - "lookml_link_id": { - "type": "string", - "readOnly": true, - "description": "LookML link ID", - "nullable": true - }, - "merge_result_id": { - "type": "string", - "description": "ID of merge result", - "nullable": true - }, - "note_display": { - "type": "string", - "description": "Note Display", - "nullable": true - }, - "note_state": { - "type": "string", - "description": "Note State", - "nullable": true - }, - "note_text": { - "type": "string", - "description": "Note Text", - "nullable": true - }, - "note_text_as_html": { - "type": "string", - "readOnly": true, - "description": "Note Text as Html", - "nullable": true - }, - "query": { "$ref": "#/components/schemas/Query" }, - "query_id": { - "type": "integer", - "format": "int64", - "description": "Id Of Query", - "nullable": true - }, - "refresh_interval": { - "type": "string", - "description": "Refresh Interval", - "nullable": true - }, - "refresh_interval_to_i": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Refresh Interval as integer", - "nullable": true - }, - "result_maker": { - "$ref": "#/components/schemas/ResultMakerWithIdVisConfigAndDynamicFields" - }, - "result_maker_id": { - "type": "integer", - "format": "int64", - "description": "ID of the ResultMakerLookup entry.", - "nullable": true - }, - "subtitle_text": { - "type": "string", - "description": "Text tile subtitle text", - "nullable": true - }, - "title": { - "type": "string", - "description": "Title of dashboard element", - "nullable": true - }, - "title_hidden": { - "type": "boolean", - "description": "Whether title is hidden", - "nullable": false - }, - "title_text": { - "type": "string", - "description": "Text tile title", - "nullable": true - }, - "type": { "type": "string", "description": "Type", "nullable": true }, - "alert_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Count of Alerts associated to a dashboard element", - "nullable": true - }, - "title_text_as_html": { - "type": "string", - "readOnly": true, - "description": "Text tile title text as Html", - "nullable": true - }, - "subtitle_text_as_html": { - "type": "string", - "readOnly": true, - "description": "Text tile subtitle text as Html", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "DashboardFilter": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "id": { - "type": "string", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "dashboard_id": { - "type": "string", - "readOnly": true, - "description": "Id of Dashboard", - "nullable": true - }, - "name": { - "type": "string", - "description": "Name of filter", - "nullable": true - }, - "title": { - "type": "string", - "description": "Title of filter", - "nullable": true - }, - "type": { - "type": "string", - "description": "Type of filter: one of date, number, string, or field", - "nullable": true - }, - "default_value": { - "type": "string", - "description": "Default value of filter", - "nullable": true - }, - "model": { - "type": "string", - "description": "Model of filter (required if type = field)", - "nullable": true - }, - "explore": { - "type": "string", - "description": "Explore of filter (required if type = field)", - "nullable": true - }, - "dimension": { - "type": "string", - "description": "Dimension of filter (required if type = field)", - "nullable": true - }, - "field": { - "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, - "readOnly": true, - "description": "Field information", - "nullable": true - }, - "row": { - "type": "integer", - "format": "int64", - "description": "Display order of this filter relative to other filters", - "nullable": true - }, - "listens_to_filters": { - "type": "array", - "items": { "type": "string" }, - "description": "Array of listeners for faceted filters", - "nullable": true - }, - "allow_multiple_values": { - "type": "boolean", - "description": "Whether the filter allows multiple filter values (deprecated in the latest version of dashboards)", - "nullable": false - }, - "required": { - "type": "boolean", - "description": "Whether the filter requires a value to run the dashboard", - "nullable": false - }, - "ui_config": { - "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, - "description": "The visual configuration for this filter. Used to set up how the UI for this filter should appear.", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "CreateDashboardFilter": { - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "dashboard_id": { - "type": "string", - "description": "Id of Dashboard", - "nullable": true - }, - "name": { - "type": "string", - "description": "Name of filter", - "nullable": true - }, - "title": { - "type": "string", - "description": "Title of filter", - "nullable": true - }, - "type": { - "type": "string", - "description": "Type of filter: one of date, number, string, or field", - "nullable": true - }, - "default_value": { - "type": "string", - "description": "Default value of filter", - "nullable": true - }, - "model": { - "type": "string", - "description": "Model of filter (required if type = field)", - "nullable": true - }, - "explore": { - "type": "string", - "description": "Explore of filter (required if type = field)", - "nullable": true - }, - "dimension": { - "type": "string", - "description": "Dimension of filter (required if type = field)", - "nullable": true - }, - "field": { - "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, - "readOnly": true, - "description": "Field information", - "nullable": true - }, - "row": { - "type": "integer", - "format": "int64", - "description": "Display order of this filter relative to other filters", - "nullable": true - }, - "listens_to_filters": { - "type": "array", - "items": { "type": "string" }, - "description": "Array of listeners for faceted filters", - "nullable": true - }, - "allow_multiple_values": { - "type": "boolean", - "description": "Whether the filter allows multiple filter values (deprecated in the latest version of dashboards)", - "nullable": false - }, - "required": { - "type": "boolean", - "description": "Whether the filter requires a value to run the dashboard", - "nullable": false - }, - "ui_config": { - "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, - "description": "The visual configuration for this filter. Used to set up how the UI for this filter should appear.", - "nullable": true - } - }, - "x-looker-status": "stable", - "required": ["dashboard_id", "name", "title", "type"] - }, - "DashboardLayoutComponent": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "id": { - "type": "string", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "dashboard_layout_id": { - "type": "string", - "description": "Id of Dashboard Layout", - "nullable": true - }, - "dashboard_element_id": { - "type": "string", - "description": "Id Of Dashboard Element", - "nullable": true - }, - "row": { - "type": "integer", - "format": "int64", - "description": "Row", - "nullable": true - }, - "column": { - "type": "integer", - "format": "int64", - "description": "Column", - "nullable": true - }, - "width": { - "type": "integer", - "format": "int64", - "description": "Width", - "nullable": true - }, - "height": { - "type": "integer", - "format": "int64", - "description": "Height", - "nullable": true - }, - "deleted": { - "type": "boolean", - "readOnly": true, - "description": "Whether or not the dashboard layout component is deleted", - "nullable": false - }, - "element_title": { - "type": "string", - "readOnly": true, - "description": "Dashboard element title, extracted from the Dashboard Element.", - "nullable": true - }, - "element_title_hidden": { - "type": "boolean", - "readOnly": true, - "description": "Whether or not the dashboard element title is displayed.", - "nullable": false - }, - "vis_type": { - "type": "string", - "readOnly": true, - "description": "Visualization type, extracted from a query's vis_config", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "DashboardLayout": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "id": { - "type": "string", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "dashboard_id": { - "type": "string", - "description": "Id of Dashboard", - "nullable": true - }, - "type": { "type": "string", "description": "Type", "nullable": true }, - "active": { - "type": "boolean", - "description": "Is Active", - "nullable": false - }, - "column_width": { - "type": "integer", - "format": "int64", - "description": "Column Width", - "nullable": true - }, - "width": { - "type": "integer", - "format": "int64", - "description": "Width", - "nullable": true - }, - "deleted": { - "type": "boolean", - "readOnly": true, - "description": "Whether or not the dashboard layout is deleted.", - "nullable": false - }, - "dashboard_title": { - "type": "string", - "readOnly": true, - "description": "Title extracted from the dashboard this layout represents.", - "nullable": true - }, - "dashboard_layout_components": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DashboardLayoutComponent" - }, - "readOnly": true, - "description": "Components", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "DashboardLookml": { - "properties": { - "dashboard_id": { - "type": "string", - "readOnly": true, - "description": "Id of Dashboard", - "nullable": true - }, - "lookml": { - "type": "string", - "readOnly": true, - "description": "lookml of UDD", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "Dashboard": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "content_favorite_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Content Favorite Id", - "nullable": true - }, - "content_metadata_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of content metadata", - "nullable": true - }, - "description": { - "type": "string", - "description": "Description", - "nullable": true - }, - "hidden": { - "type": "boolean", - "description": "Is Hidden", - "nullable": false - }, - "id": { - "type": "string", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "model": { "$ref": "#/components/schemas/LookModel" }, - "query_timezone": { - "type": "string", - "description": "Timezone in which the Dashboard will run by default.", - "nullable": true - }, - "readonly": { - "type": "boolean", - "readOnly": true, - "description": "Is Read-only", - "nullable": false - }, - "refresh_interval": { - "type": "string", - "description": "Refresh Interval, as a time duration phrase like \"2 hours 30 minutes\". A number with no time units will be interpreted as whole seconds.", - "nullable": true - }, - "refresh_interval_to_i": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Refresh Interval in milliseconds", - "nullable": true - }, - "folder": { "$ref": "#/components/schemas/FolderBase" }, - "title": { - "type": "string", - "description": "Dashboard Title", - "nullable": true - }, - "user_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of User", - "nullable": true - }, - "background_color": { - "type": "string", - "description": "Background color", - "nullable": true - }, - "created_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Time that the Dashboard was created.", - "nullable": true - }, - "crossfilter_enabled": { - "type": "boolean", - "description": "Enables crossfiltering in dashboards - only available in dashboards-next (beta)", - "nullable": false - }, - "dashboard_elements": { - "type": "array", - "items": { "$ref": "#/components/schemas/DashboardElement" }, - "readOnly": true, - "description": "Elements", - "nullable": true - }, - "dashboard_filters": { - "type": "array", - "items": { "$ref": "#/components/schemas/DashboardFilter" }, - "readOnly": true, - "description": "Filters", - "nullable": true - }, - "dashboard_layouts": { - "type": "array", - "items": { "$ref": "#/components/schemas/DashboardLayout" }, - "readOnly": true, - "description": "Layouts", - "nullable": true - }, - "deleted": { - "type": "boolean", - "description": "Whether or not a dashboard is 'soft' deleted.", - "nullable": false - }, - "deleted_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Time that the Dashboard was 'soft' deleted.", - "nullable": true - }, - "deleter_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of User that 'soft' deleted the dashboard.", - "nullable": true - }, - "edit_uri": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Relative path of URI of LookML file to edit the dashboard (LookML dashboard only).", - "nullable": true - }, - "favorite_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of times favorited", - "nullable": true - }, - "last_accessed_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Time the dashboard was last accessed", - "nullable": true - }, - "last_viewed_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Time last viewed in the Looker web UI", - "nullable": true - }, - "load_configuration": { - "type": "string", - "description": "configuration option that governs how dashboard loading will happen.", - "nullable": true - }, - "lookml_link_id": { - "type": "string", - "description": "Links this dashboard to a particular LookML dashboard such that calling a **sync** operation on that LookML dashboard will update this dashboard to match.", - "nullable": true - }, - "show_filters_bar": { - "type": "boolean", - "description": "Show filters bar. **Security Note:** This property only affects the *cosmetic* appearance of the dashboard, not a user's ability to access data. Hiding the filters bar does **NOT** prevent users from changing filters by other means. For information on how to set up secure data access control policies, see [Control User Access to Data](https://looker.com/docs/r/api/control-access)", - "nullable": false - }, - "show_title": { - "type": "boolean", - "description": "Show title", - "nullable": false - }, - "slug": { - "type": "string", - "description": "Content Metadata Slug", - "nullable": true - }, - "folder_id": { - "type": "string", - "description": "Id of folder", - "nullable": true - }, - "text_tile_text_color": { - "type": "string", - "description": "Color of text on text tiles", - "nullable": true - }, - "tile_background_color": { - "type": "string", - "description": "Tile background color", - "nullable": true - }, - "tile_text_color": { - "type": "string", - "description": "Tile text color", - "nullable": true - }, - "title_color": { - "type": "string", - "description": "Title color", - "nullable": true - }, - "view_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of times viewed in the Looker web UI", - "nullable": true - }, - "appearance": { "$ref": "#/components/schemas/DashboardAppearance" }, - "preferred_viewer": { - "type": "string", - "description": "The preferred route for viewing this dashboard (ie: dashboards or dashboards-next)", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "DataActionFormField": { - "properties": { - "name": { - "type": "string", - "readOnly": true, - "description": "Name", - "nullable": true - }, - "label": { - "type": "string", - "readOnly": true, - "description": "Human-readable label", - "nullable": true - }, - "description": { - "type": "string", - "readOnly": true, - "description": "Description of field", - "nullable": true - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Type of field.", - "nullable": true - }, - "default": { - "type": "string", - "readOnly": true, - "description": "Default value of the field.", - "nullable": true - }, - "oauth_url": { - "type": "string", - "readOnly": true, - "description": "The URL for an oauth link, if type is 'oauth_link'.", - "nullable": true - }, - "interactive": { - "type": "boolean", - "readOnly": true, - "description": "Whether or not a field supports interactive forms.", - "nullable": false - }, - "required": { - "type": "boolean", - "readOnly": true, - "description": "Whether or not the field is required. This is a user-interface hint. A user interface displaying this form should not submit it without a value for this field. The action server must also perform this validation.", - "nullable": false - }, - "options": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DataActionFormSelectOption" - }, - "readOnly": true, - "description": "If the form type is 'select', a list of options to be selected from.", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "DataActionForm": { - "properties": { - "state": { "$ref": "#/components/schemas/DataActionUserState" }, - "fields": { - "type": "array", - "items": { "$ref": "#/components/schemas/DataActionFormField" }, - "readOnly": true, - "description": "Array of form fields.", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "DataActionFormSelectOption": { - "properties": { - "name": { - "type": "string", - "readOnly": true, - "description": "Name", - "nullable": true - }, - "label": { - "type": "string", - "readOnly": true, - "description": "Human-readable label", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "DataActionRequest": { - "properties": { - "action": { - "type": "object", - "additionalProperties": { "type": "string" }, - "description": "The JSON describing the data action. This JSON should be considered opaque and should be passed through unmodified from the query result it came from.", - "nullable": true - }, - "form_values": { - "type": "object", - "additionalProperties": { "type": "string" }, - "description": "User input for any form values the data action might use.", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "DataActionResponse": { - "properties": { - "webhook_id": { - "type": "string", - "readOnly": true, - "description": "ID of the webhook event that sent this data action. In some error conditions, this may be null.", - "nullable": true - }, - "success": { - "type": "boolean", - "readOnly": true, - "description": "Whether the data action was successful.", - "nullable": false - }, - "refresh_query": { - "type": "boolean", - "readOnly": true, - "description": "When true, indicates that the client should refresh (rerun) the source query because the data may have been changed by the action.", - "nullable": false - }, - "validation_errors": { - "$ref": "#/components/schemas/ValidationError" - }, - "message": { - "type": "string", - "readOnly": true, - "description": "Optional message returned by the data action server describing the state of the action that took place. This can be used to implement custom failure messages. If a failure is related to a particular form field, the server should send back a validation error instead. The Looker web UI does not currently display any message if the action indicates 'success', but may do so in the future.", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "DataActionUserState": { - "properties": { - "data": { - "type": "string", - "readOnly": true, - "description": "User state data", - "nullable": true - }, - "refresh_time": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Time in seconds until the state needs to be refreshed", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "Datagroup": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "created_at": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "UNIX timestamp at which this entry was created.", - "nullable": true - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique ID of the datagroup", - "nullable": false - }, - "model_name": { - "type": "string", - "readOnly": true, - "description": "Name of the model containing the datagroup. Unique when combined with name.", - "nullable": true - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Name of the datagroup. Unique when combined with model_name.", - "nullable": true - }, - "stale_before": { - "type": "integer", - "format": "int64", - "description": "UNIX timestamp before which cache entries are considered stale. Cannot be in the future.", - "nullable": true - }, - "trigger_check_at": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "UNIX timestamp at which this entry trigger was last checked.", - "nullable": true - }, - "trigger_error": { - "type": "string", - "readOnly": true, - "description": "The message returned with the error of the last trigger check.", - "nullable": true - }, - "trigger_value": { - "type": "string", - "readOnly": true, - "description": "The value of the trigger when last checked.", - "nullable": true - }, - "triggered_at": { - "type": "integer", - "format": "int64", - "description": "UNIX timestamp at which this entry became triggered. Cannot be in the future.", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "DBConnectionBase": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Name of the connection. Also used as the unique identifier", - "nullable": false - }, - "dialect": { "$ref": "#/components/schemas/Dialect" }, - "snippets": { - "type": "array", - "items": { "$ref": "#/components/schemas/Snippet" }, - "readOnly": true, - "description": "SQL Runner snippets for this connection", - "nullable": false - }, - "pdts_enabled": { - "type": "boolean", - "readOnly": true, - "description": "True if PDTs are enabled on this connection", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "DBConnection": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "name": { - "type": "string", - "description": "Name of the connection. Also used as the unique identifier", - "nullable": false - }, - "dialect": { "$ref": "#/components/schemas/Dialect" }, - "snippets": { - "type": "array", - "items": { "$ref": "#/components/schemas/Snippet" }, - "readOnly": true, - "description": "SQL Runner snippets for this connection", - "nullable": false - }, - "pdts_enabled": { - "type": "boolean", - "readOnly": true, - "description": "True if PDTs are enabled on this connection", - "nullable": false - }, - "host": { - "type": "string", - "description": "Host name/address of server", - "nullable": true - }, - "port": { - "type": "integer", - "format": "int64", - "description": "Port number on server", - "nullable": true - }, - "username": { - "type": "string", - "description": "Username for server authentication", - "nullable": true - }, - "password": { - "type": "string", - "x-looker-write-only": true, - "description": "(Write-Only) Password for server authentication", - "nullable": true - }, - "uses_oauth": { - "type": "boolean", - "readOnly": true, - "description": "Whether the connection uses OAuth for authentication.", - "nullable": false - }, - "certificate": { - "type": "string", - "x-looker-write-only": true, - "description": "(Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect).", - "nullable": true - }, - "file_type": { - "type": "string", - "x-looker-write-only": true, - "description": "(Write-Only) Certificate keyfile type - .json or .p12", - "nullable": true - }, - "database": { - "type": "string", - "description": "Database name", - "nullable": true - }, - "db_timezone": { - "type": "string", - "description": "Time zone of database", - "nullable": true - }, - "query_timezone": { - "type": "string", - "description": "Timezone to use in queries", - "nullable": true - }, - "schema": { - "type": "string", - "description": "Scheme name", - "nullable": true - }, - "max_connections": { - "type": "integer", - "format": "int64", - "description": "Maximum number of concurrent connection to use", - "nullable": true - }, - "max_billing_gigabytes": { - "type": "string", - "description": "Maximum size of query in GBs (BigQuery only, can be a user_attribute name)", - "nullable": true - }, - "ssl": { - "type": "boolean", - "description": "Use SSL/TLS when connecting to server", - "nullable": false - }, - "verify_ssl": { - "type": "boolean", - "description": "Verify the SSL", - "nullable": false - }, - "tmp_db_name": { - "type": "string", - "description": "Name of temporary database (if used)", - "nullable": true - }, - "jdbc_additional_params": { - "type": "string", - "description": "Additional params to add to JDBC connection string", - "nullable": true - }, - "pool_timeout": { - "type": "integer", - "format": "int64", - "description": "Connection Pool Timeout, in seconds", - "nullable": true - }, - "dialect_name": { - "type": "string", - "description": "(Read/Write) SQL Dialect name", - "nullable": true - }, - "created_at": { - "type": "string", - "readOnly": true, - "description": "Creation date for this connection", - "nullable": true - }, - "user_id": { - "type": "string", - "readOnly": true, - "description": "Id of user who last modified this connection configuration", - "nullable": true - }, - "example": { - "type": "boolean", - "readOnly": true, - "description": "Is this an example connection?", - "nullable": false - }, - "user_db_credentials": { - "type": "boolean", - "description": "(Limited access feature) Are per user db credentials enabled. Enabling will remove previously set username and password", - "nullable": true - }, - "user_attribute_fields": { - "type": "array", - "items": { "type": "string" }, - "description": "Fields whose values map to user attribute names", - "nullable": true - }, - "maintenance_cron": { - "type": "string", - "description": "Cron string specifying when maintenance such as PDT trigger checks and drops should be performed", - "nullable": true - }, - "last_regen_at": { - "type": "string", - "readOnly": true, - "description": "Unix timestamp at start of last completed PDT trigger check process", - "nullable": true - }, - "last_reap_at": { - "type": "string", - "readOnly": true, - "description": "Unix timestamp at start of last completed PDT reap process", - "nullable": true - }, - "sql_runner_precache_tables": { - "type": "boolean", - "description": "Precache tables in the SQL Runner", - "nullable": false - }, - "sql_writing_with_info_schema": { - "type": "boolean", - "description": "Fetch Information Schema For SQL Writing", - "nullable": false - }, - "after_connect_statements": { - "type": "string", - "description": "SQL statements (semicolon separated) to issue after connecting to the database. Requires `custom_after_connect_statements` license feature", - "nullable": true - }, - "pdt_context_override": { - "$ref": "#/components/schemas/DBConnectionOverride" - }, - "managed": { - "type": "boolean", - "readOnly": true, - "description": "Is this connection created and managed by Looker", - "nullable": false - }, - "tunnel_id": { - "type": "string", - "description": "The Id of the ssh tunnel this connection uses", - "x-looker-undocumented": false, - "nullable": true - }, - "pdt_concurrency": { - "type": "integer", - "format": "int64", - "description": "Maximum number of threads to use to build PDTs in parallel", - "nullable": true - }, - "disable_context_comment": { - "type": "boolean", - "description": "When disable_context_comment is true comment will not be added to SQL", - "nullable": true - }, - "oauth_application_id": { - "type": "integer", - "format": "int64", - "description": "An External OAuth Application to use for authenticating to the database", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "DBConnectionOverride": { - "properties": { - "context": { - "type": "string", - "description": "Context in which to override (`pdt` is the only allowed value)", - "nullable": false - }, - "host": { - "type": "string", - "description": "Host name/address of server", - "nullable": true - }, - "port": { - "type": "string", - "description": "Port number on server", - "nullable": true - }, - "username": { - "type": "string", - "description": "Username for server authentication", - "nullable": true - }, - "password": { - "type": "string", - "x-looker-write-only": true, - "description": "(Write-Only) Password for server authentication", - "nullable": true - }, - "has_password": { - "type": "boolean", - "readOnly": true, - "description": "Whether or not the password is overridden in this context", - "nullable": false - }, - "certificate": { - "type": "string", - "x-looker-write-only": true, - "description": "(Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect).", - "nullable": true - }, - "file_type": { - "type": "string", - "x-looker-write-only": true, - "description": "(Write-Only) Certificate keyfile type - .json or .p12", - "nullable": true - }, - "database": { - "type": "string", - "description": "Database name", - "nullable": true - }, - "schema": { - "type": "string", - "description": "Scheme name", - "nullable": true - }, - "jdbc_additional_params": { - "type": "string", - "description": "Additional params to add to JDBC connection string", - "nullable": true - }, - "after_connect_statements": { - "type": "string", - "description": "SQL statements (semicolon separated) to issue after connecting to the database. Requires `custom_after_connect_statements` license feature", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "DBConnectionTestResult": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "connection_string": { - "type": "string", - "readOnly": true, - "description": "JDBC connection string. (only populated in the 'connect' test)", - "nullable": true - }, - "message": { - "type": "string", - "readOnly": true, - "description": "Result message of test", - "nullable": true - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Name of test", - "nullable": true - }, - "status": { - "type": "string", - "readOnly": true, - "description": "Result code of test", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "DelegateOauthTest": { - "properties": { - "name": { - "type": "string", - "readOnly": true, - "description": "Delegate Oauth Connection Name", - "nullable": false - }, - "installation_target_id": { - "type": "string", - "readOnly": true, - "description": "The ID of the installation target. For Slack, this would be workspace id.", - "nullable": false - }, - "installation_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Installation ID", - "nullable": false - }, - "success": { - "type": "boolean", - "readOnly": true, - "description": "Whether or not the test was successful", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "DependencyGraph": { - "properties": { - "graph_text": { - "type": "string", - "readOnly": true, - "description": "The graph structure in the dot language that can be rendered into an image.", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "DialectInfo": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "default_max_connections": { - "type": "string", - "readOnly": true, - "description": "Default number max connections", - "nullable": true - }, - "default_port": { - "type": "string", - "readOnly": true, - "description": "Default port number", - "nullable": true - }, - "installed": { - "type": "boolean", - "readOnly": true, - "description": "Is the supporting driver installed", - "nullable": false - }, - "label": { - "type": "string", - "readOnly": true, - "description": "The human-readable label of the connection", - "nullable": true - }, - "label_for_database_equivalent": { - "type": "string", - "readOnly": true, - "description": "What the dialect calls the equivalent of a normal SQL table", - "nullable": true - }, - "name": { - "type": "string", - "readOnly": true, - "description": "The name of the dialect", - "nullable": true - }, - "supported_options": { - "$ref": "#/components/schemas/DialectInfoOptions" - } - }, - "x-looker-status": "stable" - }, - "DialectInfoOptions": { - "properties": { - "additional_params": { - "type": "boolean", - "readOnly": true, - "description": "Has additional params support", - "nullable": false - }, - "auth": { - "type": "boolean", - "readOnly": true, - "description": "Has auth support", - "nullable": false - }, - "host": { - "type": "boolean", - "readOnly": true, - "description": "Has host support", - "nullable": false - }, - "oauth_credentials": { - "type": "boolean", - "readOnly": true, - "description": "Has support for a service account", - "nullable": false - }, - "project_name": { - "type": "boolean", - "readOnly": true, - "description": "Has project name support", - "nullable": false - }, - "schema": { - "type": "boolean", - "readOnly": true, - "description": "Has schema support", - "nullable": false - }, - "ssl": { - "type": "boolean", - "readOnly": true, - "description": "Has SSL support", - "nullable": false - }, - "timezone": { - "type": "boolean", - "readOnly": true, - "description": "Has timezone support", - "nullable": false - }, - "tmp_table": { - "type": "boolean", - "readOnly": true, - "description": "Has tmp table support", - "nullable": false - }, - "username_required": { - "type": "boolean", - "readOnly": true, - "description": "Username is required", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "Dialect": { - "properties": { - "name": { - "type": "string", - "readOnly": true, - "description": "The name of the dialect", - "nullable": false - }, - "label": { - "type": "string", - "readOnly": true, - "description": "The human-readable label of the connection", - "nullable": false - }, - "supports_cost_estimate": { - "type": "boolean", - "readOnly": true, - "description": "Whether the dialect supports query cost estimates", - "nullable": false - }, - "persistent_table_indexes": { - "type": "string", - "readOnly": true, - "description": "PDT index columns", - "nullable": false - }, - "persistent_table_sortkeys": { - "type": "string", - "readOnly": true, - "description": "PDT sortkey columns", - "nullable": false - }, - "persistent_table_distkey": { - "type": "string", - "readOnly": true, - "description": "PDT distkey column", - "nullable": false - }, - "supports_streaming": { - "type": "boolean", - "readOnly": true, - "description": "Suports streaming results", - "nullable": false - }, - "automatically_run_sql_runner_snippets": { - "type": "boolean", - "readOnly": true, - "description": "Should SQL Runner snippets automatically be run", - "nullable": false - }, - "connection_tests": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "description": "Array of names of the tests that can be run on a connection using this dialect", - "nullable": false - }, - "supports_inducer": { - "type": "boolean", - "readOnly": true, - "description": "Is supported with the inducer (i.e. generate from sql)", - "nullable": false - }, - "supports_multiple_databases": { - "type": "boolean", - "readOnly": true, - "description": "Can multiple databases be accessed from a connection using this dialect", - "nullable": false - }, - "supports_persistent_derived_tables": { - "type": "boolean", - "readOnly": true, - "description": "Whether the dialect supports allowing Looker to build persistent derived tables", - "nullable": false - }, - "has_ssl_support": { - "type": "boolean", - "readOnly": true, - "description": "Does the database have client SSL support settable through the JDBC string explicitly?", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "DigestEmailSend": { - "properties": { - "configuration_delivered": { - "type": "boolean", - "description": "True if content was successfully generated and delivered", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "DigestEmails": { - "properties": { - "is_enabled": { - "type": "boolean", - "description": "Whether or not digest emails are enabled", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "EmbedParams": { - "properties": { - "target_url": { - "type": "string", - "format": "uri", - "description": "The complete URL of the Looker UI page to display in the embed context. For example, to display the dashboard with id 34, `target_url` would look like: `https://mycompany.looker.com:9999/dashboards/34`. `target_uri` MUST contain a scheme (HTTPS), domain name, and URL path. Port must be included if it is required to reach the Looker server from browser clients. If the Looker instance is behind a load balancer or other proxy, `target_uri` must be the public-facing domain name and port required to reach the Looker instance, not the actual internal network machine name of the Looker instance.", - "nullable": false - }, - "session_length": { - "type": "integer", - "format": "int64", - "description": "Number of seconds the SSO embed session will be valid after the embed session is started. Defaults to 300 seconds. Maximum session length accepted is 2592000 seconds (30 days).", - "nullable": true - }, - "force_logout_login": { - "type": "boolean", - "description": "When true, the embed session will purge any residual Looker login state (such as in browser cookies) before creating a new login state with the given embed user info. Defaults to true.", - "nullable": false - } - }, - "x-looker-status": "beta", - "required": ["target_url"] - }, - "EmbedSsoParams": { - "properties": { - "target_url": { - "type": "string", - "format": "uri", - "description": "The complete URL of the Looker UI page to display in the embed context. For example, to display the dashboard with id 34, `target_url` would look like: `https://mycompany.looker.com:9999/dashboards/34`. `target_uri` MUST contain a scheme (HTTPS), domain name, and URL path. Port must be included if it is required to reach the Looker server from browser clients. If the Looker instance is behind a load balancer or other proxy, `target_uri` must be the public-facing domain name and port required to reach the Looker instance, not the actual internal network machine name of the Looker instance.", - "nullable": false - }, - "session_length": { - "type": "integer", - "format": "int64", - "description": "Number of seconds the SSO embed session will be valid after the embed session is started. Defaults to 300 seconds. Maximum session length accepted is 2592000 seconds (30 days).", - "nullable": true - }, - "force_logout_login": { - "type": "boolean", - "description": "When true, the embed session will purge any residual Looker login state (such as in browser cookies) before creating a new login state with the given embed user info. Defaults to true.", - "nullable": false - }, - "external_user_id": { - "type": "string", - "description": "A value from an external system that uniquely identifies the embed user. Since the user_ids of Looker embed users may change with every embed session, external_user_id provides a way to assign a known, stable user identifier across multiple embed sessions.", - "nullable": true - }, - "first_name": { - "type": "string", - "description": "First name of the embed user. Defaults to 'Embed' if not specified", - "nullable": true - }, - "last_name": { - "type": "string", - "description": "Last name of the embed user. Defaults to 'User' if not specified", - "nullable": true - }, - "user_timezone": { - "type": "string", - "description": "Sets the user timezone for the embed user session, if the User Specific Timezones setting is enabled in the Looker admin settings. A value of `null` forces the embed user to use the Looker Application Default Timezone. You MUST omit this property from the request if the User Specific Timezones setting is disabled. Timezone values are validated against the IANA Timezone standard and can be seen in the Application Time Zone dropdown list on the Looker General Settings admin page.", - "nullable": true - }, - "permissions": { - "type": "array", - "items": { "type": "string" }, - "description": "List of Looker permission names to grant to the embed user. Requested permissions will be filtered to permissions allowed for embed sessions.", - "nullable": true - }, - "models": { - "type": "array", - "items": { "type": "string" }, - "description": "List of model names that the embed user may access", - "nullable": true - }, - "group_ids": { - "type": "array", - "items": { "type": "integer", "format": "int64" }, - "description": "List of Looker group ids in which to enroll the embed user", - "nullable": true - }, - "external_group_id": { - "type": "string", - "description": "A unique value identifying an embed-exclusive group. Multiple embed users using the same `external_group_id` value will be able to share Looker content with each other. Content and embed users associated with the `external_group_id` will not be accessible to normal Looker users or embed users not associated with this `external_group_id`.", - "nullable": true - }, - "user_attributes": { - "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, - "description": "A dictionary of name-value pairs associating a Looker user attribute name with a value.", - "nullable": true - }, - "secret_id": { - "type": "integer", - "format": "int64", - "description": "Id of the embed secret to use to sign this SSO url. If specified, the value must be an id of a valid (active) secret defined in the Looker instance. If not specified, the URL will be signed with the newest active embed secret defined in the Looker instance.", - "nullable": true - } - }, - "x-looker-status": "stable", - "required": ["target_url"] - }, - "EmbedUrlResponse": { - "properties": { - "url": { - "type": "string", - "readOnly": true, - "description": "The embed URL. Any modification to this string will make the URL unusable.", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "ExternalOauthApplication": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "ID of this OAuth Application", - "nullable": false - }, - "name": { - "type": "string", - "description": "The name of this application. For Snowflake connections, this should be the name of the host database.", - "nullable": false - }, - "client_id": { - "type": "string", - "description": "The OAuth Client ID for this application", - "nullable": false - }, - "client_secret": { - "type": "string", - "x-looker-write-only": true, - "description": "(Write-Only) The OAuth Client Secret for this application", - "nullable": false - }, - "dialect_name": { - "type": "string", - "description": "The database dialect for this application.", - "nullable": true - }, - "created_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Creation time for this application", - "nullable": false - } - }, - "x-looker-status": "beta" - }, - "FolderBase": { - "properties": { - "name": { - "type": "string", - "description": "Unique Name", - "nullable": false - }, - "parent_id": { - "type": "string", - "description": "Id of Parent. If the parent id is null, this is a root-level entry", - "nullable": true - }, - "id": { - "type": "string", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "content_metadata_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of content metadata", - "nullable": true - }, - "created_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Time the folder was created", - "nullable": true - }, - "creator_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "User Id of Creator", - "nullable": true - }, - "child_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Children Count", - "nullable": true - }, - "external_id": { - "type": "string", - "readOnly": true, - "description": "Embedder's Id if this folder was autogenerated as an embedding shared folder via 'external_group_id' in an SSO embed login", - "nullable": true - }, - "is_embed": { - "type": "boolean", - "readOnly": true, - "description": "Folder is an embed folder", - "nullable": false - }, - "is_embed_shared_root": { - "type": "boolean", - "readOnly": true, - "description": "Folder is the root embed shared folder", - "nullable": false - }, - "is_embed_users_root": { - "type": "boolean", - "readOnly": true, - "description": "Folder is the root embed users folder", - "nullable": false - }, - "is_personal": { - "type": "boolean", - "readOnly": true, - "description": "Folder is a user's personal folder", - "nullable": false - }, - "is_personal_descendant": { - "type": "boolean", - "readOnly": true, - "description": "Folder is descendant of a user's personal folder", - "nullable": false - }, - "is_shared_root": { - "type": "boolean", - "readOnly": true, - "description": "Folder is the root shared folder", - "nullable": false - }, - "is_users_root": { - "type": "boolean", - "readOnly": true, - "description": "Folder is the root user folder", - "nullable": false - }, - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - } - }, - "x-looker-status": "stable", - "required": ["name"] - }, - "CreateFolder": { - "properties": { - "name": { - "type": "string", - "description": "Unique Name", - "nullable": false - }, - "parent_id": { - "type": "string", - "description": "Id of Parent. If the parent id is null, this is a root-level entry", - "nullable": false - } - }, - "x-looker-status": "stable", - "required": ["name", "parent_id"] - }, - "UpdateFolder": { - "properties": { - "name": { - "type": "string", - "description": "Unique Name", - "nullable": false - }, - "parent_id": { - "type": "string", - "description": "Id of Parent. If the parent id is null, this is a root-level entry", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "Folder": { - "properties": { - "name": { - "type": "string", - "description": "Unique Name", - "nullable": false - }, - "parent_id": { - "type": "string", - "description": "Id of Parent. If the parent id is null, this is a root-level entry", - "nullable": true - }, - "id": { - "type": "string", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "content_metadata_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of content metadata", - "nullable": true - }, - "created_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Time the space was created", - "nullable": true - }, - "creator_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "User Id of Creator", - "nullable": true - }, - "child_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Children Count", - "nullable": true - }, - "external_id": { - "type": "string", - "readOnly": true, - "description": "Embedder's Id if this folder was autogenerated as an embedding shared folder via 'external_group_id' in an SSO embed login", - "nullable": true - }, - "is_embed": { - "type": "boolean", - "readOnly": true, - "description": "Folder is an embed folder", - "nullable": false - }, - "is_embed_shared_root": { - "type": "boolean", - "readOnly": true, - "description": "Folder is the root embed shared folder", - "nullable": false - }, - "is_embed_users_root": { - "type": "boolean", - "readOnly": true, - "description": "Folder is the root embed users folder", - "nullable": false - }, - "is_personal": { - "type": "boolean", - "readOnly": true, - "description": "Folder is a user's personal folder", - "nullable": false - }, - "is_personal_descendant": { - "type": "boolean", - "readOnly": true, - "description": "Folder is descendant of a user's personal folder", - "nullable": false - }, - "is_shared_root": { - "type": "boolean", - "readOnly": true, - "description": "Folder is the root shared folder", - "nullable": false - }, - "is_users_root": { - "type": "boolean", - "readOnly": true, - "description": "Folder is the root user folder", - "nullable": false - }, - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "dashboards": { - "type": "array", - "items": { "$ref": "#/components/schemas/DashboardBase" }, - "readOnly": true, - "description": "Dashboards", - "nullable": true - }, - "looks": { - "type": "array", - "items": { "$ref": "#/components/schemas/LookWithDashboards" }, - "readOnly": true, - "description": "Looks", - "nullable": true - } - }, - "x-looker-status": "stable", - "required": ["name"] - }, - "GitBranch": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "name": { - "type": "string", - "description": "The short name on the local. Updating `name` results in `git checkout `", - "nullable": true - }, - "remote": { - "type": "string", - "readOnly": true, - "description": "The name of the remote", - "nullable": true - }, - "remote_name": { - "type": "string", - "readOnly": true, - "description": "The short name on the remote", - "nullable": true - }, - "error": { - "type": "string", - "readOnly": true, - "description": "Name of error", - "nullable": true - }, - "message": { - "type": "string", - "readOnly": true, - "description": "Message describing an error if present", - "nullable": true - }, - "owner_name": { - "type": "string", - "readOnly": true, - "description": "Name of the owner of a personal branch", - "nullable": true - }, - "readonly": { - "type": "boolean", - "readOnly": true, - "description": "Whether or not this branch is readonly", - "nullable": false - }, - "personal": { - "type": "boolean", - "readOnly": true, - "description": "Whether or not this branch is a personal branch - readonly for all developers except the owner", - "nullable": false - }, - "is_local": { - "type": "boolean", - "readOnly": true, - "description": "Whether or not a local ref exists for the branch", - "nullable": false - }, - "is_remote": { - "type": "boolean", - "readOnly": true, - "description": "Whether or not a remote ref exists for the branch", - "nullable": false - }, - "is_production": { - "type": "boolean", - "readOnly": true, - "description": "Whether or not this is the production branch", - "nullable": false - }, - "ahead_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of commits the local branch is ahead of the remote", - "nullable": true - }, - "behind_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of commits the local branch is behind the remote", - "nullable": true - }, - "commit_at": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "UNIX timestamp at which this branch was last committed.", - "nullable": true - }, - "ref": { - "type": "string", - "description": "The resolved ref of this branch. Updating `ref` results in `git reset --hard ``.", - "nullable": true - }, - "remote_ref": { - "type": "string", - "readOnly": true, - "description": "The resolved ref of this branch remote.", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "GitConnectionTest": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "description": { - "type": "string", - "readOnly": true, - "description": "Human readable string describing the test", - "nullable": true - }, - "id": { - "type": "string", - "readOnly": true, - "description": "A short string, uniquely naming this test", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "GitConnectionTestResult": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "id": { - "type": "string", - "readOnly": true, - "description": "A short string, uniquely naming this test", - "nullable": false - }, - "message": { - "type": "string", - "readOnly": true, - "description": "Additional data from the test", - "nullable": true - }, - "status": { - "type": "string", - "readOnly": true, - "description": "Either 'pass' or 'fail'", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "GitStatus": { - "properties": { - "action": { - "type": "string", - "readOnly": true, - "description": "Git action: add, delete, etc", - "nullable": true - }, - "conflict": { - "type": "boolean", - "readOnly": true, - "description": "When true, changes to the local file conflict with the remote repository", - "nullable": false - }, - "revertable": { - "type": "boolean", - "readOnly": true, - "description": "When true, the file can be reverted to an earlier state", - "nullable": false - }, - "text": { - "type": "string", - "readOnly": true, - "description": "Git description of the action", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "GroupIdForGroupInclusion": { - "properties": { - "group_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of group", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "Group": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "can_add_to_content_metadata": { - "type": "boolean", - "description": "Group can be used in content access controls", - "nullable": false - }, - "contains_current_user": { - "type": "boolean", - "readOnly": true, - "description": "Currently logged in user is group member", - "nullable": false - }, - "external_group_id": { - "type": "string", - "readOnly": true, - "description": "External Id group if embed group", - "nullable": true - }, - "externally_managed": { - "type": "boolean", - "readOnly": true, - "description": "Group membership controlled outside of Looker", - "nullable": false - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "include_by_default": { - "type": "boolean", - "readOnly": true, - "description": "New users are added to this group by default", - "nullable": false - }, - "name": { - "type": "string", - "description": "Name of group", - "nullable": true - }, - "user_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of users included in this group", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "GroupSearch": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "can_add_to_content_metadata": { - "type": "boolean", - "description": "Group can be used in content access controls", - "nullable": false - }, - "contains_current_user": { - "type": "boolean", - "readOnly": true, - "description": "Currently logged in user is group member", - "nullable": false - }, - "external_group_id": { - "type": "string", - "readOnly": true, - "description": "External Id group if embed group", - "nullable": true - }, - "externally_managed": { - "type": "boolean", - "readOnly": true, - "description": "Group membership controlled outside of Looker", - "nullable": false - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "include_by_default": { - "type": "boolean", - "readOnly": true, - "description": "New users are added to this group by default", - "nullable": false - }, - "name": { - "type": "string", - "description": "Name of group", - "nullable": true - }, - "user_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of users included in this group", - "nullable": true - }, - "roles": { - "type": "array", - "items": { "$ref": "#/components/schemas/Role" }, - "readOnly": true, - "description": "Roles assigned to group", - "nullable": true - } - }, - "x-looker-status": "beta" - }, - "GroupHierarchy": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "can_add_to_content_metadata": { - "type": "boolean", - "description": "Group can be used in content access controls", - "nullable": false - }, - "contains_current_user": { - "type": "boolean", - "readOnly": true, - "description": "Currently logged in user is group member", - "nullable": false - }, - "external_group_id": { - "type": "string", - "readOnly": true, - "description": "External Id group if embed group", - "nullable": true - }, - "externally_managed": { - "type": "boolean", - "readOnly": true, - "description": "Group membership controlled outside of Looker", - "nullable": false - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "include_by_default": { - "type": "boolean", - "readOnly": true, - "description": "New users are added to this group by default", - "nullable": false - }, - "name": { - "type": "string", - "description": "Name of group", - "nullable": true - }, - "user_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of users included in this group", - "nullable": true - }, - "parent_group_ids": { - "type": "array", - "items": { "type": "integer", "format": "int64" }, - "readOnly": true, - "description": "IDs of parents of this group", - "nullable": true - }, - "role_ids": { - "type": "array", - "items": { "type": "integer", "format": "int64" }, - "readOnly": true, - "description": "Role IDs assigned to group", - "nullable": true - } - }, - "x-looker-status": "beta" - }, - "GroupIdForGroupUserInclusion": { - "properties": { - "user_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of user", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "ImportedProject": { - "properties": { - "name": { - "type": "string", - "readOnly": true, - "description": "Dependency name", - "nullable": true - }, - "url": { - "type": "string", - "readOnly": true, - "description": "Url for a remote dependency", - "nullable": true - }, - "ref": { - "type": "string", - "readOnly": true, - "description": "Ref for a remote dependency", - "nullable": true - }, - "is_remote": { - "type": "boolean", - "readOnly": true, - "description": "Flag signifying if a dependency is remote or local", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "IntegrationHub": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "ID of the hub.", - "nullable": false - }, - "url": { - "type": "string", - "description": "URL of the hub.", - "nullable": false - }, - "label": { - "type": "string", - "readOnly": true, - "description": "Label of the hub.", - "nullable": false - }, - "official": { - "type": "boolean", - "readOnly": true, - "description": "Whether this hub is a first-party integration hub operated by Looker.", - "nullable": false - }, - "fetch_error_message": { - "type": "string", - "readOnly": true, - "description": "An error message, present if the integration hub metadata could not be fetched. If this is present, the integration hub is unusable.", - "nullable": true - }, - "authorization_token": { - "type": "string", - "x-looker-write-only": true, - "description": "(Write-Only) An authorization key that will be sent to the integration hub on every request.", - "nullable": true - }, - "has_authorization_token": { - "type": "boolean", - "readOnly": true, - "description": "Whether the authorization_token is set for the hub.", - "nullable": false - }, - "legal_agreement_signed": { - "type": "boolean", - "readOnly": true, - "description": "Whether the legal agreement message has been signed by the user. This only matters if legal_agreement_required is true.", - "nullable": false - }, - "legal_agreement_required": { - "type": "boolean", - "readOnly": true, - "description": "Whether the legal terms for the integration hub are required before use.", - "nullable": false - }, - "legal_agreement_text": { - "type": "string", - "readOnly": true, - "description": "The legal agreement text for this integration hub.", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "Integration": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "id": { - "type": "string", - "readOnly": true, - "description": "ID of the integration.", - "nullable": false - }, - "integration_hub_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "ID of the integration hub.", - "nullable": false - }, - "label": { - "type": "string", - "readOnly": true, - "description": "Label for the integration.", - "nullable": false - }, - "description": { - "type": "string", - "readOnly": true, - "description": "Description of the integration.", - "nullable": true - }, - "enabled": { - "type": "boolean", - "description": "Whether the integration is available to users.", - "nullable": false - }, - "params": { - "type": "array", - "items": { "$ref": "#/components/schemas/IntegrationParam" }, - "description": "Array of params for the integration.", - "nullable": false - }, - "supported_formats": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "enum": [ - "txt", - "csv", - "inline_json", - "json", - "json_label", - "json_detail", - "json_detail_lite_stream", - "xlsx", - "html", - "wysiwyg_pdf", - "assembled_pdf", - "wysiwyg_png", - "csv_zip" - ], - "description": "A list of data formats the integration supports. If unspecified, the default is all data formats. Valid values are: \"txt\", \"csv\", \"inline_json\", \"json\", \"json_label\", \"json_detail\", \"json_detail_lite_stream\", \"xlsx\", \"html\", \"wysiwyg_pdf\", \"assembled_pdf\", \"wysiwyg_png\", \"csv_zip\".", - "nullable": false - }, - "supported_action_types": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "enum": ["cell", "query", "dashboard"], - "description": "A list of action types the integration supports. Valid values are: \"cell\", \"query\", \"dashboard\".", - "nullable": false - }, - "supported_formattings": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "enum": ["formatted", "unformatted"], - "description": "A list of formatting options the integration supports. If unspecified, defaults to all formats. Valid values are: \"formatted\", \"unformatted\".", - "nullable": false - }, - "supported_visualization_formattings": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "enum": ["apply", "noapply"], - "description": "A list of visualization formatting options the integration supports. If unspecified, defaults to all formats. Valid values are: \"apply\", \"noapply\".", - "nullable": false - }, - "supported_download_settings": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "enum": ["push", "url"], - "description": "A list of all the download mechanisms the integration supports. The order of values is not significant: Looker will select the most appropriate supported download mechanism for a given query. The integration must ensure it can handle any of the mechanisms it claims to support. If unspecified, this defaults to all download setting values. Valid values are: \"push\", \"url\".", - "nullable": false - }, - "icon_url": { - "type": "string", - "readOnly": true, - "description": "URL to an icon for the integration.", - "nullable": true - }, - "uses_oauth": { - "type": "boolean", - "readOnly": true, - "description": "Whether the integration uses oauth.", - "nullable": true - }, - "required_fields": { - "type": "array", - "items": { - "$ref": "#/components/schemas/IntegrationRequiredField" - }, - "readOnly": true, - "description": "A list of descriptions of required fields that this integration is compatible with. If there are multiple entries in this list, the integration requires more than one field. If unspecified, no fields will be required.", - "nullable": false - }, - "delegate_oauth": { - "type": "boolean", - "readOnly": true, - "description": "Whether the integration uses delegate oauth, which allows federation between an integration installation scope specific entity (like org, group, and team, etc.) and Looker.", - "nullable": true - }, - "installed_delegate_oauth_targets": { - "type": "array", - "items": { "type": "integer", "format": "int64" }, - "description": "Whether the integration is available to users.", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "IntegrationParam": { - "properties": { - "name": { - "type": "string", - "description": "Name of the parameter.", - "nullable": true - }, - "label": { - "type": "string", - "readOnly": true, - "description": "Label of the parameter.", - "nullable": true - }, - "description": { - "type": "string", - "readOnly": true, - "description": "Short description of the parameter.", - "nullable": true - }, - "required": { - "type": "boolean", - "readOnly": true, - "description": "Whether the parameter is required to be set to use the destination. If unspecified, this defaults to false.", - "nullable": false - }, - "has_value": { - "type": "boolean", - "readOnly": true, - "description": "Whether the parameter has a value set.", - "nullable": false - }, - "value": { - "type": "string", - "description": "The current value of the parameter. Always null if the value is sensitive. When writing, null values will be ignored. Set the value to an empty string to clear it.", - "nullable": true - }, - "user_attribute_name": { - "type": "string", - "description": "When present, the param's value comes from this user attribute instead of the 'value' parameter. Set to null to use the 'value'.", - "nullable": true - }, - "sensitive": { - "type": "boolean", - "readOnly": true, - "description": "Whether the parameter contains sensitive data like API credentials. If unspecified, this defaults to true.", - "nullable": true - }, - "per_user": { - "type": "boolean", - "readOnly": true, - "description": "When true, this parameter must be assigned to a user attribute in the admin panel (instead of a constant value), and that value may be updated by the user as part of the integration flow.", - "nullable": false - }, - "delegate_oauth_url": { - "type": "string", - "readOnly": true, - "description": "When present, the param represents the oauth url the user will be taken to.", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "IntegrationRequiredField": { - "properties": { - "tag": { - "type": "string", - "readOnly": true, - "description": "Matches a field that has this tag.", - "nullable": true - }, - "any_tag": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "description": "If present, supercedes 'tag' and matches a field that has any of the provided tags.", - "nullable": true - }, - "all_tags": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "description": "If present, supercedes 'tag' and matches a field that has all of the provided tags.", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "IntegrationTestResult": { - "properties": { - "success": { - "type": "boolean", - "readOnly": true, - "description": "Whether or not the test was successful", - "nullable": false - }, - "message": { - "type": "string", - "readOnly": true, - "description": "A message representing the results of the test.", - "nullable": true - }, - "delegate_oauth_result": { - "type": "array", - "items": { "$ref": "#/components/schemas/DelegateOauthTest" }, - "readOnly": true, - "description": "An array of connection test result for delegate oauth actions.", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "InternalHelpResourcesContent": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "organization_name": { - "type": "string", - "description": "Text to display in the help menu item which will display the internal help resources", - "nullable": true - }, - "markdown_content": { - "type": "string", - "description": "Content to be displayed in the internal help resources page/modal", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "InternalHelpResources": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "enabled": { - "type": "boolean", - "description": "If true and internal help resources content is not blank then the link for internal help resources will be shown in the help menu and the content displayed within Looker", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "LDAPConfig": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "alternate_email_login_allowed": { - "type": "boolean", - "description": "Allow alternate email-based login via '/login/email' for admins and for specified users with the 'login_special_email' permission. This option is useful as a fallback during ldap setup, if ldap config problems occur later, or if you need to support some users who are not in your ldap directory. Looker email/password logins are always disabled for regular users when ldap is enabled.", - "nullable": false - }, - "auth_password": { - "type": "string", - "x-looker-write-only": true, - "description": "(Write-Only) Password for the LDAP account used to access the LDAP server", - "nullable": true - }, - "auth_requires_role": { - "type": "boolean", - "description": "Users will not be allowed to login at all unless a role for them is found in LDAP if set to true", - "nullable": false - }, - "auth_username": { - "type": "string", - "description": "Distinguished name of LDAP account used to access the LDAP server", - "nullable": true - }, - "connection_host": { - "type": "string", - "description": "LDAP server hostname", - "nullable": true - }, - "connection_port": { - "type": "string", - "description": "LDAP host port", - "nullable": true - }, - "connection_tls": { - "type": "boolean", - "description": "Use Transport Layer Security", - "nullable": false - }, - "connection_tls_no_verify": { - "type": "boolean", - "description": "Do not verify peer when using TLS", - "nullable": false - }, - "default_new_user_group_ids": { - "type": "array", - "items": { "type": "integer", "format": "int64" }, - "x-looker-write-only": true, - "description": "(Write-Only) Array of ids of groups that will be applied to new users the first time they login via LDAP", - "nullable": true - }, - "default_new_user_groups": { - "type": "array", - "items": { "$ref": "#/components/schemas/Group" }, - "readOnly": true, - "description": "(Read-only) Groups that will be applied to new users the first time they login via LDAP", - "nullable": true - }, - "default_new_user_role_ids": { - "type": "array", - "items": { "type": "integer", "format": "int64" }, - "x-looker-write-only": true, - "description": "(Write-Only) Array of ids of roles that will be applied to new users the first time they login via LDAP", - "nullable": true - }, - "default_new_user_roles": { - "type": "array", - "items": { "$ref": "#/components/schemas/Role" }, - "readOnly": true, - "description": "(Read-only) Roles that will be applied to new users the first time they login via LDAP", - "nullable": true - }, - "enabled": { - "type": "boolean", - "description": "Enable/Disable LDAP authentication for the server", - "nullable": false - }, - "force_no_page": { - "type": "boolean", - "description": "Don't attempt to do LDAP search result paging (RFC 2696) even if the LDAP server claims to support it.", - "nullable": false - }, - "groups": { - "type": "array", - "items": { "$ref": "#/components/schemas/LDAPGroupRead" }, - "readOnly": true, - "description": "(Read-only) Array of mappings between LDAP Groups and Looker Roles", - "nullable": true - }, - "groups_base_dn": { - "type": "string", - "description": "Base dn for finding groups in LDAP searches", - "nullable": true - }, - "groups_finder_type": { - "type": "string", - "description": "Identifier for a strategy for how Looker will search for groups in the LDAP server", - "nullable": true - }, - "groups_member_attribute": { - "type": "string", - "description": "LDAP Group attribute that signifies the members of the groups. Most commonly 'member'", - "nullable": true - }, - "groups_objectclasses": { - "type": "string", - "description": "Optional comma-separated list of supported LDAP objectclass for groups when doing groups searches", - "nullable": true - }, - "groups_user_attribute": { - "type": "string", - "description": "LDAP Group attribute that signifies the user in a group. Most commonly 'dn'", - "nullable": true - }, - "groups_with_role_ids": { - "type": "array", - "items": { "$ref": "#/components/schemas/LDAPGroupWrite" }, - "description": "(Read/Write) Array of mappings between LDAP Groups and arrays of Looker Role ids", - "nullable": true - }, - "has_auth_password": { - "type": "boolean", - "readOnly": true, - "description": "(Read-only) Has the password been set for the LDAP account used to access the LDAP server", - "nullable": false - }, - "merge_new_users_by_email": { - "type": "boolean", - "description": "Merge first-time ldap login to existing user account by email addresses. When a user logs in for the first time via ldap this option will connect this user into their existing account by finding the account with a matching email address. Otherwise a new user account will be created for the user.", - "nullable": false - }, - "modified_at": { - "type": "string", - "readOnly": true, - "description": "When this config was last modified", - "nullable": true - }, - "modified_by": { - "type": "string", - "readOnly": true, - "description": "User id of user who last modified this config", - "nullable": true - }, - "set_roles_from_groups": { - "type": "boolean", - "description": "Set user roles in Looker based on groups from LDAP", - "nullable": false - }, - "test_ldap_password": { - "type": "string", - "x-looker-write-only": true, - "description": "(Write-Only) Test LDAP user password. For ldap tests only.", - "nullable": true - }, - "test_ldap_user": { - "type": "string", - "x-looker-write-only": true, - "description": "(Write-Only) Test LDAP user login id. For ldap tests only.", - "nullable": true - }, - "user_attribute_map_email": { - "type": "string", - "description": "Name of user record attributes used to indicate email address field", - "nullable": true - }, - "user_attribute_map_first_name": { - "type": "string", - "description": "Name of user record attributes used to indicate first name", - "nullable": true - }, - "user_attribute_map_last_name": { - "type": "string", - "description": "Name of user record attributes used to indicate last name", - "nullable": true - }, - "user_attribute_map_ldap_id": { - "type": "string", - "description": "Name of user record attributes used to indicate unique record id", - "nullable": true - }, - "user_attributes": { - "type": "array", - "items": { "$ref": "#/components/schemas/LDAPUserAttributeRead" }, - "readOnly": true, - "description": "(Read-only) Array of mappings between LDAP User Attributes and Looker User Attributes", - "nullable": true - }, - "user_attributes_with_ids": { - "type": "array", - "items": { "$ref": "#/components/schemas/LDAPUserAttributeWrite" }, - "description": "(Read/Write) Array of mappings between LDAP User Attributes and arrays of Looker User Attribute ids", - "nullable": true - }, - "user_bind_base_dn": { - "type": "string", - "description": "Distinguished name of LDAP node used as the base for user searches", - "nullable": true - }, - "user_custom_filter": { - "type": "string", - "description": "(Optional) Custom RFC-2254 filter clause for use in finding user during login. Combined via 'and' with the other generated filter clauses.", - "nullable": true - }, - "user_id_attribute_names": { - "type": "string", - "description": "Name(s) of user record attributes used for matching user login id (comma separated list)", - "nullable": true - }, - "user_objectclass": { - "type": "string", - "description": "(Optional) Name of user record objectclass used for finding user during login id", - "nullable": true - }, - "allow_normal_group_membership": { - "type": "boolean", - "description": "Allow LDAP auth'd users to be members of non-reflected Looker groups. If 'false', user will be removed from non-reflected groups on login.", - "nullable": false - }, - "allow_roles_from_normal_groups": { - "type": "boolean", - "description": "LDAP auth'd users will be able to inherit roles from non-reflected Looker groups.", - "nullable": false - }, - "allow_direct_roles": { - "type": "boolean", - "description": "Allows roles to be directly assigned to LDAP auth'd users.", - "nullable": false - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to get this item", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LDAPConfigTestResult": { - "properties": { - "details": { - "type": "string", - "readOnly": true, - "description": "Additional details for error cases", - "nullable": true - }, - "issues": { - "type": "array", - "items": { "$ref": "#/components/schemas/LDAPConfigTestIssue" }, - "readOnly": true, - "description": "Array of issues/considerations about the result", - "nullable": true - }, - "message": { - "type": "string", - "readOnly": true, - "description": "Short human readable test about the result", - "nullable": true - }, - "status": { - "type": "string", - "readOnly": true, - "description": "Test status code: always 'success' or 'error'", - "nullable": true - }, - "trace": { - "type": "string", - "readOnly": true, - "description": "A more detailed trace of incremental results during auth tests", - "nullable": true - }, - "user": { "$ref": "#/components/schemas/LDAPUser" }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to ldap config", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LDAPConfigTestIssue": { - "properties": { - "severity": { - "type": "string", - "readOnly": true, - "description": "Severity of the issue. Error or Warning", - "nullable": true - }, - "message": { - "type": "string", - "readOnly": true, - "description": "Message describing the issue", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LDAPGroupRead": { - "properties": { - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "looker_group_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id of group in Looker", - "nullable": true - }, - "looker_group_name": { - "type": "string", - "readOnly": true, - "description": "Name of group in Looker", - "nullable": true - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Name of group in LDAP", - "nullable": true - }, - "roles": { - "type": "array", - "items": { "$ref": "#/components/schemas/Role" }, - "readOnly": true, - "description": "Looker Roles", - "nullable": true - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to ldap config", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LDAPGroupWrite": { - "properties": { - "id": { - "type": "integer", - "format": "int64", - "description": "Unique Id", - "nullable": true - }, - "looker_group_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id of group in Looker", - "nullable": true - }, - "looker_group_name": { - "type": "string", - "description": "Name of group in Looker", - "nullable": true - }, - "name": { - "type": "string", - "description": "Name of group in LDAP", - "nullable": true - }, - "role_ids": { - "type": "array", - "items": { "type": "integer", "format": "int64" }, - "description": "Looker Role Ids", - "nullable": true - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to ldap config", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LDAPUserAttributeRead": { - "properties": { - "name": { - "type": "string", - "readOnly": true, - "description": "Name of User Attribute in LDAP", - "nullable": true - }, - "required": { - "type": "boolean", - "readOnly": true, - "description": "Required to be in LDAP assertion for login to be allowed to succeed", - "nullable": false - }, - "user_attributes": { - "type": "array", - "items": { "$ref": "#/components/schemas/UserAttribute" }, - "readOnly": true, - "description": "Looker User Attributes", - "nullable": true - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to ldap config", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LDAPUserAttributeWrite": { - "properties": { - "name": { - "type": "string", - "description": "Name of User Attribute in LDAP", - "nullable": true - }, - "required": { - "type": "boolean", - "description": "Required to be in LDAP assertion for login to be allowed to succeed", - "nullable": false - }, - "user_attribute_ids": { - "type": "array", - "items": { "type": "integer", "format": "int64" }, - "description": "Looker User Attribute Ids", - "nullable": true - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to ldap config", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LDAPUser": { - "properties": { - "all_emails": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "description": "Array of user's email addresses and aliases for use in migration", - "nullable": true - }, - "attributes": { - "type": "object", - "additionalProperties": { "type": "string" }, - "readOnly": true, - "description": "Dictionary of user's attributes (name/value)", - "nullable": true - }, - "email": { - "type": "string", - "readOnly": true, - "description": "Primary email address", - "nullable": true - }, - "first_name": { - "type": "string", - "readOnly": true, - "description": "First name", - "nullable": true - }, - "groups": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "description": "Array of user's groups (group names only)", - "nullable": true - }, - "last_name": { - "type": "string", - "readOnly": true, - "description": "Last Name", - "nullable": true - }, - "ldap_dn": { - "type": "string", - "readOnly": true, - "description": "LDAP's distinguished name for the user record", - "nullable": true - }, - "ldap_id": { - "type": "string", - "readOnly": true, - "description": "LDAP's Unique ID for the user", - "nullable": true - }, - "roles": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "description": "Array of user's roles (role names only)", - "nullable": true - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to ldap config", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LegacyFeature": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "id": { - "type": "string", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Name", - "nullable": true - }, - "description": { - "type": "string", - "readOnly": true, - "description": "Description", - "nullable": true - }, - "enabled_locally": { - "type": "boolean", - "description": "Whether this feature has been enabled by a user", - "nullable": false - }, - "enabled": { - "type": "boolean", - "readOnly": true, - "description": "Whether this feature is currently enabled", - "nullable": false - }, - "disallowed_as_of_version": { - "type": "string", - "readOnly": true, - "description": "Looker version where this feature became a legacy feature", - "nullable": true - }, - "disable_on_upgrade_to_version": { - "type": "string", - "readOnly": true, - "description": "Looker version where this feature will be automatically disabled", - "nullable": true - }, - "end_of_life_version": { - "type": "string", - "readOnly": true, - "description": "Future Looker version where this feature will be removed", - "nullable": true - }, - "documentation_url": { - "type": "string", - "readOnly": true, - "description": "URL for documentation about this feature", - "nullable": true - }, - "approximate_disable_date": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Approximate date that this feature will be automatically disabled.", - "nullable": true - }, - "approximate_end_of_life_date": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Approximate date that this feature will be removed.", - "nullable": true - }, - "has_disabled_on_upgrade": { - "type": "boolean", - "readOnly": true, - "description": "Whether this legacy feature may have been automatically disabled when upgrading to the current version.", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "Locale": { - "properties": { - "code": { - "type": "string", - "readOnly": true, - "description": "Code for Locale", - "nullable": true - }, - "native_name": { - "type": "string", - "readOnly": true, - "description": "Name of Locale in its own language", - "nullable": true - }, - "english_name": { - "type": "string", - "readOnly": true, - "description": "Name of Locale in English", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LocalizationSettings": { - "properties": { - "default_locale": { - "type": "string", - "readOnly": true, - "description": "Default locale for localization", - "nullable": true - }, - "localization_level": { - "type": "string", - "readOnly": true, - "description": "Localization level - strict or permissive", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LookBasic": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "content_metadata_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of content metadata", - "nullable": true - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "title": { - "type": "string", - "readOnly": true, - "description": "Look Title", - "nullable": true - }, - "user_id": { - "type": "integer", - "format": "int64", - "description": "User Id", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "Look": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "content_metadata_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of content metadata", - "nullable": true - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "title": { - "type": "string", - "description": "Look Title", - "nullable": true - }, - "user_id": { - "type": "integer", - "format": "int64", - "description": "User Id", - "nullable": true - }, - "content_favorite_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Content Favorite Id", - "nullable": true - }, - "created_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Time that the Look was created.", - "nullable": true - }, - "deleted": { - "type": "boolean", - "description": "Whether or not a look is 'soft' deleted.", - "nullable": false - }, - "deleted_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Time that the Look was deleted.", - "nullable": true - }, - "deleter_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of User that deleted the look.", - "nullable": true - }, - "description": { - "type": "string", - "description": "Description", - "nullable": true - }, - "embed_url": { - "type": "string", - "readOnly": true, - "description": "Embed Url", - "nullable": true - }, - "excel_file_url": { - "type": "string", - "readOnly": true, - "description": "Excel File Url", - "nullable": true - }, - "favorite_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of times favorited", - "nullable": true - }, - "google_spreadsheet_formula": { - "type": "string", - "readOnly": true, - "description": "Google Spreadsheet Formula", - "nullable": true - }, - "image_embed_url": { - "type": "string", - "readOnly": true, - "description": "Image Embed Url", - "nullable": true - }, - "is_run_on_load": { - "type": "boolean", - "description": "auto-run query when Look viewed", - "nullable": false - }, - "last_accessed_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Time that the Look was last accessed by any user", - "nullable": true - }, - "last_updater_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of User that last updated the look.", - "nullable": true - }, - "last_viewed_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Time last viewed in the Looker web UI", - "nullable": true - }, - "model": { "$ref": "#/components/schemas/LookModel" }, - "public": { - "type": "boolean", - "description": "Is Public", - "nullable": false - }, - "public_slug": { - "type": "string", - "readOnly": true, - "description": "Public Slug", - "nullable": true - }, - "public_url": { - "type": "string", - "readOnly": true, - "description": "Public Url", - "nullable": true - }, - "query_id": { - "type": "integer", - "format": "int64", - "description": "Query Id", - "nullable": true - }, - "short_url": { - "type": "string", - "readOnly": true, - "description": "Short Url", - "nullable": true - }, - "folder": { "$ref": "#/components/schemas/FolderBase" }, - "folder_id": { - "type": "string", - "description": "Folder Id", - "nullable": true - }, - "updated_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Time that the Look was updated.", - "nullable": true - }, - "view_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of times viewed in the Looker web UI", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LookWithQuery": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "content_metadata_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of content metadata", - "nullable": true - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "title": { - "type": "string", - "description": "Look Title", - "nullable": true - }, - "user_id": { - "type": "integer", - "format": "int64", - "description": "User Id", - "nullable": true - }, - "content_favorite_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Content Favorite Id", - "nullable": true - }, - "created_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Time that the Look was created.", - "nullable": true - }, - "deleted": { - "type": "boolean", - "description": "Whether or not a look is 'soft' deleted.", - "nullable": false - }, - "deleted_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Time that the Look was deleted.", - "nullable": true - }, - "deleter_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of User that deleted the look.", - "nullable": true - }, - "description": { - "type": "string", - "description": "Description", - "nullable": true - }, - "embed_url": { - "type": "string", - "readOnly": true, - "description": "Embed Url", - "nullable": true - }, - "excel_file_url": { - "type": "string", - "readOnly": true, - "description": "Excel File Url", - "nullable": true - }, - "favorite_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of times favorited", - "nullable": true - }, - "google_spreadsheet_formula": { - "type": "string", - "readOnly": true, - "description": "Google Spreadsheet Formula", - "nullable": true - }, - "image_embed_url": { - "type": "string", - "readOnly": true, - "description": "Image Embed Url", - "nullable": true - }, - "is_run_on_load": { - "type": "boolean", - "description": "auto-run query when Look viewed", - "nullable": false - }, - "last_accessed_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Time that the Look was last accessed by any user", - "nullable": true - }, - "last_updater_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of User that last updated the look.", - "nullable": true - }, - "last_viewed_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Time last viewed in the Looker web UI", - "nullable": true - }, - "model": { "$ref": "#/components/schemas/LookModel" }, - "public": { - "type": "boolean", - "description": "Is Public", - "nullable": false - }, - "public_slug": { - "type": "string", - "readOnly": true, - "description": "Public Slug", - "nullable": true - }, - "public_url": { - "type": "string", - "readOnly": true, - "description": "Public Url", - "nullable": true - }, - "query_id": { - "type": "integer", - "format": "int64", - "description": "Query Id", - "nullable": true - }, - "short_url": { - "type": "string", - "readOnly": true, - "description": "Short Url", - "nullable": true - }, - "folder": { "$ref": "#/components/schemas/FolderBase" }, - "folder_id": { - "type": "string", - "description": "Folder Id", - "nullable": true - }, - "updated_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Time that the Look was updated.", - "nullable": true - }, - "view_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of times viewed in the Looker web UI", - "nullable": true - }, - "query": { "$ref": "#/components/schemas/Query" }, - "url": { - "type": "string", - "readOnly": true, - "description": "Url", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LookWithDashboards": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "content_metadata_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of content metadata", - "nullable": true - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "title": { - "type": "string", - "description": "Look Title", - "nullable": true - }, - "user_id": { - "type": "integer", - "format": "int64", - "description": "User Id", - "nullable": true - }, - "content_favorite_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Content Favorite Id", - "nullable": true - }, - "created_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Time that the Look was created.", - "nullable": true - }, - "deleted": { - "type": "boolean", - "description": "Whether or not a look is 'soft' deleted.", - "nullable": false - }, - "deleted_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Time that the Look was deleted.", - "nullable": true - }, - "deleter_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of User that deleted the look.", - "nullable": true - }, - "description": { - "type": "string", - "description": "Description", - "nullable": true - }, - "embed_url": { - "type": "string", - "readOnly": true, - "description": "Embed Url", - "nullable": true - }, - "excel_file_url": { - "type": "string", - "readOnly": true, - "description": "Excel File Url", - "nullable": true - }, - "favorite_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of times favorited", - "nullable": true - }, - "google_spreadsheet_formula": { - "type": "string", - "readOnly": true, - "description": "Google Spreadsheet Formula", - "nullable": true - }, - "image_embed_url": { - "type": "string", - "readOnly": true, - "description": "Image Embed Url", - "nullable": true - }, - "is_run_on_load": { - "type": "boolean", - "description": "auto-run query when Look viewed", - "nullable": false - }, - "last_accessed_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Time that the Look was last accessed by any user", - "nullable": true - }, - "last_updater_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of User that last updated the look.", - "nullable": true - }, - "last_viewed_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Time last viewed in the Looker web UI", - "nullable": true - }, - "model": { "$ref": "#/components/schemas/LookModel" }, - "public": { - "type": "boolean", - "description": "Is Public", - "nullable": false - }, - "public_slug": { - "type": "string", - "readOnly": true, - "description": "Public Slug", - "nullable": true - }, - "public_url": { - "type": "string", - "readOnly": true, - "description": "Public Url", - "nullable": true - }, - "query_id": { - "type": "integer", - "format": "int64", - "description": "Query Id", - "nullable": true - }, - "short_url": { - "type": "string", - "readOnly": true, - "description": "Short Url", - "nullable": true - }, - "folder": { "$ref": "#/components/schemas/FolderBase" }, - "folder_id": { - "type": "string", - "description": "Folder Id", - "nullable": true - }, - "updated_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Time that the Look was updated.", - "nullable": true - }, - "view_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of times viewed in the Looker web UI", - "nullable": true - }, - "dashboards": { - "type": "array", - "items": { "$ref": "#/components/schemas/DashboardBase" }, - "readOnly": true, - "description": "Dashboards", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LookModel": { - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "Model Id", - "nullable": false - }, - "label": { - "type": "string", - "readOnly": true, - "description": "Model Label", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LookmlModelNavExplore": { - "properties": { - "name": { - "type": "string", - "readOnly": true, - "description": "Name of the explore", - "nullable": true - }, - "description": { - "type": "string", - "readOnly": true, - "description": "Description for the explore", - "nullable": true - }, - "label": { - "type": "string", - "readOnly": true, - "description": "Label for the explore", - "nullable": true - }, - "hidden": { - "type": "boolean", - "readOnly": true, - "description": "Is this explore marked as hidden", - "nullable": false - }, - "group_label": { - "type": "string", - "readOnly": true, - "description": "Label used to group explores in the navigation menus", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LookmlModelExplore": { - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "Fully qualified explore name (model name plus explore name)", - "nullable": false - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Explore name", - "nullable": true - }, - "description": { - "type": "string", - "readOnly": true, - "description": "Description", - "nullable": true - }, - "label": { - "type": "string", - "readOnly": true, - "description": "Label", - "nullable": true - }, - "title": { - "type": "string", - "readOnly": true, - "description": "Explore title", - "x-looker-undocumented": false, - "nullable": true - }, - "scopes": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "description": "Scopes", - "nullable": true - }, - "can_total": { - "type": "boolean", - "readOnly": true, - "description": "Can Total", - "nullable": false - }, - "can_develop": { - "type": "boolean", - "readOnly": true, - "description": "Can Develop LookML", - "x-looker-undocumented": false, - "nullable": false - }, - "can_see_lookml": { - "type": "boolean", - "readOnly": true, - "description": "Can See LookML", - "x-looker-undocumented": false, - "nullable": false - }, - "lookml_link": { - "type": "string", - "readOnly": true, - "description": "A URL linking to the definition of this explore in the LookML IDE.", - "x-looker-undocumented": false, - "nullable": true - }, - "can_save": { - "type": "boolean", - "readOnly": true, - "description": "Can Save", - "nullable": false - }, - "can_explain": { - "type": "boolean", - "readOnly": true, - "description": "Can Explain", - "nullable": false - }, - "can_pivot_in_db": { - "type": "boolean", - "readOnly": true, - "description": "Can pivot in the DB", - "nullable": false - }, - "can_subtotal": { - "type": "boolean", - "readOnly": true, - "description": "Can use subtotals", - "nullable": false - }, - "has_timezone_support": { - "type": "boolean", - "readOnly": true, - "description": "Has timezone support", - "nullable": false - }, - "supports_cost_estimate": { - "type": "boolean", - "readOnly": true, - "description": "Cost estimates supported", - "nullable": false - }, - "connection_name": { - "type": "string", - "readOnly": true, - "description": "Connection name", - "nullable": true - }, - "null_sort_treatment": { - "type": "string", - "readOnly": true, - "description": "How nulls are sorted, possible values are \"low\", \"high\", \"first\" and \"last\"", - "nullable": true - }, - "files": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "description": "List of model source files", - "nullable": true - }, - "source_file": { - "type": "string", - "readOnly": true, - "description": "Primary source_file file", - "nullable": true - }, - "project_name": { - "type": "string", - "readOnly": true, - "description": "Name of project", - "nullable": true - }, - "model_name": { - "type": "string", - "readOnly": true, - "description": "Name of model", - "nullable": true - }, - "view_name": { - "type": "string", - "readOnly": true, - "description": "Name of view", - "nullable": true - }, - "hidden": { - "type": "boolean", - "readOnly": true, - "description": "Is hidden", - "nullable": false - }, - "sql_table_name": { - "type": "string", - "readOnly": true, - "description": "A sql_table_name expression that defines what sql table the view/explore maps onto. Example: \"prod_orders2 AS orders\" in a view named orders.", - "nullable": true - }, - "access_filter_fields": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "x-looker-deprecated": true, - "description": "(DEPRECATED) Array of access filter field names", - "nullable": true - }, - "access_filters": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LookmlModelExploreAccessFilter" - }, - "readOnly": true, - "description": "Access filters", - "nullable": true - }, - "aliases": { - "type": "array", - "items": { "$ref": "#/components/schemas/LookmlModelExploreAlias" }, - "readOnly": true, - "description": "Aliases", - "nullable": true - }, - "always_filter": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LookmlModelExploreAlwaysFilter" - }, - "readOnly": true, - "description": "Always filter", - "nullable": true - }, - "conditionally_filter": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LookmlModelExploreConditionallyFilter" - }, - "readOnly": true, - "description": "Conditionally filter", - "nullable": true - }, - "index_fields": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "description": "Array of index fields", - "nullable": true - }, - "sets": { - "type": "array", - "items": { "$ref": "#/components/schemas/LookmlModelExploreSet" }, - "readOnly": true, - "description": "Sets", - "nullable": true - }, - "tags": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "description": "An array of arbitrary string tags provided in the model for this explore.", - "nullable": true - }, - "errors": { - "type": "array", - "items": { "$ref": "#/components/schemas/LookmlModelExploreError" }, - "readOnly": true, - "description": "Errors", - "nullable": true - }, - "fields": { - "$ref": "#/components/schemas/LookmlModelExploreFieldset" - }, - "joins": { - "type": "array", - "items": { "$ref": "#/components/schemas/LookmlModelExploreJoins" }, - "readOnly": true, - "description": "Views joined into this explore", - "nullable": true - }, - "group_label": { - "type": "string", - "readOnly": true, - "description": "Label used to group explores in the navigation menus", - "nullable": true - }, - "supported_measure_types": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LookmlModelExploreSupportedMeasureType" - }, - "readOnly": true, - "description": "An array of items describing which custom measure types are supported for creating a custom measure 'based_on' each possible dimension type.", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "LookmlModelExploreSupportedMeasureType": { - "properties": { - "dimension_type": { - "type": "string", - "readOnly": true, - "nullable": true - }, - "measure_types": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LookmlModelExploreAccessFilter": { - "properties": { - "field": { - "type": "string", - "readOnly": true, - "description": "Field to be filtered", - "nullable": true - }, - "user_attribute": { - "type": "string", - "readOnly": true, - "description": "User attribute name", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LookmlModelExploreConditionallyFilter": { - "properties": { - "name": { - "type": "string", - "readOnly": true, - "description": "Name", - "nullable": true - }, - "value": { - "type": "string", - "readOnly": true, - "description": "Value", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LookmlModelExploreAlwaysFilter": { - "properties": { - "name": { - "type": "string", - "readOnly": true, - "description": "Name", - "nullable": true - }, - "value": { - "type": "string", - "readOnly": true, - "description": "Value", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LookmlModelExploreAlias": { - "properties": { - "name": { - "type": "string", - "readOnly": true, - "description": "Name", - "nullable": true - }, - "value": { - "type": "string", - "readOnly": true, - "description": "Value", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LookmlModelExploreSet": { - "properties": { - "name": { - "type": "string", - "readOnly": true, - "description": "Name", - "nullable": true - }, - "value": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "description": "Value set", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LookmlModelExploreError": { - "properties": { - "message": { - "type": "string", - "readOnly": true, - "description": "Error Message", - "nullable": true - }, - "details": { - "type": "string", - "format": "any", - "readOnly": true, - "description": "Details", - "nullable": true - }, - "error_pos": { - "type": "string", - "readOnly": true, - "description": "Error source location", - "nullable": true - }, - "field_error": { - "type": "boolean", - "readOnly": true, - "description": "Is this a field error", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "LookmlModelExploreFieldset": { - "properties": { - "dimensions": { - "type": "array", - "items": { "$ref": "#/components/schemas/LookmlModelExploreField" }, - "readOnly": true, - "description": "Array of dimensions", - "nullable": true - }, - "measures": { - "type": "array", - "items": { "$ref": "#/components/schemas/LookmlModelExploreField" }, - "readOnly": true, - "description": "Array of measures", - "nullable": true - }, - "filters": { - "type": "array", - "items": { "$ref": "#/components/schemas/LookmlModelExploreField" }, - "readOnly": true, - "description": "Array of filters", - "nullable": true - }, - "parameters": { - "type": "array", - "items": { "$ref": "#/components/schemas/LookmlModelExploreField" }, - "readOnly": true, - "description": "Array of parameters", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LookmlModelExploreField": { - "properties": { - "align": { - "type": "string", - "readOnly": true, - "enum": ["left", "right"], - "description": "The appropriate horizontal text alignment the values of this field should be displayed in. Valid values are: \"left\", \"right\".", - "nullable": false - }, - "can_filter": { - "type": "boolean", - "readOnly": true, - "description": "Whether it's possible to filter on this field.", - "nullable": false - }, - "category": { - "type": "string", - "readOnly": true, - "enum": ["parameter", "filter", "measure", "dimension"], - "description": "Field category Valid values are: \"parameter\", \"filter\", \"measure\", \"dimension\".", - "nullable": true - }, - "default_filter_value": { - "type": "string", - "readOnly": true, - "description": "The default value that this field uses when filtering. Null if there is no default value.", - "nullable": true - }, - "description": { - "type": "string", - "readOnly": true, - "description": "Description", - "nullable": true - }, - "dimension_group": { - "type": "string", - "readOnly": true, - "description": "Dimension group if this field is part of a dimension group. If not, this will be null.", - "nullable": true - }, - "enumerations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LookmlModelExploreFieldEnumeration" - }, - "readOnly": true, - "description": "An array enumerating all the possible values that this field can contain. When null, there is no limit to the set of possible values this field can contain.", - "nullable": true - }, - "error": { - "type": "string", - "readOnly": true, - "description": "An error message indicating a problem with the definition of this field. If there are no errors, this will be null.", - "nullable": true - }, - "field_group_label": { - "type": "string", - "readOnly": true, - "description": "A label creating a grouping of fields. All fields with this label should be presented together when displayed in a UI.", - "nullable": true - }, - "field_group_variant": { - "type": "string", - "readOnly": true, - "description": "When presented in a field group via field_group_label, a shorter name of the field to be displayed in that context.", - "nullable": true - }, - "fill_style": { - "type": "string", - "readOnly": true, - "enum": ["enumeration", "range"], - "description": "The style of dimension fill that is possible for this field. Null if no dimension fill is possible. Valid values are: \"enumeration\", \"range\".", - "nullable": true - }, - "fiscal_month_offset": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "An offset (in months) from the calendar start month to the fiscal start month defined in the LookML model this field belongs to.", - "nullable": false - }, - "has_allowed_values": { - "type": "boolean", - "readOnly": true, - "description": "Whether this field has a set of allowed_values specified in LookML.", - "nullable": false - }, - "hidden": { - "type": "boolean", - "readOnly": true, - "description": "Whether this field should be hidden from the user interface.", - "nullable": false - }, - "is_filter": { - "type": "boolean", - "readOnly": true, - "description": "Whether this field is a filter.", - "nullable": false - }, - "is_fiscal": { - "type": "boolean", - "readOnly": true, - "description": "Whether this field represents a fiscal time value.", - "nullable": false - }, - "is_numeric": { - "type": "boolean", - "readOnly": true, - "description": "Whether this field is of a type that represents a numeric value.", - "nullable": false - }, - "is_timeframe": { - "type": "boolean", - "readOnly": true, - "description": "Whether this field is of a type that represents a time value.", - "nullable": false - }, - "can_time_filter": { - "type": "boolean", - "readOnly": true, - "description": "Whether this field can be time filtered.", - "nullable": false - }, - "time_interval": { - "$ref": "#/components/schemas/LookmlModelExploreFieldTimeInterval" - }, - "label": { - "type": "string", - "readOnly": true, - "description": "Fully-qualified human-readable label of the field.", - "nullable": false - }, - "label_from_parameter": { - "type": "string", - "readOnly": true, - "description": "The name of the parameter that will provide a parameterized label for this field, if available in the current context.", - "nullable": true - }, - "label_short": { - "type": "string", - "readOnly": true, - "description": "The human-readable label of the field, without the view label.", - "nullable": false - }, - "lookml_link": { - "type": "string", - "readOnly": true, - "description": "A URL linking to the definition of this field in the LookML IDE.", - "nullable": true - }, - "map_layer": { - "$ref": "#/components/schemas/LookmlModelExploreFieldMapLayer" - }, - "measure": { - "type": "boolean", - "readOnly": true, - "description": "Whether this field is a measure.", - "nullable": false - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Fully-qualified name of the field.", - "nullable": false - }, - "strict_value_format": { - "type": "boolean", - "readOnly": true, - "description": "If yes, the field will not be localized with the user attribute number_format. Defaults to no", - "nullable": false - }, - "parameter": { - "type": "boolean", - "readOnly": true, - "description": "Whether this field is a parameter.", - "nullable": false - }, - "permanent": { - "type": "boolean", - "readOnly": true, - "description": "Whether this field can be removed from a query.", - "nullable": true - }, - "primary_key": { - "type": "boolean", - "readOnly": true, - "description": "Whether or not the field represents a primary key.", - "nullable": false - }, - "project_name": { - "type": "string", - "readOnly": true, - "description": "The name of the project this field is defined in.", - "nullable": true - }, - "requires_refresh_on_sort": { - "type": "boolean", - "readOnly": true, - "description": "When true, it's not possible to re-sort this field's values without re-running the SQL query, due to database logic that affects the sort.", - "nullable": false - }, - "scope": { - "type": "string", - "readOnly": true, - "description": "The LookML scope this field belongs to. The scope is typically the field's view.", - "nullable": false - }, - "sortable": { - "type": "boolean", - "readOnly": true, - "description": "Whether this field can be sorted.", - "nullable": false - }, - "source_file": { - "type": "string", - "readOnly": true, - "description": "The path portion of source_file_path.", - "nullable": false - }, - "source_file_path": { - "type": "string", - "readOnly": true, - "description": "The fully-qualified path of the project file this field is defined in.", - "nullable": false - }, - "sql": { - "type": "string", - "readOnly": true, - "description": "SQL expression as defined in the LookML model. The SQL syntax shown here is a representation intended for auditability, and is not neccessarily an exact match for what will ultimately be run in the database. It may contain special LookML syntax or annotations that are not valid SQL. This will be null if the current user does not have the see_lookml permission for the field's model.", - "nullable": true - }, - "sql_case": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LookmlModelExploreFieldSqlCase" - }, - "readOnly": true, - "description": "An array of conditions and values that make up a SQL Case expression, as defined in the LookML model. The SQL syntax shown here is a representation intended for auditability, and is not neccessarily an exact match for what will ultimately be run in the database. It may contain special LookML syntax or annotations that are not valid SQL. This will be null if the current user does not have the see_lookml permission for the field's model.", - "nullable": true - }, - "filters": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LookmlModelExploreFieldMeasureFilters" - }, - "readOnly": true, - "description": "Array of filter conditions defined for the measure in LookML.", - "nullable": true - }, - "suggest_dimension": { - "type": "string", - "readOnly": true, - "description": "The name of the dimension to base suggest queries from.", - "nullable": false - }, - "suggest_explore": { - "type": "string", - "readOnly": true, - "description": "The name of the explore to base suggest queries from.", - "nullable": false - }, - "suggestable": { - "type": "boolean", - "readOnly": true, - "description": "Whether or not suggestions are possible for this field.", - "nullable": false - }, - "suggestions": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "description": "If available, a list of suggestions for this field. For most fields, a suggest query is a more appropriate way to get an up-to-date list of suggestions. Or use enumerations to list all the possible values.", - "nullable": true - }, - "tags": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "description": "An array of arbitrary string tags provided in the model for this field.", - "nullable": false - }, - "type": { - "type": "string", - "readOnly": true, - "description": "The LookML type of the field.", - "nullable": false - }, - "user_attribute_filter_types": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "enum": [ - "advanced_filter_string", - "advanced_filter_number", - "advanced_filter_datetime", - "string", - "number", - "datetime", - "relative_url", - "yesno", - "zipcode" - ], - "description": "An array of user attribute types that are allowed to be used in filters on this field. Valid values are: \"advanced_filter_string\", \"advanced_filter_number\", \"advanced_filter_datetime\", \"string\", \"number\", \"datetime\", \"relative_url\", \"yesno\", \"zipcode\".", - "nullable": false - }, - "value_format": { - "type": "string", - "readOnly": true, - "description": "If specified, the LookML value format string for formatting values of this field.", - "nullable": true - }, - "view": { - "type": "string", - "readOnly": true, - "description": "The name of the view this field belongs to.", - "nullable": false - }, - "view_label": { - "type": "string", - "readOnly": true, - "description": "The human-readable label of the view the field belongs to.", - "nullable": false - }, - "dynamic": { - "type": "boolean", - "readOnly": true, - "description": "Whether this field was specified in \"dynamic_fields\" and is not part of the model.", - "nullable": false - }, - "week_start_day": { - "type": "string", - "readOnly": true, - "enum": [ - "monday", - "tuesday", - "wednesday", - "thursday", - "friday", - "saturday", - "sunday" - ], - "description": "The name of the starting day of the week. Valid values are: \"monday\", \"tuesday\", \"wednesday\", \"thursday\", \"friday\", \"saturday\", \"sunday\".", - "nullable": false - }, - "times_used": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "The number of times this field has been used in queries", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "LookmlModelExploreFieldEnumeration": { - "properties": { - "label": { - "type": "string", - "readOnly": true, - "description": "Label", - "nullable": true - }, - "value": { - "type": "string", - "format": "any", - "x-looker-polymorphic-types": [ - { "type": "string" }, - { "type": "number", "format": "float" } - ], - "readOnly": true, - "description": "Value", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LookmlModelExploreFieldTimeInterval": { - "properties": { - "name": { - "type": "string", - "readOnly": true, - "enum": [ - "day", - "hour", - "minute", - "second", - "millisecond", - "microsecond", - "week", - "month", - "quarter", - "year" - ], - "description": "The type of time interval this field represents a grouping of. Valid values are: \"day\", \"hour\", \"minute\", \"second\", \"millisecond\", \"microsecond\", \"week\", \"month\", \"quarter\", \"year\".", - "nullable": false - }, - "count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "The number of intervals this field represents a grouping of.", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "LookmlModelExploreFieldSqlCase": { - "properties": { - "value": { - "type": "string", - "readOnly": true, - "description": "SQL Case label value", - "nullable": true - }, - "condition": { - "type": "string", - "readOnly": true, - "description": "SQL Case condition expression", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LookmlModelExploreFieldMeasureFilters": { - "properties": { - "field": { - "type": "string", - "readOnly": true, - "description": "Filter field name", - "nullable": true - }, - "condition": { - "type": "string", - "readOnly": true, - "description": "Filter condition value", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LookmlModelExploreFieldMapLayer": { - "properties": { - "url": { - "type": "string", - "readOnly": true, - "description": "URL to the map layer resource.", - "nullable": false - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Name of the map layer, as defined in LookML.", - "nullable": false - }, - "feature_key": { - "type": "string", - "readOnly": true, - "description": "Specifies the name of the TopoJSON object that the map layer references. If not specified, use the first object..", - "nullable": true - }, - "property_key": { - "type": "string", - "readOnly": true, - "description": "Selects which property from the TopoJSON data to plot against. TopoJSON supports arbitrary metadata for each region. When null, the first matching property should be used.", - "nullable": true - }, - "property_label_key": { - "type": "string", - "readOnly": true, - "description": "Which property from the TopoJSON data to use to label the region. When null, property_key should be used.", - "nullable": true - }, - "projection": { - "type": "string", - "readOnly": true, - "description": "The preferred geographic projection of the map layer when displayed in a visualization that supports multiple geographic projections.", - "nullable": true - }, - "format": { - "type": "string", - "readOnly": true, - "enum": ["topojson", "vector_tile_region"], - "description": "Specifies the data format of the region information. Valid values are: \"topojson\", \"vector_tile_region\".", - "nullable": false - }, - "extents_json_url": { - "type": "string", - "readOnly": true, - "description": "Specifies the URL to a JSON file that defines the geographic extents of each region available in the map layer. This data is used to automatically center the map on the available data for visualization purposes. The JSON file must be a JSON object where the keys are the mapping value of the feature (as specified by property_key) and the values are arrays of four numbers representing the west longitude, south latitude, east longitude, and north latitude extents of the region. The object must include a key for every possible value of property_key.", - "nullable": true - }, - "max_zoom_level": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "The minimum zoom level that the map layer may be displayed at, for visualizations that support zooming.", - "nullable": true - }, - "min_zoom_level": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "The maximum zoom level that the map layer may be displayed at, for visualizations that support zooming.", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LookmlModelExploreJoins": { - "properties": { - "name": { - "type": "string", - "readOnly": true, - "description": "Name of this join (and name of the view to join)", - "nullable": true - }, - "dependent_fields": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "description": "Fields referenced by the join", - "nullable": true - }, - "fields": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "description": "Fields of the joined view to pull into this explore", - "nullable": true - }, - "foreign_key": { - "type": "string", - "readOnly": true, - "description": "Name of the dimension in this explore whose value is in the primary key of the joined view", - "nullable": true - }, - "from": { - "type": "string", - "readOnly": true, - "description": "Name of view to join", - "nullable": true - }, - "outer_only": { - "type": "boolean", - "readOnly": true, - "description": "Specifies whether all queries must use an outer join", - "nullable": true - }, - "relationship": { - "type": "string", - "readOnly": true, - "description": "many_to_one, one_to_one, one_to_many, many_to_many", - "nullable": true - }, - "required_joins": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "description": "Names of joins that must always be included in SQL queries", - "nullable": true - }, - "sql_foreign_key": { - "type": "string", - "readOnly": true, - "description": "SQL expression that produces a foreign key", - "nullable": true - }, - "sql_on": { - "type": "string", - "readOnly": true, - "description": "SQL ON expression describing the join condition", - "nullable": true - }, - "sql_table_name": { - "type": "string", - "readOnly": true, - "description": "SQL table name to join", - "nullable": true - }, - "type": { - "type": "string", - "readOnly": true, - "description": "The join type: left_outer, full_outer, inner, or cross", - "nullable": true - }, - "view_label": { - "type": "string", - "readOnly": true, - "description": "Label to display in UI selectors", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LookmlModel": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "allowed_db_connection_names": { - "type": "array", - "items": { "type": "string" }, - "description": "Array of names of connections this model is allowed to use", - "nullable": true - }, - "explores": { - "type": "array", - "items": { "$ref": "#/components/schemas/LookmlModelNavExplore" }, - "readOnly": true, - "description": "Array of explores (if has_content)", - "nullable": true - }, - "has_content": { - "type": "boolean", - "readOnly": true, - "description": "Does this model declaration have have lookml content?", - "nullable": false - }, - "label": { - "type": "string", - "readOnly": true, - "description": "UI-friendly name for this model", - "nullable": true - }, - "name": { - "type": "string", - "description": "Name of the model. Also used as the unique identifier", - "nullable": true - }, - "project_name": { - "type": "string", - "description": "Name of project containing the model", - "nullable": true - }, - "unlimited_db_connections": { - "type": "boolean", - "description": "Is this model allowed to use all current and future connections", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "LookmlTest": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "model_name": { - "type": "string", - "readOnly": true, - "description": "Name of model containing this test.", - "nullable": false - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Name of this test.", - "nullable": false - }, - "explore_name": { - "type": "string", - "readOnly": true, - "description": "Name of the explore this test runs a query against", - "nullable": false - }, - "query_url_params": { - "type": "string", - "readOnly": true, - "description": "The url parameters that can be used to reproduce this test's query on an explore.", - "nullable": false - }, - "file": { - "type": "string", - "readOnly": true, - "description": "Name of the LookML file containing this test.", - "nullable": false - }, - "line": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Line number of this test in LookML.", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "LookmlTestResult": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "model_name": { - "type": "string", - "readOnly": true, - "description": "Name of model containing this test.", - "nullable": false - }, - "test_name": { - "type": "string", - "readOnly": true, - "description": "Name of this test.", - "nullable": false - }, - "assertions_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of assertions in this test", - "nullable": false - }, - "assertions_failed": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of assertions passed in this test", - "nullable": false - }, - "errors": { - "type": "array", - "items": { "$ref": "#/components/schemas/ProjectError" }, - "readOnly": true, - "description": "A list of any errors encountered by the test.", - "nullable": true - }, - "warnings": { - "type": "array", - "items": { "$ref": "#/components/schemas/ProjectError" }, - "readOnly": true, - "description": "A list of any warnings encountered by the test.", - "nullable": true - }, - "success": { - "type": "boolean", - "readOnly": true, - "description": "True if this test passsed without errors.", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "Manifest": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Manifest project name", - "nullable": true - }, - "imports": { - "type": "array", - "items": { "$ref": "#/components/schemas/ImportedProject" }, - "readOnly": true, - "description": "Imports for a project", - "nullable": true - }, - "localization_settings": { - "$ref": "#/components/schemas/LocalizationSettings" - } - }, - "x-looker-status": "stable" - }, - "MergeQuery": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "column_limit": { - "type": "string", - "description": "Column Limit", - "nullable": true - }, - "dynamic_fields": { - "type": "string", - "description": "Dynamic Fields", - "nullable": true - }, - "id": { - "type": "string", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "pivots": { - "type": "array", - "items": { "type": "string" }, - "description": "Pivots", - "nullable": true - }, - "result_maker_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique to get results", - "nullable": true - }, - "sorts": { - "type": "array", - "items": { "type": "string" }, - "description": "Sorts", - "nullable": true - }, - "source_queries": { - "type": "array", - "items": { "$ref": "#/components/schemas/MergeQuerySourceQuery" }, - "description": "Source Queries defining the results to be merged.", - "nullable": true - }, - "total": { - "type": "boolean", - "description": "Total", - "nullable": false - }, - "vis_config": { - "type": "object", - "additionalProperties": { "type": "string" }, - "description": "Visualization Config", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "MergeQuerySourceQuery": { - "properties": { - "merge_fields": { - "type": "array", - "items": { "$ref": "#/components/schemas/MergeFields" }, - "description": "An array defining which fields of the source query are mapped onto fields of the merge query", - "nullable": true - }, - "name": { - "type": "string", - "description": "Display name", - "nullable": true - }, - "query_id": { - "type": "integer", - "format": "int64", - "description": "Id of the query to merge", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "MergeFields": { - "properties": { - "field_name": { - "type": "string", - "description": "Field name to map onto in the merged results", - "nullable": true - }, - "source_field_name": { - "type": "string", - "description": "Field name from the source query", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "MobileSettings": { - "properties": { - "mobile_force_authentication": { - "type": "boolean", - "readOnly": true, - "description": "Specifies whether the force authentication option is enabled for mobile", - "nullable": false - }, - "mobile_app_integration": { - "type": "boolean", - "readOnly": true, - "description": "Specifies whether mobile access for this instance is enabled.", - "nullable": false - } - }, - "x-looker-status": "beta" - }, - "ModelSet": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "all_access": { - "type": "boolean", - "readOnly": true, - "nullable": false - }, - "built_in": { - "type": "boolean", - "readOnly": true, - "nullable": false - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "models": { - "type": "array", - "items": { "type": "string" }, - "nullable": true - }, - "name": { - "type": "string", - "description": "Name of ModelSet", - "nullable": true - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to get this item", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "OauthClientApp": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "client_guid": { - "type": "string", - "readOnly": true, - "description": "The globally unique id of this application", - "nullable": false - }, - "redirect_uri": { - "type": "string", - "description": "The uri with which this application will receive an auth code by browser redirect.", - "nullable": false - }, - "display_name": { - "type": "string", - "description": "The application's display name", - "nullable": false - }, - "description": { - "type": "string", - "description": "A description of the application that will be displayed to users", - "nullable": false - }, - "enabled": { - "type": "boolean", - "description": "When enabled is true, OAuth2 and API requests will be accepted from this app. When false, all requests from this app will be refused.", - "nullable": false - }, - "group_id": { - "type": "integer", - "format": "int64", - "description": "If set, only Looker users who are members of this group can use this web app with Looker. If group_id is not set, any Looker user may use this app to access this Looker instance", - "nullable": true - }, - "tokens_invalid_before": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "All auth codes, access tokens, and refresh tokens issued for this application prior to this date-time for ALL USERS will be invalid.", - "nullable": false - }, - "activated_users": { - "type": "array", - "items": { "$ref": "#/components/schemas/UserPublic" }, - "readOnly": true, - "description": "All users who have been activated to use this app", - "nullable": false - } - }, - "x-looker-status": "beta" - }, - "OIDCConfig": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "alternate_email_login_allowed": { - "type": "boolean", - "description": "Allow alternate email-based login via '/login/email' for admins and for specified users with the 'login_special_email' permission. This option is useful as a fallback during ldap setup, if ldap config problems occur later, or if you need to support some users who are not in your ldap directory. Looker email/password logins are always disabled for regular users when ldap is enabled.", - "nullable": false - }, - "audience": { - "type": "string", - "description": "OpenID Provider Audience", - "nullable": true - }, - "auth_requires_role": { - "type": "boolean", - "description": "Users will not be allowed to login at all unless a role for them is found in OIDC if set to true", - "nullable": false - }, - "authorization_endpoint": { - "type": "string", - "format": "uri", - "description": "OpenID Provider Authorization Url", - "nullable": true - }, - "default_new_user_group_ids": { - "type": "array", - "items": { "type": "integer", "format": "int64" }, - "x-looker-write-only": true, - "description": "(Write-Only) Array of ids of groups that will be applied to new users the first time they login via OIDC", - "nullable": true - }, - "default_new_user_groups": { - "type": "array", - "items": { "$ref": "#/components/schemas/Group" }, - "readOnly": true, - "description": "(Read-only) Groups that will be applied to new users the first time they login via OIDC", - "nullable": true - }, - "default_new_user_role_ids": { - "type": "array", - "items": { "type": "integer", "format": "int64" }, - "x-looker-write-only": true, - "description": "(Write-Only) Array of ids of roles that will be applied to new users the first time they login via OIDC", - "nullable": true - }, - "default_new_user_roles": { - "type": "array", - "items": { "$ref": "#/components/schemas/Role" }, - "readOnly": true, - "description": "(Read-only) Roles that will be applied to new users the first time they login via OIDC", - "nullable": true - }, - "enabled": { - "type": "boolean", - "description": "Enable/Disable OIDC authentication for the server", - "nullable": false - }, - "groups": { - "type": "array", - "items": { "$ref": "#/components/schemas/OIDCGroupRead" }, - "readOnly": true, - "description": "(Read-only) Array of mappings between OIDC Groups and Looker Roles", - "nullable": true - }, - "groups_attribute": { - "type": "string", - "description": "Name of user record attributes used to indicate groups. Used when 'groups_finder_type' is set to 'grouped_attribute_values'", - "nullable": true - }, - "groups_with_role_ids": { - "type": "array", - "items": { "$ref": "#/components/schemas/OIDCGroupWrite" }, - "description": "(Read/Write) Array of mappings between OIDC Groups and arrays of Looker Role ids", - "nullable": true - }, - "identifier": { - "type": "string", - "description": "Relying Party Identifier (provided by OpenID Provider)", - "nullable": true - }, - "issuer": { - "type": "string", - "description": "OpenID Provider Issuer", - "nullable": true - }, - "modified_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "When this config was last modified", - "nullable": true - }, - "modified_by": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "User id of user who last modified this config", - "nullable": true - }, - "new_user_migration_types": { - "type": "string", - "description": "Merge first-time oidc login to existing user account by email addresses. When a user logs in for the first time via oidc this option will connect this user into their existing account by finding the account with a matching email address by testing the given types of credentials for existing users. Otherwise a new user account will be created for the user. This list (if provided) must be a comma separated list of string like 'email,ldap,google'", - "nullable": true - }, - "scopes": { - "type": "array", - "items": { "type": "string" }, - "description": "Array of scopes to request.", - "nullable": true - }, - "secret": { - "type": "string", - "x-looker-write-only": true, - "description": "(Write-Only) Relying Party Secret (provided by OpenID Provider)", - "nullable": true - }, - "set_roles_from_groups": { - "type": "boolean", - "description": "Set user roles in Looker based on groups from OIDC", - "nullable": false - }, - "test_slug": { - "type": "string", - "readOnly": true, - "description": "Slug to identify configurations that are created in order to run a OIDC config test", - "nullable": true - }, - "token_endpoint": { - "type": "string", - "description": "OpenID Provider Token Url", - "nullable": true - }, - "user_attribute_map_email": { - "type": "string", - "description": "Name of user record attributes used to indicate email address field", - "nullable": true - }, - "user_attribute_map_first_name": { - "type": "string", - "description": "Name of user record attributes used to indicate first name", - "nullable": true - }, - "user_attribute_map_last_name": { - "type": "string", - "description": "Name of user record attributes used to indicate last name", - "nullable": true - }, - "user_attributes": { - "type": "array", - "items": { "$ref": "#/components/schemas/OIDCUserAttributeRead" }, - "readOnly": true, - "description": "(Read-only) Array of mappings between OIDC User Attributes and Looker User Attributes", - "nullable": true - }, - "user_attributes_with_ids": { - "type": "array", - "items": { "$ref": "#/components/schemas/OIDCUserAttributeWrite" }, - "description": "(Read/Write) Array of mappings between OIDC User Attributes and arrays of Looker User Attribute ids", - "nullable": true - }, - "userinfo_endpoint": { - "type": "string", - "format": "uri", - "description": "OpenID Provider User Information Url", - "nullable": true - }, - "allow_normal_group_membership": { - "type": "boolean", - "description": "Allow OIDC auth'd users to be members of non-reflected Looker groups. If 'false', user will be removed from non-reflected groups on login.", - "nullable": false - }, - "allow_roles_from_normal_groups": { - "type": "boolean", - "description": "OIDC auth'd users will inherit roles from non-reflected Looker groups.", - "nullable": false - }, - "allow_direct_roles": { - "type": "boolean", - "description": "Allows roles to be directly assigned to OIDC auth'd users.", - "nullable": false - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to get this item", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "OIDCGroupRead": { - "properties": { - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "looker_group_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id of group in Looker", - "nullable": true - }, - "looker_group_name": { - "type": "string", - "readOnly": true, - "description": "Name of group in Looker", - "nullable": true - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Name of group in OIDC", - "nullable": true - }, - "roles": { - "type": "array", - "items": { "$ref": "#/components/schemas/Role" }, - "readOnly": true, - "description": "Looker Roles", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "OIDCGroupWrite": { - "properties": { - "id": { - "type": "integer", - "format": "int64", - "description": "Unique Id", - "nullable": true - }, - "looker_group_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id of group in Looker", - "nullable": true - }, - "looker_group_name": { - "type": "string", - "description": "Name of group in Looker", - "nullable": true - }, - "name": { - "type": "string", - "description": "Name of group in OIDC", - "nullable": true - }, - "role_ids": { - "type": "array", - "items": { "type": "integer", "format": "int64" }, - "description": "Looker Role Ids", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "OIDCUserAttributeRead": { - "properties": { - "name": { - "type": "string", - "readOnly": true, - "description": "Name of User Attribute in OIDC", - "nullable": true - }, - "required": { - "type": "boolean", - "readOnly": true, - "description": "Required to be in OIDC assertion for login to be allowed to succeed", - "nullable": false - }, - "user_attributes": { - "type": "array", - "items": { "$ref": "#/components/schemas/UserAttribute" }, - "readOnly": true, - "description": "Looker User Attributes", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "OIDCUserAttributeWrite": { - "properties": { - "name": { - "type": "string", - "description": "Name of User Attribute in OIDC", - "nullable": true - }, - "required": { - "type": "boolean", - "description": "Required to be in OIDC assertion for login to be allowed to succeed", - "nullable": false - }, - "user_attribute_ids": { - "type": "array", - "items": { "type": "integer", "format": "int64" }, - "description": "Looker User Attribute Ids", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "PasswordConfig": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "min_length": { - "type": "integer", - "format": "int64", - "description": "Minimum number of characters required for a new password. Must be between 7 and 100", - "nullable": true - }, - "require_numeric": { - "type": "boolean", - "description": "Require at least one numeric character", - "nullable": false - }, - "require_upperlower": { - "type": "boolean", - "description": "Require at least one uppercase and one lowercase letter", - "nullable": false - }, - "require_special": { - "type": "boolean", - "description": "Require at least one special character", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "Permission": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "permission": { - "type": "string", - "readOnly": true, - "description": "Permission symbol", - "nullable": true - }, - "parent": { - "type": "string", - "readOnly": true, - "description": "Dependency parent symbol", - "nullable": true - }, - "description": { - "type": "string", - "readOnly": true, - "description": "Description", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "PermissionSet": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "all_access": { - "type": "boolean", - "readOnly": true, - "nullable": false - }, - "built_in": { - "type": "boolean", - "readOnly": true, - "nullable": false - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "name": { - "type": "string", - "description": "Name of PermissionSet", - "nullable": true - }, - "permissions": { - "type": "array", - "items": { "type": "string" }, - "nullable": true - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to get this item", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "ProjectFile": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "id": { - "type": "string", - "readOnly": true, - "description": "An opaque token uniquely identifying a file within a project. Avoid parsing or decomposing the text of this token. This token is stable within a Looker release but may change between Looker releases", - "nullable": false - }, - "path": { - "type": "string", - "readOnly": true, - "description": "Path, file name, and extension of the file relative to the project root directory", - "nullable": true - }, - "title": { - "type": "string", - "readOnly": true, - "description": "Display name", - "nullable": true - }, - "type": { - "type": "string", - "readOnly": true, - "description": "File type: model, view, etc", - "nullable": true - }, - "extension": { - "type": "string", - "readOnly": true, - "description": "The extension of the file: .view.lkml, .model.lkml, etc", - "nullable": true - }, - "mime_type": { - "type": "string", - "readOnly": true, - "description": "File mime type", - "nullable": true - }, - "editable": { - "type": "boolean", - "readOnly": true, - "description": "State of editability for the file.", - "nullable": false - }, - "git_status": { "$ref": "#/components/schemas/GitStatus" } - }, - "x-looker-status": "stable" - }, - "Project": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "id": { - "type": "string", - "readOnly": true, - "description": "Project Id", - "nullable": false - }, - "name": { - "type": "string", - "description": "Project display name", - "nullable": false - }, - "uses_git": { - "type": "boolean", - "readOnly": true, - "description": "If true the project is configured with a git repository", - "nullable": false - }, - "git_remote_url": { - "type": "string", - "description": "Git remote repository url", - "nullable": true - }, - "git_username": { - "type": "string", - "description": "Git username for HTTPS authentication. (For production only, if using user attributes.)", - "nullable": true - }, - "git_password": { - "type": "string", - "x-looker-write-only": true, - "description": "(Write-Only) Git password for HTTPS authentication. (For production only, if using user attributes.)", - "nullable": true - }, - "git_production_branch_name": { - "type": "string", - "description": "Git production branch name. Defaults to master. Supported only in Looker 21.0 and higher.", - "nullable": false - }, - "git_auth_cookie": { - "type": "string", - "description": "Git http cookie file path.", - "nullable": true - }, - "git_username_user_attribute": { - "type": "string", - "description": "User attribute name for username in per-user HTTPS authentication.", - "nullable": true - }, - "git_password_user_attribute": { - "type": "string", - "description": "User attribute name for password in per-user HTTPS authentication.", - "nullable": true - }, - "git_service_name": { - "type": "string", - "description": "Name of the git service provider", - "nullable": true - }, - "git_application_server_http_port": { - "type": "integer", - "format": "int64", - "description": "Port that HTTP(S) application server is running on (for PRs, file browsing, etc.)", - "nullable": true - }, - "git_application_server_http_scheme": { - "type": "string", - "enum": ["http", "https"], - "description": "Scheme that is running on application server (for PRs, file browsing, etc.) Valid values are: \"http\", \"https\".", - "nullable": true - }, - "deploy_secret": { - "type": "string", - "x-looker-write-only": true, - "description": "(Write-Only) Optional secret token with which to authenticate requests to the webhook deploy endpoint. If not set, endpoint is unauthenticated.", - "nullable": true - }, - "unset_deploy_secret": { - "type": "boolean", - "x-looker-write-only": true, - "description": "(Write-Only) When true, unsets the deploy secret to allow unauthenticated access to the webhook deploy endpoint.", - "nullable": false - }, - "pull_request_mode": { - "type": "string", - "enum": ["off", "links", "recommended", "required"], - "description": "The git pull request policy for this project. Valid values are: \"off\", \"links\", \"recommended\", \"required\".", - "nullable": false - }, - "validation_required": { - "type": "boolean", - "description": "Validation policy: If true, the project must pass validation checks before project changes can be committed to the git repository", - "nullable": false - }, - "git_release_mgmt_enabled": { - "type": "boolean", - "description": "If true, advanced git release management is enabled for this project", - "nullable": false - }, - "allow_warnings": { - "type": "boolean", - "description": "Validation policy: If true, the project can be committed with warnings when `validation_required` is true. (`allow_warnings` does nothing if `validation_required` is false).", - "nullable": false - }, - "is_example": { - "type": "boolean", - "readOnly": true, - "description": "If true the project is an example project and cannot be modified", - "nullable": false - }, - "dependency_status": { - "type": "string", - "description": "Status of dependencies in your manifest & lockfile", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "ProjectError": { - "properties": { - "code": { - "type": "string", - "readOnly": true, - "description": "A stable token that uniquely identifies this class of error, ignoring parameter values. Error message text may vary due to parameters or localization, but error codes do not. For example, a \"File not found\" error will have the same error code regardless of the filename in question or the user's display language", - "nullable": true - }, - "severity": { - "type": "string", - "readOnly": true, - "description": "Severity: fatal, error, warning, info, success", - "nullable": true - }, - "kind": { - "type": "string", - "readOnly": true, - "description": "Error classification: syntax, deprecation, model_configuration, etc", - "nullable": true - }, - "message": { - "type": "string", - "readOnly": true, - "description": "Error message which may contain information such as dashboard or model names that may be considered sensitive in some use cases. Avoid storing or sending this message outside of Looker", - "nullable": true - }, - "field_name": { - "type": "string", - "readOnly": true, - "description": "The field associated with this error", - "nullable": true - }, - "file_path": { - "type": "string", - "readOnly": true, - "description": "Name of the file containing this error", - "nullable": true - }, - "line_number": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Line number in the file of this error", - "nullable": true - }, - "model_id": { - "type": "string", - "readOnly": true, - "description": "The model associated with this error", - "nullable": true - }, - "explore": { - "type": "string", - "readOnly": true, - "description": "The explore associated with this error", - "nullable": true - }, - "help_url": { - "type": "string", - "readOnly": true, - "description": "A link to Looker documentation about this error", - "nullable": true - }, - "params": { - "type": "object", - "additionalProperties": { "type": "string" }, - "readOnly": true, - "description": "Error parameters", - "nullable": true - }, - "sanitized_message": { - "type": "string", - "readOnly": true, - "description": "A version of the error message that does not contain potentially sensitive information. Suitable for situations in which messages are stored or sent to consumers outside of Looker, such as external logs. Sanitized messages will display \"(?)\" where sensitive information would appear in the corresponding non-sanitized message", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "ModelsNotValidated": { - "properties": { - "name": { - "type": "string", - "readOnly": true, - "description": "Model name", - "nullable": true - }, - "project_file_id": { - "type": "string", - "readOnly": true, - "description": "Project file", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "ProjectValidation": { - "properties": { - "errors": { - "type": "array", - "items": { "$ref": "#/components/schemas/ProjectError" }, - "readOnly": true, - "description": "A list of project errors", - "nullable": true - }, - "project_digest": { - "type": "string", - "readOnly": true, - "description": "A hash value computed from the project's current state", - "nullable": true - }, - "models_not_validated": { - "type": "array", - "items": { "$ref": "#/components/schemas/ModelsNotValidated" }, - "readOnly": true, - "description": "A list of models which were not fully validated", - "nullable": true - }, - "computation_time": { - "type": "number", - "format": "float", - "readOnly": true, - "description": "Duration of project validation in seconds", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "ProjectValidationCache": { - "properties": { - "errors": { - "type": "array", - "items": { "$ref": "#/components/schemas/ProjectError" }, - "readOnly": true, - "description": "A list of project errors", - "nullable": true - }, - "project_digest": { - "type": "string", - "readOnly": true, - "description": "A hash value computed from the project's current state", - "nullable": true - }, - "models_not_validated": { - "type": "array", - "items": { "$ref": "#/components/schemas/ModelsNotValidated" }, - "readOnly": true, - "description": "A list of models which were not fully validated", - "nullable": true - }, - "computation_time": { - "type": "number", - "format": "float", - "readOnly": true, - "description": "Duration of project validation in seconds", - "nullable": true - }, - "stale": { - "type": "boolean", - "readOnly": true, - "description": "If true, the cached project validation results are no longer accurate because the project has changed since the cached results were calculated", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "ProjectWorkspace": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "project_id": { - "type": "string", - "readOnly": true, - "description": "The id of the project", - "nullable": true - }, - "workspace_id": { - "type": "string", - "readOnly": true, - "description": "The id of the local workspace containing the project files", - "nullable": true - }, - "git_status": { - "type": "string", - "readOnly": true, - "description": "The status of the local git directory", - "nullable": true - }, - "git_head": { - "type": "string", - "readOnly": true, - "description": "Git head revision name", - "nullable": true - }, - "dependency_status": { - "type": "string", - "readOnly": true, - "enum": [ - "lock_optional", - "lock_required", - "lock_error", - "install_none" - ], - "description": "Status of the dependencies in your project. Valid values are: \"lock_optional\", \"lock_required\", \"lock_error\", \"install_none\".", - "nullable": true - }, - "git_branch": { "$ref": "#/components/schemas/GitBranch" }, - "lookml_type": { - "type": "string", - "readOnly": true, - "description": "The lookml syntax used by all files in this project", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "Query": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "model": { - "type": "string", - "description": "Model", - "nullable": false - }, - "view": { - "type": "string", - "description": "Explore Name", - "nullable": false - }, - "fields": { - "type": "array", - "items": { "type": "string" }, - "description": "Fields", - "nullable": true - }, - "pivots": { - "type": "array", - "items": { "type": "string" }, - "description": "Pivots", - "nullable": true - }, - "fill_fields": { - "type": "array", - "items": { "type": "string" }, - "description": "Fill Fields", - "nullable": true - }, - "filters": { - "type": "object", - "additionalProperties": { "type": "string" }, - "description": "Filters", - "nullable": true - }, - "filter_expression": { - "type": "string", - "description": "Filter Expression", - "nullable": true - }, - "sorts": { - "type": "array", - "items": { "type": "string" }, - "description": "Sorting for the query results. Use the format `[\"view.field\", ...]` to sort on fields in ascending order. Use the format `[\"view.field desc\", ...]` to sort on fields in descending order. Use `[\"__UNSORTED__\"]` (2 underscores before and after) to disable sorting entirely. Empty sorts `[]` will trigger a default sort.", - "nullable": true - }, - "limit": { - "type": "string", - "description": "Limit", - "nullable": true - }, - "column_limit": { - "type": "string", - "description": "Column Limit", - "nullable": true - }, - "total": { - "type": "boolean", - "description": "Total", - "nullable": true - }, - "row_total": { - "type": "string", - "description": "Raw Total", - "nullable": true - }, - "subtotals": { - "type": "array", - "items": { "type": "string" }, - "description": "Fields on which to run subtotals", - "nullable": true - }, - "vis_config": { - "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, - "description": "Visualization configuration properties. These properties are typically opaque and differ based on the type of visualization used. There is no specified set of allowed keys. The values can be any type supported by JSON. A \"type\" key with a string value is often present, and is used by Looker to determine which visualization to present. Visualizations ignore unknown vis_config properties.", - "nullable": true - }, - "filter_config": { - "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, - "description": "The filter_config represents the state of the filter UI on the explore page for a given query. When running a query via the Looker UI, this parameter takes precedence over \"filters\". When creating a query or modifying an existing query, \"filter_config\" should be set to null. Setting it to any other value could cause unexpected filtering behavior. The format should be considered opaque.", - "nullable": true - }, - "visible_ui_sections": { - "type": "string", - "description": "Visible UI Sections", - "nullable": true - }, - "slug": { - "type": "string", - "readOnly": true, - "description": "Slug", - "nullable": true - }, - "dynamic_fields": { - "type": "string", - "description": "Dynamic Fields", - "nullable": true - }, - "client_id": { - "type": "string", - "description": "Client Id: used to generate shortened explore URLs. If set by client, must be a unique 22 character alphanumeric string. Otherwise one will be generated.", - "nullable": true - }, - "share_url": { - "type": "string", - "readOnly": true, - "description": "Share Url", - "nullable": true - }, - "expanded_share_url": { - "type": "string", - "readOnly": true, - "description": "Expanded Share Url", - "nullable": true - }, - "url": { - "type": "string", - "readOnly": true, - "description": "Expanded Url", - "nullable": true - }, - "query_timezone": { - "type": "string", - "description": "Query Timezone", - "nullable": true - }, - "has_table_calculations": { - "type": "boolean", - "readOnly": true, - "description": "Has Table Calculations", - "nullable": false - } - }, - "x-looker-status": "stable", - "required": ["model", "view"] - }, - "CreateQueryTask": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "query_id": { - "type": "integer", - "format": "int64", - "description": "Id of query to run", - "nullable": true - }, - "result_format": { - "type": "string", - "enum": [ - "inline_json", - "json", - "json_detail", - "json_fe", - "csv", - "html", - "md", - "txt", - "xlsx", - "gsxml" - ], - "description": "Desired async query result format. Valid values are: \"inline_json\", \"json\", \"json_detail\", \"json_fe\", \"csv\", \"html\", \"md\", \"txt\", \"xlsx\", \"gsxml\".", - "nullable": true - }, - "source": { - "type": "string", - "description": "Source of query task", - "nullable": true - }, - "deferred": { - "type": "boolean", - "description": "Create the task but defer execution", - "nullable": false - }, - "look_id": { - "type": "integer", - "format": "int64", - "description": "Id of look associated with query.", - "nullable": true - }, - "dashboard_id": { - "type": "string", - "description": "Id of dashboard associated with query.", - "nullable": true - } - }, - "x-looker-status": "stable", - "required": ["query_id", "result_format"] - }, - "QueryTask": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "id": { - "type": "string", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "query_id": { - "type": "integer", - "format": "int64", - "description": "Id of query", - "nullable": true - }, - "query": { "$ref": "#/components/schemas/Query" }, - "generate_links": { - "type": "boolean", - "description": "whether or not to generate links in the query response.", - "nullable": false - }, - "force_production": { - "type": "boolean", - "description": "Use production models to run query (even is user is in dev mode).", - "nullable": false - }, - "path_prefix": { - "type": "string", - "description": "Prefix to use for drill links.", - "nullable": true - }, - "cache": { - "type": "boolean", - "description": "Whether or not to use the cache", - "nullable": false - }, - "server_table_calcs": { - "type": "boolean", - "description": "Whether or not to run table calculations on the server", - "nullable": false - }, - "cache_only": { - "type": "boolean", - "description": "Retrieve any results from cache even if the results have expired.", - "nullable": false - }, - "cache_key": { - "type": "string", - "readOnly": true, - "description": "cache key used to cache query.", - "nullable": true - }, - "status": { - "type": "string", - "description": "Status of query task.", - "nullable": true - }, - "source": { - "type": "string", - "description": "Source of query task.", - "nullable": true - }, - "runtime": { - "type": "number", - "format": "float", - "readOnly": true, - "description": "Runtime of prior queries.", - "nullable": true - }, - "rebuild_pdts": { - "type": "boolean", - "description": "Rebuild PDTS used in query.", - "nullable": false - }, - "result_source": { - "type": "string", - "readOnly": true, - "description": "Source of the results of the query.", - "nullable": true - }, - "look_id": { - "type": "integer", - "format": "int64", - "description": "Id of look associated with query.", - "nullable": true - }, - "dashboard_id": { - "type": "string", - "description": "Id of dashboard associated with query.", - "nullable": true - }, - "result_format": { - "type": "string", - "readOnly": true, - "description": "The data format of the query results.", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "RenderTask": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "created_at": { - "type": "string", - "readOnly": true, - "description": "Date/Time render task was created", - "nullable": true - }, - "dashboard_filters": { - "type": "string", - "readOnly": true, - "description": "Filter values to apply to the dashboard queries, in URL query format", - "nullable": true - }, - "dashboard_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of dashboard to render", - "nullable": true - }, - "dashboard_style": { - "type": "string", - "readOnly": true, - "description": "Dashboard layout style: single_column or tiled", - "nullable": true - }, - "finalized_at": { - "type": "string", - "readOnly": true, - "description": "Date/Time render task was completed", - "nullable": true - }, - "height": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Output height in pixels. Flowed layouts may ignore this value.", - "nullable": true - }, - "id": { - "type": "string", - "readOnly": true, - "description": "Id of this render task", - "nullable": false - }, - "look_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of look to render", - "nullable": true - }, - "lookml_dashboard_id": { - "type": "string", - "readOnly": true, - "description": "Id of lookml dashboard to render", - "nullable": true - }, - "query_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of query to render", - "nullable": true - }, - "query_runtime": { - "type": "number", - "format": "double", - "readOnly": true, - "description": "Number of seconds elapsed running queries", - "nullable": true - }, - "render_runtime": { - "type": "number", - "format": "double", - "readOnly": true, - "description": "Number of seconds elapsed rendering data", - "nullable": true - }, - "result_format": { - "type": "string", - "readOnly": true, - "description": "Output format: pdf, png, or jpg", - "nullable": true - }, - "runtime": { - "type": "number", - "format": "double", - "readOnly": true, - "description": "Total seconds elapsed for render task", - "nullable": true - }, - "status": { - "type": "string", - "readOnly": true, - "description": "Render task status: enqueued_for_query, querying, enqueued_for_render, rendering, success, failure", - "nullable": true - }, - "status_detail": { - "type": "string", - "readOnly": true, - "description": "Additional information about the current status", - "nullable": true - }, - "user_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "The user account permissions in which the render task will execute", - "nullable": true - }, - "width": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Output width in pixels", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "CreateDashboardRenderTask": { - "properties": { - "dashboard_filters": { - "type": "string", - "description": "Filter values to apply to the dashboard queries, in URL query format", - "nullable": true - }, - "dashboard_style": { - "type": "string", - "description": "Dashboard layout style: single_column or tiled", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "RepositoryCredential": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "id": { - "type": "string", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "root_project_id": { - "type": "string", - "readOnly": true, - "description": "Root project Id", - "nullable": false - }, - "remote_url": { - "type": "string", - "readOnly": true, - "description": "Git remote repository url", - "nullable": false - }, - "git_username": { - "type": "string", - "description": "Git username for HTTPS authentication.", - "nullable": true - }, - "git_password": { - "type": "string", - "x-looker-write-only": true, - "description": "(Write-Only) Git password for HTTPS authentication.", - "nullable": true - }, - "ssh_public_key": { - "type": "string", - "description": "Public deploy key for SSH authentication.", - "nullable": true - }, - "is_configured": { - "type": "boolean", - "readOnly": true, - "description": "Whether the credentials have been configured for the Git Repository.", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "ResultMakerFilterablesListen": { - "properties": { - "dashboard_filter_name": { - "type": "string", - "description": "The name of a dashboard filter to listen to.", - "nullable": true - }, - "field": { - "type": "string", - "description": "The name of the field in the filterable to filter with the value of the dashboard filter.", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "ResultMakerFilterables": { - "properties": { - "model": { - "type": "string", - "readOnly": true, - "description": "The model this filterable comes from (used for field suggestions).", - "nullable": true - }, - "view": { - "type": "string", - "readOnly": true, - "description": "The view this filterable comes from (used for field suggestions).", - "nullable": true - }, - "name": { - "type": "string", - "readOnly": true, - "description": "The name of the filterable thing (Query or Merged Results).", - "nullable": true - }, - "listen": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ResultMakerFilterablesListen" - }, - "readOnly": true, - "description": "array of dashboard_filter_name: and field: objects.", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "ResultMakerWithIdVisConfigAndDynamicFields": { - "properties": { - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id.", - "nullable": false - }, - "dynamic_fields": { - "type": "string", - "readOnly": true, - "description": "JSON string of dynamic field information.", - "nullable": true - }, - "filterables": { - "type": "array", - "items": { "$ref": "#/components/schemas/ResultMakerFilterables" }, - "readOnly": true, - "description": "array of items that can be filtered and information about them.", - "nullable": true - }, - "sorts": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "description": "Sorts of the constituent Look, Query, or Merge Query", - "nullable": true - }, - "merge_result_id": { - "type": "string", - "readOnly": true, - "description": "ID of merge result if this is a merge_result.", - "nullable": true - }, - "total": { - "type": "boolean", - "readOnly": true, - "description": "Total of the constituent Look, Query, or Merge Query", - "nullable": false - }, - "query_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "ID of query if this is a query.", - "nullable": true - }, - "sql_query_id": { - "type": "string", - "readOnly": true, - "description": "ID of SQL Query if this is a SQL Runner Query", - "nullable": true - }, - "query": { "$ref": "#/components/schemas/Query" }, - "vis_config": { - "type": "object", - "additionalProperties": { "type": "string" }, - "readOnly": true, - "description": "Vis config of the constituent Query, or Merge Query.", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "Role": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "name": { - "type": "string", - "description": "Name of Role", - "nullable": true - }, - "permission_set": { "$ref": "#/components/schemas/PermissionSet" }, - "permission_set_id": { - "type": "integer", - "format": "int64", - "x-looker-write-only": true, - "description": "(Write-Only) Id of permission set", - "nullable": true - }, - "model_set": { "$ref": "#/components/schemas/ModelSet" }, - "model_set_id": { - "type": "integer", - "format": "int64", - "x-looker-write-only": true, - "description": "(Write-Only) Id of model set", - "nullable": true - }, - "user_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Count of users with this role, only returned if user_count field is requested", - "x-looker-undocumented": false, - "nullable": true - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to get this item", - "nullable": true - }, - "users_url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to get list of users with this role", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "RunningQueries": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "user": { "$ref": "#/components/schemas/UserPublic" }, - "query": { "$ref": "#/components/schemas/Query" }, - "sql_query": { "$ref": "#/components/schemas/SqlQuery" }, - "look": { "$ref": "#/components/schemas/LookBasic" }, - "created_at": { - "type": "string", - "readOnly": true, - "description": "Date/Time Query was initiated", - "nullable": true - }, - "completed_at": { - "type": "string", - "readOnly": true, - "description": "Date/Time Query was completed", - "nullable": true - }, - "query_id": { - "type": "string", - "readOnly": true, - "description": "Query Id", - "nullable": true - }, - "source": { - "type": "string", - "readOnly": true, - "description": "Source (look, dashboard, queryrunner, explore, etc.)", - "nullable": true - }, - "node_id": { - "type": "string", - "readOnly": true, - "description": "Node Id", - "nullable": true - }, - "slug": { - "type": "string", - "readOnly": true, - "description": "Slug", - "nullable": true - }, - "query_task_id": { - "type": "string", - "readOnly": true, - "description": "ID of a Query Task", - "nullable": true - }, - "cache_key": { - "type": "string", - "readOnly": true, - "description": "Cache Key", - "nullable": true - }, - "connection_name": { - "type": "string", - "readOnly": true, - "description": "Connection", - "nullable": true - }, - "dialect": { - "type": "string", - "readOnly": true, - "description": "Dialect", - "nullable": true - }, - "connection_id": { - "type": "string", - "readOnly": true, - "description": "Connection ID", - "nullable": true - }, - "message": { - "type": "string", - "readOnly": true, - "description": "Additional Information(Error message or verbose status)", - "nullable": true - }, - "status": { - "type": "string", - "readOnly": true, - "description": "Status description", - "nullable": true - }, - "runtime": { - "type": "number", - "format": "double", - "readOnly": true, - "description": "Number of seconds elapsed running the Query", - "nullable": true - }, - "sql": { - "type": "string", - "readOnly": true, - "description": "SQL text of the query as run", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "SamlConfig": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "enabled": { - "type": "boolean", - "description": "Enable/Disable Saml authentication for the server", - "nullable": false - }, - "idp_cert": { - "type": "string", - "description": "Identity Provider Certificate (provided by IdP)", - "nullable": true - }, - "idp_url": { - "type": "string", - "description": "Identity Provider Url (provided by IdP)", - "nullable": true - }, - "idp_issuer": { - "type": "string", - "description": "Identity Provider Issuer (provided by IdP)", - "nullable": true - }, - "idp_audience": { - "type": "string", - "description": "Identity Provider Audience (set in IdP config). Optional in Looker. Set this only if you want Looker to validate the audience value returned by the IdP.", - "nullable": true - }, - "allowed_clock_drift": { - "type": "integer", - "format": "int64", - "description": "Count of seconds of clock drift to allow when validating timestamps of assertions.", - "nullable": true - }, - "user_attribute_map_email": { - "type": "string", - "description": "Name of user record attributes used to indicate email address field", - "nullable": true - }, - "user_attribute_map_first_name": { - "type": "string", - "description": "Name of user record attributes used to indicate first name", - "nullable": true - }, - "user_attribute_map_last_name": { - "type": "string", - "description": "Name of user record attributes used to indicate last name", - "nullable": true - }, - "new_user_migration_types": { - "type": "string", - "description": "Merge first-time saml login to existing user account by email addresses. When a user logs in for the first time via saml this option will connect this user into their existing account by finding the account with a matching email address by testing the given types of credentials for existing users. Otherwise a new user account will be created for the user. This list (if provided) must be a comma separated list of string like 'email,ldap,google'", - "nullable": true - }, - "alternate_email_login_allowed": { - "type": "boolean", - "description": "Allow alternate email-based login via '/login/email' for admins and for specified users with the 'login_special_email' permission. This option is useful as a fallback during ldap setup, if ldap config problems occur later, or if you need to support some users who are not in your ldap directory. Looker email/password logins are always disabled for regular users when ldap is enabled.", - "nullable": false - }, - "test_slug": { - "type": "string", - "readOnly": true, - "description": "Slug to identify configurations that are created in order to run a Saml config test", - "nullable": true - }, - "modified_at": { - "type": "string", - "readOnly": true, - "description": "When this config was last modified", - "nullable": true - }, - "modified_by": { - "type": "string", - "readOnly": true, - "description": "User id of user who last modified this config", - "nullable": true - }, - "default_new_user_roles": { - "type": "array", - "items": { "$ref": "#/components/schemas/Role" }, - "readOnly": true, - "description": "(Read-only) Roles that will be applied to new users the first time they login via Saml", - "nullable": true - }, - "default_new_user_groups": { - "type": "array", - "items": { "$ref": "#/components/schemas/Group" }, - "readOnly": true, - "description": "(Read-only) Groups that will be applied to new users the first time they login via Saml", - "nullable": true - }, - "default_new_user_role_ids": { - "type": "array", - "items": { "type": "integer", "format": "int64" }, - "x-looker-write-only": true, - "description": "(Write-Only) Array of ids of roles that will be applied to new users the first time they login via Saml", - "nullable": true - }, - "default_new_user_group_ids": { - "type": "array", - "items": { "type": "integer", "format": "int64" }, - "x-looker-write-only": true, - "description": "(Write-Only) Array of ids of groups that will be applied to new users the first time they login via Saml", - "nullable": true - }, - "set_roles_from_groups": { - "type": "boolean", - "description": "Set user roles in Looker based on groups from Saml", - "nullable": false - }, - "groups_attribute": { - "type": "string", - "description": "Name of user record attributes used to indicate groups. Used when 'groups_finder_type' is set to 'grouped_attribute_values'", - "nullable": true - }, - "groups": { - "type": "array", - "items": { "$ref": "#/components/schemas/SamlGroupRead" }, - "readOnly": true, - "description": "(Read-only) Array of mappings between Saml Groups and Looker Roles", - "nullable": true - }, - "groups_with_role_ids": { - "type": "array", - "items": { "$ref": "#/components/schemas/SamlGroupWrite" }, - "description": "(Read/Write) Array of mappings between Saml Groups and arrays of Looker Role ids", - "nullable": true - }, - "auth_requires_role": { - "type": "boolean", - "description": "Users will not be allowed to login at all unless a role for them is found in Saml if set to true", - "nullable": false - }, - "user_attributes": { - "type": "array", - "items": { "$ref": "#/components/schemas/SamlUserAttributeRead" }, - "readOnly": true, - "description": "(Read-only) Array of mappings between Saml User Attributes and Looker User Attributes", - "nullable": true - }, - "user_attributes_with_ids": { - "type": "array", - "items": { "$ref": "#/components/schemas/SamlUserAttributeWrite" }, - "description": "(Read/Write) Array of mappings between Saml User Attributes and arrays of Looker User Attribute ids", - "nullable": true - }, - "groups_finder_type": { - "type": "string", - "description": "Identifier for a strategy for how Looker will find groups in the SAML response. One of ['grouped_attribute_values', 'individual_attributes']", - "nullable": true - }, - "groups_member_value": { - "type": "string", - "description": "Value for group attribute used to indicate membership. Used when 'groups_finder_type' is set to 'individual_attributes'", - "nullable": true - }, - "bypass_login_page": { - "type": "boolean", - "description": "Bypass the login page when user authentication is required. Redirect to IdP immediately instead.", - "nullable": false - }, - "allow_normal_group_membership": { - "type": "boolean", - "description": "Allow SAML auth'd users to be members of non-reflected Looker groups. If 'false', user will be removed from non-reflected groups on login.", - "nullable": false - }, - "allow_roles_from_normal_groups": { - "type": "boolean", - "description": "SAML auth'd users will inherit roles from non-reflected Looker groups.", - "nullable": false - }, - "allow_direct_roles": { - "type": "boolean", - "description": "Allows roles to be directly assigned to SAML auth'd users.", - "nullable": false - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to get this item", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "SamlGroupRead": { - "properties": { - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "looker_group_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id of group in Looker", - "nullable": true - }, - "looker_group_name": { - "type": "string", - "readOnly": true, - "description": "Name of group in Looker", - "nullable": true - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Name of group in Saml", - "nullable": true - }, - "roles": { - "type": "array", - "items": { "$ref": "#/components/schemas/Role" }, - "readOnly": true, - "description": "Looker Roles", - "nullable": true - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to saml config", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "SamlGroupWrite": { - "properties": { - "id": { - "type": "integer", - "format": "int64", - "description": "Unique Id", - "nullable": true - }, - "looker_group_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id of group in Looker", - "nullable": true - }, - "looker_group_name": { - "type": "string", - "description": "Name of group in Looker", - "nullable": true - }, - "name": { - "type": "string", - "description": "Name of group in Saml", - "nullable": true - }, - "role_ids": { - "type": "array", - "items": { "type": "integer", "format": "int64" }, - "description": "Looker Role Ids", - "nullable": true - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to saml config", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "SamlMetadataParseResult": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "idp_issuer": { - "type": "string", - "readOnly": true, - "description": "Identify Provider Issuer", - "nullable": true - }, - "idp_url": { - "type": "string", - "readOnly": true, - "description": "Identify Provider Url", - "nullable": true - }, - "idp_cert": { - "type": "string", - "readOnly": true, - "description": "Identify Provider Certificate", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "SamlUserAttributeRead": { - "properties": { - "name": { - "type": "string", - "readOnly": true, - "description": "Name of User Attribute in Saml", - "nullable": true - }, - "required": { - "type": "boolean", - "readOnly": true, - "description": "Required to be in Saml assertion for login to be allowed to succeed", - "nullable": false - }, - "user_attributes": { - "type": "array", - "items": { "$ref": "#/components/schemas/UserAttribute" }, - "readOnly": true, - "description": "Looker User Attributes", - "nullable": true - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to saml config", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "SamlUserAttributeWrite": { - "properties": { - "name": { - "type": "string", - "description": "Name of User Attribute in Saml", - "nullable": true - }, - "required": { - "type": "boolean", - "description": "Required to be in Saml assertion for login to be allowed to succeed", - "nullable": false - }, - "user_attribute_ids": { - "type": "array", - "items": { "type": "integer", "format": "int64" }, - "description": "Looker User Attribute Ids", - "nullable": true - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to saml config", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "ScheduledPlanDestination": { - "properties": { - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "scheduled_plan_id": { - "type": "integer", - "format": "int64", - "description": "Id of a scheduled plan you own", - "nullable": true - }, - "format": { - "type": "string", - "description": "The data format to send to the given destination. Supported formats vary by destination, but include: \"txt\", \"csv\", \"inline_json\", \"json\", \"json_detail\", \"xlsx\", \"html\", \"wysiwyg_pdf\", \"assembled_pdf\", \"wysiwyg_png\"", - "nullable": true - }, - "apply_formatting": { - "type": "boolean", - "description": "Are values formatted? (containing currency symbols, digit separators, etc.", - "nullable": false - }, - "apply_vis": { - "type": "boolean", - "description": "Whether visualization options are applied to the results.", - "nullable": false - }, - "address": { - "type": "string", - "description": "Address for recipient. For email e.g. 'user@example.com'. For webhooks e.g. 'https://domain/path'. For Amazon S3 e.g. 's3://bucket-name/path/'. For SFTP e.g. 'sftp://host-name/path/'. ", - "nullable": true - }, - "looker_recipient": { - "type": "boolean", - "readOnly": true, - "description": "Whether the recipient is a Looker user on the current instance (only applicable for email recipients)", - "nullable": false - }, - "type": { - "type": "string", - "description": "Type of the address ('email', 'webhook', 's3', or 'sftp')", - "nullable": true - }, - "parameters": { - "type": "string", - "description": "JSON object containing parameters for external scheduling. For Amazon S3, this requires keys and values for access_key_id and region. For SFTP, this requires a key and value for username.", - "nullable": true - }, - "secret_parameters": { - "type": "string", - "x-looker-write-only": true, - "description": "(Write-Only) JSON object containing secret parameters for external scheduling. For Amazon S3, this requires a key and value for secret_access_key. For SFTP, this requires a key and value for password.", - "nullable": true - }, - "message": { - "type": "string", - "description": "Optional message to be included in scheduled emails", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "WriteScheduledPlan": { - "properties": { - "name": { - "type": "string", - "description": "Name of this scheduled plan", - "nullable": true - }, - "user_id": { - "type": "integer", - "format": "int64", - "description": "User Id which owns this scheduled plan", - "nullable": true - }, - "run_as_recipient": { - "type": "boolean", - "description": "Whether schedule is run as recipient (only applicable for email recipients)", - "nullable": false - }, - "enabled": { - "type": "boolean", - "description": "Whether the ScheduledPlan is enabled", - "nullable": false - }, - "look_id": { - "type": "integer", - "format": "int64", - "description": "Id of a look", - "nullable": true - }, - "dashboard_id": { - "type": "integer", - "format": "int64", - "description": "Id of a dashboard", - "nullable": true - }, - "lookml_dashboard_id": { - "type": "string", - "description": "Id of a LookML dashboard", - "nullable": true - }, - "filters_string": { - "type": "string", - "description": "Query string to run look or dashboard with", - "nullable": true - }, - "dashboard_filters": { - "type": "string", - "x-looker-deprecated": true, - "description": "(DEPRECATED) Alias for filters_string field", - "nullable": true - }, - "require_results": { - "type": "boolean", - "description": "Delivery should occur if running the dashboard or look returns results", - "nullable": false - }, - "require_no_results": { - "type": "boolean", - "description": "Delivery should occur if the dashboard look does not return results", - "nullable": false - }, - "require_change": { - "type": "boolean", - "description": "Delivery should occur if data have changed since the last run", - "nullable": false - }, - "send_all_results": { - "type": "boolean", - "description": "Will run an unlimited query and send all results.", - "nullable": false - }, - "crontab": { - "type": "string", - "description": "Vixie-Style crontab specification when to run", - "nullable": true - }, - "datagroup": { - "type": "string", - "description": "Name of a datagroup; if specified will run when datagroup triggered (can't be used with cron string)", - "nullable": true - }, - "timezone": { - "type": "string", - "description": "Timezone for interpreting the specified crontab (default is Looker instance timezone)", - "nullable": true - }, - "query_id": { - "type": "string", - "description": "Query id", - "nullable": true - }, - "scheduled_plan_destination": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ScheduledPlanDestination" - }, - "description": "Scheduled plan destinations", - "nullable": true - }, - "run_once": { - "type": "boolean", - "description": "Whether the plan in question should only be run once (usually for testing)", - "nullable": false - }, - "include_links": { - "type": "boolean", - "description": "Whether links back to Looker should be included in this ScheduledPlan", - "nullable": false - }, - "pdf_paper_size": { - "type": "string", - "description": "The size of paper the PDF should be formatted to fit. Valid values are: \"letter\", \"legal\", \"tabloid\", \"a0\", \"a1\", \"a2\", \"a3\", \"a4\", \"a5\".", - "nullable": true - }, - "pdf_landscape": { - "type": "boolean", - "description": "Whether the PDF should be formatted for landscape orientation", - "nullable": false - }, - "embed": { - "type": "boolean", - "description": "Whether this schedule is in an embed context or not", - "nullable": false - }, - "color_theme": { - "type": "string", - "description": "Color scheme of the dashboard if applicable", - "nullable": true - }, - "long_tables": { - "type": "boolean", - "description": "Whether or not to expand table vis to full length", - "nullable": false - }, - "inline_table_width": { - "type": "integer", - "format": "int64", - "description": "The pixel width at which we render the inline table visualizations", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "ScheduledPlan": { - "properties": { - "name": { - "type": "string", - "description": "Name of this scheduled plan", - "nullable": true - }, - "user_id": { - "type": "integer", - "format": "int64", - "description": "User Id which owns this scheduled plan", - "nullable": true - }, - "run_as_recipient": { - "type": "boolean", - "description": "Whether schedule is run as recipient (only applicable for email recipients)", - "nullable": false - }, - "enabled": { - "type": "boolean", - "description": "Whether the ScheduledPlan is enabled", - "nullable": false - }, - "look_id": { - "type": "integer", - "format": "int64", - "description": "Id of a look", - "nullable": true - }, - "dashboard_id": { - "type": "integer", - "format": "int64", - "description": "Id of a dashboard", - "nullable": true - }, - "lookml_dashboard_id": { - "type": "string", - "description": "Id of a LookML dashboard", - "nullable": true - }, - "filters_string": { - "type": "string", - "description": "Query string to run look or dashboard with", - "nullable": true - }, - "dashboard_filters": { - "type": "string", - "x-looker-deprecated": true, - "description": "(DEPRECATED) Alias for filters_string field", - "nullable": true - }, - "require_results": { - "type": "boolean", - "description": "Delivery should occur if running the dashboard or look returns results", - "nullable": false - }, - "require_no_results": { - "type": "boolean", - "description": "Delivery should occur if the dashboard look does not return results", - "nullable": false - }, - "require_change": { - "type": "boolean", - "description": "Delivery should occur if data have changed since the last run", - "nullable": false - }, - "send_all_results": { - "type": "boolean", - "description": "Will run an unlimited query and send all results.", - "nullable": false - }, - "crontab": { - "type": "string", - "description": "Vixie-Style crontab specification when to run", - "nullable": true - }, - "datagroup": { - "type": "string", - "description": "Name of a datagroup; if specified will run when datagroup triggered (can't be used with cron string)", - "nullable": true - }, - "timezone": { - "type": "string", - "description": "Timezone for interpreting the specified crontab (default is Looker instance timezone)", - "nullable": true - }, - "query_id": { - "type": "string", - "description": "Query id", - "nullable": true - }, - "scheduled_plan_destination": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ScheduledPlanDestination" - }, - "description": "Scheduled plan destinations", - "nullable": true - }, - "run_once": { - "type": "boolean", - "description": "Whether the plan in question should only be run once (usually for testing)", - "nullable": false - }, - "include_links": { - "type": "boolean", - "description": "Whether links back to Looker should be included in this ScheduledPlan", - "nullable": false - }, - "pdf_paper_size": { - "type": "string", - "description": "The size of paper the PDF should be formatted to fit. Valid values are: \"letter\", \"legal\", \"tabloid\", \"a0\", \"a1\", \"a2\", \"a3\", \"a4\", \"a5\".", - "nullable": true - }, - "pdf_landscape": { - "type": "boolean", - "description": "Whether the PDF should be formatted for landscape orientation", - "nullable": false - }, - "embed": { - "type": "boolean", - "description": "Whether this schedule is in an embed context or not", - "nullable": false - }, - "color_theme": { - "type": "string", - "description": "Color scheme of the dashboard if applicable", - "nullable": true - }, - "long_tables": { - "type": "boolean", - "description": "Whether or not to expand table vis to full length", - "nullable": false - }, - "inline_table_width": { - "type": "integer", - "format": "int64", - "description": "The pixel width at which we render the inline table visualizations", - "nullable": true - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "created_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Date and time when ScheduledPlan was created", - "nullable": true - }, - "updated_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Date and time when ScheduledPlan was last updated", - "nullable": true - }, - "title": { - "type": "string", - "readOnly": true, - "description": "Title", - "nullable": true - }, - "user": { "$ref": "#/components/schemas/UserPublic" }, - "next_run_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "When the ScheduledPlan will next run (null if running once)", - "nullable": true - }, - "last_run_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "When the ScheduledPlan was last run", - "nullable": true - }, - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "SchemaColumn": { - "properties": { - "name": { - "type": "string", - "readOnly": true, - "description": "Schema item name", - "nullable": true - }, - "sql_escaped_name": { - "type": "string", - "readOnly": true, - "description": "Full name of item", - "nullable": true - }, - "schema_name": { - "type": "string", - "readOnly": true, - "description": "Name of schema", - "nullable": true - }, - "data_type_database": { - "type": "string", - "readOnly": true, - "description": "SQL dialect data type", - "nullable": false - }, - "data_type": { - "type": "string", - "readOnly": true, - "description": "Data type", - "nullable": false - }, - "data_type_looker": { - "type": "string", - "readOnly": true, - "description": "Looker data type", - "nullable": false - }, - "description": { - "type": "string", - "readOnly": true, - "description": "SQL data type", - "nullable": true - }, - "column_size": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Column data size", - "nullable": true - }, - "snippets": { - "type": "array", - "items": { "$ref": "#/components/schemas/Snippet" }, - "readOnly": true, - "description": "SQL Runner snippets for this connection", - "nullable": false - } - }, - "x-looker-status": "beta" - }, - "SchemaTable": { - "properties": { - "name": { - "type": "string", - "readOnly": true, - "description": "Schema item name", - "nullable": true - }, - "sql_escaped_name": { - "type": "string", - "readOnly": true, - "description": "Full name of item", - "nullable": true - }, - "schema_name": { - "type": "string", - "readOnly": true, - "description": "Name of schema", - "nullable": true - }, - "rows": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of data rows", - "nullable": true - }, - "external": { - "type": "string", - "readOnly": true, - "description": "External reference???", - "nullable": true - }, - "snippets": { - "type": "array", - "items": { "$ref": "#/components/schemas/Snippet" }, - "readOnly": true, - "description": "SQL Runner snippets for connection", - "nullable": false - } - }, - "x-looker-status": "beta" - }, - "ConnectionFeatures": { - "properties": { - "dialect_name": { - "type": "string", - "readOnly": true, - "description": "Name of the dialect for this connection", - "nullable": false - }, - "cost_estimate": { - "type": "boolean", - "readOnly": true, - "description": "True for cost estimating support", - "nullable": false - }, - "multiple_databases": { - "type": "boolean", - "readOnly": true, - "description": "True for multiple database support", - "nullable": false - }, - "column_search": { - "type": "boolean", - "readOnly": true, - "description": "True for cost estimating support", - "nullable": false - }, - "persistent_table_indexes": { - "type": "boolean", - "readOnly": true, - "description": "True for secondary index support", - "nullable": false - }, - "persistent_derived_tables": { - "type": "boolean", - "readOnly": true, - "description": "True for persistent derived table support", - "nullable": false - }, - "turtles": { - "type": "boolean", - "readOnly": true, - "description": "True for turtles support", - "nullable": false - }, - "percentile": { - "type": "boolean", - "readOnly": true, - "description": "True for percentile support", - "nullable": false - }, - "distinct_percentile": { - "type": "boolean", - "readOnly": true, - "description": "True for distinct percentile support", - "nullable": false - }, - "stable_views": { - "type": "boolean", - "readOnly": true, - "description": "True for stable views support", - "nullable": false - }, - "milliseconds": { - "type": "boolean", - "readOnly": true, - "description": "True for millisecond support", - "nullable": false - }, - "microseconds": { - "type": "boolean", - "readOnly": true, - "description": "True for microsecond support", - "nullable": false - }, - "subtotals": { - "type": "boolean", - "readOnly": true, - "description": "True for subtotal support", - "nullable": false - }, - "location": { - "type": "boolean", - "readOnly": true, - "description": "True for geographic location support", - "nullable": false - }, - "timezone": { - "type": "boolean", - "readOnly": true, - "description": "True for timezone conversion in query support", - "nullable": false - }, - "connection_pooling": { - "type": "boolean", - "readOnly": true, - "description": "True for connection pooling support", - "nullable": false - } - }, - "x-looker-status": "beta" - }, - "Schema": { - "properties": { - "name": { - "type": "string", - "readOnly": true, - "description": "Schema name", - "nullable": false - }, - "is_default": { - "type": "boolean", - "readOnly": true, - "description": "True if this is the default schema", - "nullable": false - } - }, - "x-looker-status": "beta" - }, - "SchemaTables": { - "properties": { - "name": { - "type": "string", - "readOnly": true, - "description": "Schema name", - "nullable": false - }, - "is_default": { - "type": "boolean", - "readOnly": true, - "description": "True if this is the default schema", - "nullable": false - }, - "tables": { - "type": "array", - "items": { "$ref": "#/components/schemas/SchemaTable" }, - "readOnly": true, - "description": "Tables for this schema", - "nullable": false - } - }, - "x-looker-status": "beta" - }, - "SchemaColumns": { - "properties": { - "name": { - "type": "string", - "readOnly": true, - "description": "Schema item name", - "nullable": true - }, - "sql_escaped_name": { - "type": "string", - "readOnly": true, - "description": "Full name of item", - "nullable": true - }, - "schema_name": { - "type": "string", - "readOnly": true, - "description": "Name of schema", - "nullable": true - }, - "columns": { - "type": "array", - "items": { "$ref": "#/components/schemas/SchemaColumn" }, - "readOnly": true, - "description": "Columns for this schema", - "nullable": false - } - }, - "x-looker-status": "beta" - }, - "ColumnSearch": { - "properties": { - "schema_name": { - "type": "string", - "readOnly": true, - "description": "Name of schema containing the table", - "nullable": true - }, - "table_name": { - "type": "string", - "readOnly": true, - "description": "Name of table containing the column", - "nullable": true - }, - "column_name": { - "type": "string", - "readOnly": true, - "description": "Name of column", - "nullable": true - }, - "data_type": { - "type": "string", - "readOnly": true, - "description": "Column data type", - "nullable": true - } - }, - "x-looker-status": "beta" - }, - "CreateCostEstimate": { - "properties": { - "sql": { - "type": "string", - "readOnly": true, - "description": "SQL statement to estimate", - "nullable": false - } - }, - "x-looker-status": "beta" - }, - "CostEstimate": { - "properties": { - "cost": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Cost of SQL statement", - "nullable": false - }, - "cache_hit": { - "type": "boolean", - "readOnly": true, - "description": "Does the result come from the cache?", - "nullable": false - }, - "cost_unit": { - "type": "string", - "readOnly": true, - "description": "Cost measurement size", - "nullable": false - }, - "message": { - "type": "string", - "readOnly": true, - "description": "Human-friendly message", - "nullable": false - } - }, - "x-looker-status": "beta" - }, - "ModelFieldSuggestions": { - "properties": { - "suggestions": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "description": "List of suggestions", - "nullable": false - }, - "error": { - "type": "string", - "readOnly": true, - "description": "Error message", - "nullable": true - }, - "from_cache": { - "type": "boolean", - "readOnly": true, - "description": "True if result came from the cache", - "nullable": false - }, - "hit_limit": { - "type": "boolean", - "readOnly": true, - "description": "True if this was a hit limit", - "nullable": false - }, - "used_calcite_materialization": { - "type": "boolean", - "readOnly": true, - "description": "True if calcite was used", - "nullable": false - } - }, - "x-looker-status": "beta" - }, - "SessionConfig": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "allow_persistent_sessions": { - "type": "boolean", - "description": "Allow users to have persistent sessions when they login", - "nullable": false - }, - "session_minutes": { - "type": "integer", - "format": "int64", - "description": "Number of minutes for user sessions. Must be between 5 and 43200", - "nullable": true - }, - "unlimited_sessions_per_user": { - "type": "boolean", - "description": "Allow users to have an unbounded number of concurrent sessions (otherwise, users will be limited to only one session at a time).", - "nullable": false - }, - "use_inactivity_based_logout": { - "type": "boolean", - "description": "Enforce session logout for sessions that are inactive for 15 minutes.", - "nullable": false - }, - "track_session_location": { - "type": "boolean", - "description": "Track location of session when user logs in.", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "Session": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "ip_address": { - "type": "string", - "readOnly": true, - "description": "IP address of user when this session was initiated", - "nullable": true - }, - "browser": { - "type": "string", - "readOnly": true, - "description": "User's browser type", - "nullable": true - }, - "operating_system": { - "type": "string", - "readOnly": true, - "description": "User's Operating System", - "nullable": true - }, - "city": { - "type": "string", - "readOnly": true, - "description": "City component of user location (derived from IP address)", - "nullable": true - }, - "state": { - "type": "string", - "readOnly": true, - "description": "State component of user location (derived from IP address)", - "nullable": true - }, - "country": { - "type": "string", - "readOnly": true, - "description": "Country component of user location (derived from IP address)", - "nullable": true - }, - "credentials_type": { - "type": "string", - "readOnly": true, - "description": "Type of credentials used for logging in this session", - "nullable": true - }, - "extended_at": { - "type": "string", - "readOnly": true, - "description": "Time when this session was last extended by the user", - "nullable": true - }, - "extended_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of times this session was extended", - "nullable": true - }, - "sudo_user_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Actual user in the case when this session represents one user sudo'ing as another", - "nullable": true - }, - "created_at": { - "type": "string", - "readOnly": true, - "description": "Time when this session was initiated", - "nullable": true - }, - "expires_at": { - "type": "string", - "readOnly": true, - "description": "Time when this session will expire", - "nullable": true - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to get this item", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "Snippet": { - "properties": { - "name": { - "type": "string", - "readOnly": true, - "description": "Name of the snippet", - "nullable": false - }, - "label": { - "type": "string", - "readOnly": true, - "description": "Label of the snippet", - "nullable": false - }, - "sql": { - "type": "string", - "readOnly": true, - "description": "SQL text of the snippet", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "SqlQueryCreate": { - "properties": { - "connection_name": { - "type": "string", - "description": "Name of the db connection on which to run this query", - "nullable": true - }, - "connection_id": { - "type": "string", - "x-looker-deprecated": true, - "description": "(DEPRECATED) Use `connection_name` instead", - "nullable": true - }, - "model_name": { - "type": "string", - "description": "Name of LookML Model (this or `connection_id` required)", - "nullable": true - }, - "sql": { - "type": "string", - "description": "SQL query", - "nullable": true - }, - "vis_config": { - "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, - "description": "Visualization configuration properties. These properties are typically opaque and differ based on the type of visualization used. There is no specified set of allowed keys. The values can be any type supported by JSON. A \"type\" key with a string value is often present, and is used by Looker to determine which visualization to present. Visualizations ignore unknown vis_config properties.", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "SqlQuery": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "slug": { - "type": "string", - "readOnly": true, - "description": "The identifier of the SQL query", - "nullable": false - }, - "last_runtime": { - "type": "number", - "format": "float", - "readOnly": true, - "description": "Number of seconds this query took to run the most recent time it was run", - "nullable": true - }, - "run_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of times this query has been run", - "nullable": false - }, - "browser_limit": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Maximum number of rows this query will display on the SQL Runner page", - "nullable": false - }, - "sql": { - "type": "string", - "readOnly": true, - "description": "SQL query text", - "nullable": false - }, - "last_run_at": { - "type": "string", - "readOnly": true, - "description": "The most recent time this query was run", - "nullable": true - }, - "connection": { "$ref": "#/components/schemas/DBConnectionBase" }, - "model_name": { - "type": "string", - "readOnly": true, - "description": "Model name this query uses", - "nullable": true - }, - "creator": { "$ref": "#/components/schemas/UserPublic" }, - "explore_url": { - "type": "string", - "readOnly": true, - "description": "Explore page URL for this SQL query", - "nullable": true - }, - "plaintext": { - "type": "boolean", - "readOnly": true, - "description": "Should this query be rendered as plain text", - "nullable": false - }, - "vis_config": { - "type": "object", - "additionalProperties": { "type": "string", "format": "any" }, - "description": "Visualization configuration properties. These properties are typically opaque and differ based on the type of visualization used. There is no specified set of allowed keys. The values can be any type supported by JSON. A \"type\" key with a string value is often present, and is used by Looker to determine which visualization to present. Visualizations ignore unknown vis_config properties.", - "nullable": true - }, - "result_maker_id": { - "type": "integer", - "format": "int64", - "description": "ID of the ResultMakerLookup entry.", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "SshPublicKey": { - "properties": { - "public_key": { - "type": "string", - "readOnly": true, - "description": "The SSH public key created for this instance", - "nullable": false - } - }, - "x-looker-status": "beta" - }, - "SshServer": { - "properties": { - "ssh_server_id": { - "type": "string", - "readOnly": true, - "description": "A unique id used to identify this SSH Server", - "nullable": false - }, - "ssh_server_name": { - "type": "string", - "description": "The name to identify this SSH Server", - "nullable": false - }, - "ssh_server_host": { - "type": "string", - "description": "The hostname or ip address of the SSH Server", - "nullable": false - }, - "ssh_server_port": { - "type": "integer", - "format": "int64", - "description": "The port to connect to on the SSH Server", - "nullable": false - }, - "ssh_server_user": { - "type": "string", - "description": "The username used to connect to the SSH Server", - "nullable": false - }, - "finger_print": { - "type": "string", - "readOnly": true, - "description": "The md5 fingerprint used to identify the SSH Server", - "nullable": false - }, - "sha_finger_print": { - "type": "string", - "readOnly": true, - "description": "The SHA fingerprint used to identify the SSH Server", - "nullable": false - }, - "public_key": { - "type": "string", - "readOnly": true, - "description": "The SSH public key created for this instance", - "nullable": false - }, - "status": { - "type": "string", - "readOnly": true, - "description": "The current connection status to this SSH Server", - "nullable": false - } - }, - "x-looker-status": "beta" - }, - "SshTunnel": { - "properties": { - "tunnel_id": { - "type": "string", - "readOnly": true, - "description": "Unique ID for the tunnel", - "nullable": false - }, - "ssh_server_id": { - "type": "string", - "description": "SSH Server ID", - "nullable": false - }, - "ssh_server_name": { - "type": "string", - "readOnly": true, - "description": "SSH Server name", - "nullable": false - }, - "ssh_server_host": { - "type": "string", - "readOnly": true, - "description": "SSH Server Hostname or IP Address", - "nullable": false - }, - "ssh_server_port": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "SSH Server port", - "nullable": false - }, - "ssh_server_user": { - "type": "string", - "readOnly": true, - "description": "Username used to connect to the SSH Server", - "nullable": false - }, - "last_attempt": { - "type": "string", - "readOnly": true, - "description": "Time of last connect attempt", - "nullable": false - }, - "local_host_port": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Localhost Port used by the Looker instance to connect to the remote DB", - "nullable": false - }, - "database_host": { - "type": "string", - "description": "Hostname or IP Address of the Database Server", - "nullable": false - }, - "database_port": { - "type": "integer", - "format": "int64", - "description": "Port that the Database Server is listening on", - "nullable": false - }, - "status": { - "type": "string", - "readOnly": true, - "description": "Current connection status for this Tunnel", - "nullable": false - } - }, - "x-looker-status": "beta" - }, - "ThemeSettings": { - "properties": { - "background_color": { - "type": "string", - "description": "Default background color", - "nullable": false - }, - "base_font_size": { - "type": "string", - "description": "Base font size for scaling fonts", - "nullable": true - }, - "color_collection_id": { - "type": "string", - "description": "Optional. ID of color collection to use with the theme. Use an empty string for none.", - "nullable": false - }, - "font_color": { - "type": "string", - "description": "Default font color", - "nullable": true - }, - "font_family": { - "type": "string", - "description": "Primary font family", - "nullable": false - }, - "font_source": { - "type": "string", - "description": "Source specification for font", - "nullable": true - }, - "info_button_color": { - "type": "string", - "description": "Info button color", - "nullable": false - }, - "primary_button_color": { - "type": "string", - "description": "Primary button color", - "nullable": false - }, - "show_filters_bar": { - "type": "boolean", - "description": "Toggle to show filters. Defaults to true.", - "nullable": false - }, - "show_title": { - "type": "boolean", - "description": "Toggle to show the title. Defaults to true.", - "nullable": false - }, - "text_tile_text_color": { - "type": "string", - "description": "Text color for text tiles", - "nullable": false - }, - "tile_background_color": { - "type": "string", - "description": "Background color for tiles", - "nullable": false - }, - "tile_text_color": { - "type": "string", - "description": "Text color for tiles", - "nullable": false - }, - "title_color": { - "type": "string", - "description": "Color for titles", - "nullable": false - }, - "warn_button_color": { - "type": "string", - "description": "Warning button color", - "nullable": false - }, - "tile_title_alignment": { - "type": "string", - "description": "The text alignment of tile titles (New Dashboards)", - "nullable": false - }, - "tile_shadow": { - "type": "boolean", - "description": "Toggles the tile shadow (New Dashboards)", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "Theme": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "begin_at": { - "type": "string", - "format": "date-time", - "description": "Timestamp for when this theme becomes active. Null=always", - "nullable": true - }, - "end_at": { - "type": "string", - "format": "date-time", - "description": "Timestamp for when this theme expires. Null=never", - "nullable": true - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "name": { - "type": "string", - "description": "Name of theme. Can only be alphanumeric and underscores.", - "nullable": false - }, - "settings": { "$ref": "#/components/schemas/ThemeSettings" } - }, - "x-looker-status": "stable" - }, - "Timezone": { - "properties": { - "value": { - "type": "string", - "readOnly": true, - "description": "Timezone", - "nullable": true - }, - "label": { - "type": "string", - "readOnly": true, - "description": "Description of timezone", - "nullable": true - }, - "group": { - "type": "string", - "readOnly": true, - "description": "Timezone group (e.g Common, Other, etc.)", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "UserAttribute": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "name": { - "type": "string", - "description": "Name of user attribute", - "nullable": true - }, - "label": { - "type": "string", - "description": "Human-friendly label for user attribute", - "nullable": true - }, - "type": { - "type": "string", - "description": "Type of user attribute (\"string\", \"number\", \"datetime\", \"yesno\", \"zipcode\")", - "nullable": true - }, - "default_value": { - "type": "string", - "description": "Default value for when no value is set on the user", - "nullable": true - }, - "is_system": { - "type": "boolean", - "readOnly": true, - "description": "Attribute is a system default", - "nullable": false - }, - "is_permanent": { - "type": "boolean", - "readOnly": true, - "description": "Attribute is permanent and cannot be deleted", - "nullable": false - }, - "value_is_hidden": { - "type": "boolean", - "description": "If true, users will not be able to view values of this attribute", - "nullable": false - }, - "user_can_view": { - "type": "boolean", - "description": "Non-admin users can see the values of their attributes and use them in filters", - "nullable": false - }, - "user_can_edit": { - "type": "boolean", - "description": "Users can change the value of this attribute for themselves", - "nullable": false - }, - "hidden_value_domain_whitelist": { - "type": "string", - "description": "Destinations to which a hidden attribute may be sent. Once set, cannot be edited.", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "UserAttributeGroupValue": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id of this group-attribute relation", - "nullable": false - }, - "group_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of group", - "nullable": true - }, - "user_attribute_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of user attribute", - "nullable": true - }, - "value_is_hidden": { - "type": "boolean", - "readOnly": true, - "description": "If true, the \"value\" field will be null, because the attribute settings block access to this value", - "nullable": false - }, - "rank": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Precedence for resolving value for user", - "nullable": true - }, - "value": { - "type": "string", - "readOnly": true, - "description": "Value of user attribute for group", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "UserAttributeWithValue": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Name of user attribute", - "nullable": true - }, - "label": { - "type": "string", - "readOnly": true, - "description": "Human-friendly label for user attribute", - "nullable": true - }, - "rank": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Precedence for setting value on user (lowest wins)", - "nullable": true - }, - "value": { - "type": "string", - "description": "Value of attribute for user", - "nullable": true - }, - "user_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of User", - "nullable": true - }, - "user_can_edit": { - "type": "boolean", - "readOnly": true, - "description": "Can the user set this value", - "nullable": false - }, - "value_is_hidden": { - "type": "boolean", - "readOnly": true, - "description": "If true, the \"value\" field will be null, because the attribute settings block access to this value", - "nullable": false - }, - "user_attribute_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Id of User Attribute", - "nullable": true - }, - "source": { - "type": "string", - "readOnly": true, - "description": "How user got this value for this attribute", - "nullable": true - }, - "hidden_value_domain_whitelist": { - "type": "string", - "readOnly": true, - "description": "If this user attribute is hidden, whitelist of destinations to which it may be sent.", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "UserLoginLockout": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "key": { - "type": "string", - "readOnly": true, - "description": "Hash of user's client id", - "nullable": true - }, - "auth_type": { - "type": "string", - "readOnly": true, - "description": "Authentication method for login failures", - "nullable": true - }, - "ip": { - "type": "string", - "readOnly": true, - "description": "IP address of most recent failed attempt", - "nullable": true - }, - "user_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "User ID", - "nullable": true - }, - "remote_id": { - "type": "string", - "readOnly": true, - "description": "Remote ID of user if using LDAP", - "nullable": true - }, - "full_name": { - "type": "string", - "readOnly": true, - "description": "User's name", - "nullable": true - }, - "email": { - "type": "string", - "readOnly": true, - "description": "Email address associated with the user's account", - "nullable": true - }, - "fail_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of failures that triggered the lockout", - "nullable": true - }, - "lockout_at": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Time when lockout was triggered", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "User": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "avatar_url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "URL for the avatar image (may be generic)", - "nullable": true - }, - "avatar_url_without_sizing": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "URL for the avatar image (may be generic), does not specify size", - "nullable": true - }, - "credentials_api3": { - "type": "array", - "items": { "$ref": "#/components/schemas/CredentialsApi3" }, - "readOnly": true, - "description": "API 3 credentials", - "nullable": true - }, - "credentials_email": { - "$ref": "#/components/schemas/CredentialsEmail" - }, - "credentials_embed": { - "type": "array", - "items": { "$ref": "#/components/schemas/CredentialsEmbed" }, - "readOnly": true, - "description": "Embed credentials", - "nullable": true - }, - "credentials_google": { - "$ref": "#/components/schemas/CredentialsGoogle" - }, - "credentials_ldap": { - "$ref": "#/components/schemas/CredentialsLDAP" - }, - "credentials_looker_openid": { - "$ref": "#/components/schemas/CredentialsLookerOpenid" - }, - "credentials_oidc": { - "$ref": "#/components/schemas/CredentialsOIDC" - }, - "credentials_saml": { - "$ref": "#/components/schemas/CredentialsSaml" - }, - "credentials_totp": { - "$ref": "#/components/schemas/CredentialsTotp" - }, - "display_name": { - "type": "string", - "readOnly": true, - "description": "Full name for display (available only if both first_name and last_name are set)", - "nullable": true - }, - "email": { - "type": "string", - "readOnly": true, - "description": "EMail address", - "nullable": true - }, - "embed_group_space_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "(Embed only) ID of user's group space based on the external_group_id optionally specified during embed user login", - "nullable": true - }, - "first_name": { - "type": "string", - "description": "First name", - "nullable": true - }, - "group_ids": { - "type": "array", - "items": { "type": "integer", "format": "int64" }, - "readOnly": true, - "description": "Array of ids of the groups for this user", - "nullable": true - }, - "home_folder_id": { - "type": "string", - "description": "ID string for user's home folder", - "nullable": true - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "is_disabled": { - "type": "boolean", - "description": "Account has been disabled", - "nullable": false - }, - "last_name": { - "type": "string", - "description": "Last name", - "nullable": true - }, - "locale": { - "type": "string", - "description": "User's preferred locale. User locale takes precedence over Looker's system-wide default locale. Locale determines language of display strings and date and numeric formatting in API responses. Locale string must be a 2 letter language code or a combination of language code and region code: 'en' or 'en-US', for example.", - "nullable": true - }, - "looker_versions": { - "type": "array", - "items": { "type": "string" }, - "readOnly": true, - "description": "Array of strings representing the Looker versions that this user has used (this only goes back as far as '3.54.0')", - "nullable": true - }, - "models_dir_validated": { - "type": "boolean", - "description": "User's dev workspace has been checked for presence of applicable production projects", - "nullable": true - }, - "personal_folder_id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "ID of user's personal folder", - "nullable": true - }, - "presumed_looker_employee": { - "type": "boolean", - "readOnly": true, - "description": "User is identified as an employee of Looker", - "nullable": false - }, - "role_ids": { - "type": "array", - "items": { "type": "integer", "format": "int64" }, - "readOnly": true, - "description": "Array of ids of the roles for this user", - "nullable": true - }, - "sessions": { - "type": "array", - "items": { "$ref": "#/components/schemas/Session" }, - "readOnly": true, - "description": "Active sessions", - "nullable": true - }, - "ui_state": { - "type": "object", - "additionalProperties": { "type": "string" }, - "description": "Per user dictionary of undocumented state information owned by the Looker UI.", - "nullable": true - }, - "verified_looker_employee": { - "type": "boolean", - "readOnly": true, - "description": "User is identified as an employee of Looker who has been verified via Looker corporate authentication", - "nullable": false - }, - "roles_externally_managed": { - "type": "boolean", - "readOnly": true, - "description": "User's roles are managed by an external directory like SAML or LDAP and can not be changed directly.", - "nullable": false - }, - "allow_direct_roles": { - "type": "boolean", - "readOnly": true, - "description": "User can be directly assigned a role.", - "nullable": false - }, - "allow_normal_group_membership": { - "type": "boolean", - "readOnly": true, - "description": "User can be a direct member of a normal Looker group.", - "nullable": false - }, - "allow_roles_from_normal_groups": { - "type": "boolean", - "readOnly": true, - "description": "User can inherit roles from a normal Looker group.", - "nullable": false - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to get this item", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "UserPublic": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "first_name": { - "type": "string", - "readOnly": true, - "description": "First Name", - "nullable": false - }, - "last_name": { - "type": "string", - "readOnly": true, - "description": "Last Name", - "nullable": false - }, - "display_name": { - "type": "string", - "readOnly": true, - "description": "Full name for display (available only if both first_name and last_name are set)", - "nullable": true - }, - "avatar_url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "URL for the avatar image (may be generic)", - "nullable": false - }, - "url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Link to get this item", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "ApiVersionElement": { - "properties": { - "version": { - "type": "string", - "readOnly": true, - "description": "Version number as it appears in '/api/xxx/' urls", - "nullable": true - }, - "full_version": { - "type": "string", - "readOnly": true, - "description": "Full version number including minor version", - "nullable": true - }, - "status": { - "type": "string", - "readOnly": true, - "description": "Status of this version", - "nullable": true - }, - "swagger_url": { - "type": "string", - "format": "uri", - "readOnly": true, - "description": "Url for swagger.json for this version", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "ApiVersion": { - "properties": { - "looker_release_version": { - "type": "string", - "readOnly": true, - "description": "Current Looker release version number", - "nullable": false - }, - "current_version": { - "$ref": "#/components/schemas/ApiVersionElement" - }, - "supported_versions": { - "type": "array", - "items": { "$ref": "#/components/schemas/ApiVersionElement" }, - "readOnly": true, - "description": "Array of versions supported by this Looker instance", - "nullable": false - }, - "api_server_url": { - "type": "string", - "readOnly": true, - "description": "API server base url", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "WelcomeEmailTest": { - "properties": { - "content": { - "type": "string", - "description": "The content that would be sent in the body of a custom welcome email", - "nullable": true - }, - "subject": { - "type": "string", - "description": "The subject that would be sent for the custom welcome email", - "nullable": true - }, - "header": { - "type": "string", - "description": "The header that would be sent in the body of a custom welcome email", - "nullable": true - } - }, - "x-looker-status": "stable" - }, - "WhitelabelConfiguration": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "id": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Unique Id", - "nullable": false - }, - "logo_file": { - "type": "string", - "description": "Customer logo image. Expected base64 encoded data (write-only)", - "nullable": true - }, - "logo_url": { - "type": "string", - "readOnly": true, - "description": "Logo image url (read-only)", - "nullable": true - }, - "favicon_file": { - "type": "string", - "description": "Custom favicon image. Expected base64 encoded data (write-only)", - "nullable": true - }, - "favicon_url": { - "type": "string", - "readOnly": true, - "description": "Favicon image url (read-only)", - "nullable": true - }, - "default_title": { - "type": "string", - "description": "Default page title", - "nullable": true - }, - "show_help_menu": { - "type": "boolean", - "description": "Boolean to toggle showing help menus", - "nullable": false - }, - "show_docs": { - "type": "boolean", - "description": "Boolean to toggle showing docs", - "nullable": false - }, - "show_email_sub_options": { - "type": "boolean", - "description": "Boolean to toggle showing email subscription options.", - "nullable": false - }, - "allow_looker_mentions": { - "type": "boolean", - "description": "Boolean to toggle mentions of Looker in emails", - "nullable": false - }, - "allow_looker_links": { - "type": "boolean", - "description": "Boolean to toggle links to Looker in emails", - "nullable": false - }, - "custom_welcome_email_advanced": { - "type": "boolean", - "description": "Allow subject line and email heading customization in customized emails”", - "nullable": false - }, - "setup_mentions": { - "type": "boolean", - "description": "Remove the word Looker from appearing in the account setup page", - "nullable": false - }, - "alerts_logo": { - "type": "boolean", - "description": "Remove Looker logo from Alerts", - "nullable": false - }, - "alerts_links": { - "type": "boolean", - "description": "Remove Looker links from Alerts", - "nullable": false - }, - "folders_mentions": { - "type": "boolean", - "description": "Remove Looker mentions in home folder page when you don’t have any items saved", - "nullable": false - } - }, - "x-looker-status": "stable" - }, - "Workspace": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { "type": "boolean" }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "id": { - "type": "string", - "readOnly": true, - "description": "The unique id of this user workspace. Predefined workspace ids include \"production\" and \"dev\"", - "nullable": false - }, - "projects": { - "type": "array", - "items": { "$ref": "#/components/schemas/Project" }, - "readOnly": true, - "description": "The local state of each project in the workspace", - "nullable": true - } - }, - "x-looker-status": "stable" - } - } - } -} +{"openapi":"3.0.0","info":{"version":"4.0.21.4","x-looker-release-version":"21.4.0","title":"Looker API 4.0 (Experimental) Reference","description":"\nWelcome to the future! This is an early preview of our next-generation Looker API 4.0.\nAPI 4.0 runs alongside APIs 3.1 and 3.0. We've tagged 4.0 as \"experimental\" to reflect\nthat we have more work planned for API 4.0 which may include breaking changes.\nPlease pardon our dust while we remodel a few rooms!\n\n### In This Release\n\nWe're spinning up this new API 4.0 version so that we can make adjustments to our API\nfunctions, parameters, and response types to fix bugs and inconsistencies. These changes\nfall outside the bounds of non-breaking additive changes we can make to our stable API 3.1.\n\nOne benefit of these type adjustments in API 4.0 is dramatically better support for strongly\ntyped languages like TypeScript, Kotlin, Java, and more. Looker is also creating client SDKs\nto call the Looker API from these and other languages. These client SDKs will be available\nas pre-built packages for download from public repositories such as npmjs.org, RubyGems.org,\nPyPi.org. If you use an IDE for software development, you will soon be able to install a\nLooker SDK for your programming language with the click of a button!\n\nWhile API 3.1 is still the defacto Looker API (\"current\", \"stable\", \"default\", etc), the bulk\nof our development activity will gradually shift to API 4.0.\n\n","contact":{"name":"Looker Team","url":"https://help.looker.com"},"license":{"name":"EULA","url":"https://localhost:10000/eula"}},"tags":[{"name":"ApiAuth","description":"API Authentication"},{"name":"Auth","description":"Manage User Authentication Configuration"},{"name":"Board","description":"Manage Boards"},{"name":"ColorCollection","description":"Manage Color Collections"},{"name":"Command","description":"Manage Commands"},{"name":"Config","description":"Manage General Configuration"},{"name":"Connection","description":"Manage Database Connections"},{"name":"Content","description":"Manage Content"},{"name":"Dashboard","description":"Manage Dashboards"},{"name":"DataAction","description":"Run Data Actions"},{"name":"Datagroup","description":"Manage Datagroups"},{"name":"Folder","description":"Manage Folders"},{"name":"Group","description":"Manage Groups"},{"name":"Homepage","description":"Manage Homepage"},{"name":"Integration","description":"Manage Integrations"},{"name":"Look","description":"Run and Manage Looks"},{"name":"LookmlModel","description":"Manage LookML Models"},{"name":"Metadata","description":"Connection Metadata Features"},{"name":"Project","description":"Manage Projects"},{"name":"Query","description":"Run and Manage Queries"},{"name":"RenderTask","description":"Manage Render Tasks"},{"name":"Role","description":"Manage Roles"},{"name":"ScheduledPlan","description":"Manage Scheduled Plans"},{"name":"Session","description":"Session Information"},{"name":"Theme","description":"Manage Themes"},{"name":"User","description":"Manage Users"},{"name":"UserAttribute","description":"Manage User Attributes"},{"name":"Workspace","description":"Manage Workspaces"}],"paths":{"/query_tasks":{"post":{"tags":["Query"],"operationId":"create_query_task","summary":"Run Query Async","description":"### Create an async query task\n\nCreates a query task (job) to run a previously created query asynchronously. Returns a Query Task ID.\n\nUse [query_task(query_task_id)](#!/Query/query_task) to check the execution status of the query task.\nAfter the query task status reaches \"Complete\", use [query_task_results(query_task_id)](#!/Query/query_task_results) to fetch the results of the query.\n","parameters":[{"name":"limit","in":"query","description":"Row limit (may override the limit in the saved query).","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"apply_formatting","in":"query","description":"Apply model-specified formatting to each result.","required":false,"schema":{"type":"boolean"}},{"name":"apply_vis","in":"query","description":"Apply visualization options to results.","required":false,"schema":{"type":"boolean"}},{"name":"cache","in":"query","description":"Get results from cache if available.","required":false,"schema":{"type":"boolean"}},{"name":"image_width","in":"query","description":"Render width for image formats.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"image_height","in":"query","description":"Render height for image formats.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"generate_drill_links","in":"query","description":"Generate drill links (only applicable to 'json_detail' format.","required":false,"schema":{"type":"boolean"}},{"name":"force_production","in":"query","description":"Force use of production models even if the user is in development mode.","required":false,"schema":{"type":"boolean"}},{"name":"cache_only","in":"query","description":"Retrieve any results from cache even if the results have expired.","required":false,"schema":{"type":"boolean"}},{"name":"path_prefix","in":"query","description":"Prefix to use for drill links (url encoded).","required":false,"schema":{"type":"string"}},{"name":"rebuild_pdts","in":"query","description":"Rebuild PDTS used in query.","required":false,"schema":{"type":"boolean"}},{"name":"server_table_calcs","in":"query","description":"Perform table calculations on query results","required":false,"schema":{"type":"boolean"}},{"name":"fields","in":"query","description":"Requested fields","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateQueryTask"}}},"description":"Query parameters","required":true},"responses":{"200":{"description":"query_task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryTask"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query"}},"/query_tasks/multi_results":{"get":{"tags":["Query"],"operationId":"query_task_multi_results","summary":"Get Multiple Async Query Results","description":"### Fetch results of multiple async queries\n\nReturns the results of multiple async queries in one request.\n\nFor Query Tasks that are not completed, the response will include the execution status of the Query Task but will not include query results.\nQuery Tasks whose results have expired will have a status of 'expired'.\nIf 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'\n","parameters":[{"name":"query_task_ids","in":"query","description":"List of Query Task IDs","required":true,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Multiple query results","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query"}},"/query_tasks/{query_task_id}":{"get":{"tags":["Query"],"operationId":"query_task","summary":"Get Async Query Info","description":"### Get Query Task details\n\nUse this function to check the status of an async query task. After the status\nreaches \"Complete\", you can call [query_task_results(query_task_id)](#!/Query/query_task_results) to\nretrieve the results of the query.\n\nUse [create_query_task()](#!/Query/create_query_task) to create an async query task.\n","parameters":[{"name":"query_task_id","in":"path","description":"ID of the Query Task","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"query_task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryTask"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query"}},"/query_tasks/{query_task_id}/results":{"get":{"tags":["Query"],"operationId":"query_task_results","summary":"Get Async Query Results","description":"### Get Async Query Results\n\nReturns the results of an async query task if the query has completed.\n\nIf the query task is still running or waiting to run, this function returns 204 No Content.\n\nIf the query task ID is invalid or the cached results of the query task have expired, this function returns 404 Not Found.\n\nUse [query_task(query_task_id)](#!/Query/query_task) to check the execution status of the query task\nCall query_task_results only after the query task status reaches \"Complete\".\n\nYou can also use [query_task_multi_results()](#!/Query/query_task_multi_results) retrieve the\nresults of multiple async query tasks at the same time.\n\n#### SQL Error Handling:\nIf the query fails due to a SQL db error, how this is communicated depends on the result_format you requested in `create_query_task()`.\n\nFor `json_detail` result_format: `query_task_results()` will respond with HTTP status '200 OK' and db SQL error info\nwill be in the `errors` property of the response object. The 'data' property will be empty.\n\nFor all other result formats: `query_task_results()` will respond with HTTP status `400 Bad Request` and some db SQL error info\nwill be in the message of the 400 error response, but not as detailed as expressed in `json_detail.errors`.\nThese data formats can only carry row data, and error info is not row data.\n","parameters":[{"name":"query_task_id","in":"path","description":"ID of the Query Task","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The query results.","content":{"text":{"schema":{"type":"string"}},"application/json":{"schema":{"type":"string"}}}},"204":{"description":"The query is not finished","content":{"text":{"schema":{"type":"string"}},"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"text":{"schema":{"$ref":"#/components/schemas/Error"}},"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"The Query Task Id was not found or the results have expired.","content":{"text":{"schema":{"$ref":"#/components/schemas/Error"}},"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query"}},"/queries/{query_id}":{"get":{"tags":["Query"],"operationId":"query","summary":"Get Query","description":"### Get a previously created query by id.\n\nA Looker query object includes the various parameters that define a database query that has been run or\ncould be run in the future. These parameters include: model, view, fields, filters, pivots, etc.\nQuery *results* are not part of the query object.\n\nQuery objects are unique and immutable. Query objects are created automatically in Looker as users explore data.\nLooker does not delete them; they become part of the query history. When asked to create a query for\nany given set of parameters, Looker will first try to find an existing query object with matching\nparameters and will only create a new object when an appropriate object can not be found.\n\nThis 'get' method is used to get the details about a query for a given id. See the other methods here\nto 'create' and 'run' queries.\n\nNote that some fields like 'filter_config' and 'vis_config' etc are specific to how the Looker UI\nbuilds queries and visualizations and are not generally useful for API use. They are not required when\ncreating new queries and can usually just be ignored.\n\n","parameters":[{"name":"query_id","in":"path","description":"Id of query","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Query","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Query"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"db_query"}},"/queries/slug/{slug}":{"get":{"tags":["Query"],"operationId":"query_for_slug","summary":"Get Query for Slug","description":"### Get the query for a given query slug.\n\nThis returns the query for the 'slug' in a query share URL.\n\nThe 'slug' is a randomly chosen short string that is used as an alternative to the query's id value\nfor use in URLs etc. This method exists as a convenience to help you use the API to 'find' queries that\nhave been created using the Looker UI.\n\nYou can use the Looker explore page to build a query and then choose the 'Share' option to\nshow the share url for the query. Share urls generally look something like 'https://looker.yourcompany/x/vwGSbfc'.\nThe trailing 'vwGSbfc' is the share slug. You can pass that string to this api method to get details about the query.\nThose details include the 'id' that you can use to run the query. Or, you can copy the query body\n(perhaps with your own modification) and use that as the basis to make/run new queries.\n\nThis will also work with slugs from Looker explore urls like\n'https://looker.yourcompany/explore/ecommerce/orders?qid=aogBgL6o3cKK1jN3RoZl5s'. In this case\n'aogBgL6o3cKK1jN3RoZl5s' is the slug.\n","parameters":[{"name":"slug","in":"path","description":"Slug of query","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Query","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Query"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"db_query"}},"/queries":{"post":{"tags":["Query"],"operationId":"create_query","summary":"Create Query","description":"### Create a query.\n\nThis allows you to create a new query that you can later run. Looker queries are immutable once created\nand are not deleted. If you create a query that is exactly like an existing query then the existing query\nwill be returned and no new query will be created. Whether a new query is created or not, you can use\nthe 'id' in the returned query with the 'run' method.\n\nThe query parameters are passed as json in the body of the request.\n\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Query"}}},"description":"Query","required":true},"responses":{"200":{"description":"Query","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Query"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"db_query"}},"/queries/{query_id}/run/{result_format}":{"get":{"tags":["Query"],"operationId":"run_query","summary":"Run Query","description":"### Run a saved query.\n\nThis runs a previously saved query. You can use this on a query that was generated in the Looker UI\nor one that you have explicitly created using the API. You can also use a query 'id' from a saved 'Look'.\n\nThe 'result_format' parameter specifies the desired structure and format of the response.\n\nSupported formats:\n\n| result_format | Description\n| :-----------: | :--- |\n| json | Plain json\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| md | Simple markdown\n| xlsx | MS Excel spreadsheet\n| sql | Returns the generated SQL rather than running the query\n| png | A PNG image of the visualization of the query\n| jpg | A JPG image of the visualization of the query\n\n\n","parameters":[{"name":"query_id","in":"path","description":"Id of query","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"result_format","in":"path","description":"Format of result","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Row limit (may override the limit in the saved query).","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"apply_formatting","in":"query","description":"Apply model-specified formatting to each result.","required":false,"schema":{"type":"boolean"}},{"name":"apply_vis","in":"query","description":"Apply visualization options to results.","required":false,"schema":{"type":"boolean"}},{"name":"cache","in":"query","description":"Get results from cache if available.","required":false,"schema":{"type":"boolean"}},{"name":"image_width","in":"query","description":"Render width for image formats.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"image_height","in":"query","description":"Render height for image formats.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"generate_drill_links","in":"query","description":"Generate drill links (only applicable to 'json_detail' format.","required":false,"schema":{"type":"boolean"}},{"name":"force_production","in":"query","description":"Force use of production models even if the user is in development mode.","required":false,"schema":{"type":"boolean"}},{"name":"cache_only","in":"query","description":"Retrieve any results from cache even if the results have expired.","required":false,"schema":{"type":"boolean"}},{"name":"path_prefix","in":"query","description":"Prefix to use for drill links (url encoded).","required":false,"schema":{"type":"string"}},{"name":"rebuild_pdts","in":"query","description":"Rebuild PDTS used in query.","required":false,"schema":{"type":"boolean"}},{"name":"server_table_calcs","in":"query","description":"Perform table calculations on query results","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Query","content":{"text":{"schema":{"type":"string"}},"application/json":{"schema":{"type":"string"}},"image/png":{"schema":{"type":"string"}},"image/jpeg":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"text":{"schema":{"$ref":"#/components/schemas/Error"}},"application/json":{"schema":{"$ref":"#/components/schemas/Error"}},"image/png":{"schema":{"$ref":"#/components/schemas/Error"}},"image/jpeg":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"text":{"schema":{"$ref":"#/components/schemas/Error"}},"application/json":{"schema":{"$ref":"#/components/schemas/Error"}},"image/png":{"schema":{"$ref":"#/components/schemas/Error"}},"image/jpeg":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"text":{"schema":{"$ref":"#/components/schemas/ValidationError"}},"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}},"image/png":{"schema":{"$ref":"#/components/schemas/ValidationError"}},"image/jpeg":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"text":{"schema":{"$ref":"#/components/schemas/Error"}},"application/json":{"schema":{"$ref":"#/components/schemas/Error"}},"image/png":{"schema":{"$ref":"#/components/schemas/Error"}},"image/jpeg":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"db_query"}},"/queries/run/{result_format}":{"post":{"tags":["Query"],"operationId":"run_inline_query","summary":"Run Inline Query","description":"### Run the query that is specified inline in the posted body.\n\nThis allows running a query as defined in json in the posted body. This combines\nthe two actions of posting & running a query into one step.\n\nHere is an example body in json:\n```\n{\n \"model\":\"thelook\",\n \"view\":\"inventory_items\",\n \"fields\":[\"category.name\",\"inventory_items.days_in_inventory_tier\",\"products.count\"],\n \"filters\":{\"category.name\":\"socks\"},\n \"sorts\":[\"products.count desc 0\"],\n \"limit\":\"500\",\n \"query_timezone\":\"America/Los_Angeles\"\n}\n```\n\nWhen using the Ruby SDK this would be passed as a Ruby hash like:\n```\n{\n :model=>\"thelook\",\n :view=>\"inventory_items\",\n :fields=>\n [\"category.name\",\n \"inventory_items.days_in_inventory_tier\",\n \"products.count\"],\n :filters=>{:\"category.name\"=>\"socks\"},\n :sorts=>[\"products.count desc 0\"],\n :limit=>\"500\",\n :query_timezone=>\"America/Los_Angeles\",\n}\n```\n\nThis will return the result of running the query in the format specified by the 'result_format' parameter.\n\nSupported formats:\n\n| result_format | Description\n| :-----------: | :--- |\n| json | Plain json\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| md | Simple markdown\n| xlsx | MS Excel spreadsheet\n| sql | Returns the generated SQL rather than running the query\n| png | A PNG image of the visualization of the query\n| jpg | A JPG image of the visualization of the query\n\n\n","parameters":[{"name":"result_format","in":"path","description":"Format of result","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Row limit (may override the limit in the saved query).","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"apply_formatting","in":"query","description":"Apply model-specified formatting to each result.","required":false,"schema":{"type":"boolean"}},{"name":"apply_vis","in":"query","description":"Apply visualization options to results.","required":false,"schema":{"type":"boolean"}},{"name":"cache","in":"query","description":"Get results from cache if available.","required":false,"schema":{"type":"boolean"}},{"name":"image_width","in":"query","description":"Render width for image formats.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"image_height","in":"query","description":"Render height for image formats.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"generate_drill_links","in":"query","description":"Generate drill links (only applicable to 'json_detail' format.","required":false,"schema":{"type":"boolean"}},{"name":"force_production","in":"query","description":"Force use of production models even if the user is in development mode.","required":false,"schema":{"type":"boolean"}},{"name":"cache_only","in":"query","description":"Retrieve any results from cache even if the results have expired.","required":false,"schema":{"type":"boolean"}},{"name":"path_prefix","in":"query","description":"Prefix to use for drill links (url encoded).","required":false,"schema":{"type":"string"}},{"name":"rebuild_pdts","in":"query","description":"Rebuild PDTS used in query.","required":false,"schema":{"type":"boolean"}},{"name":"server_table_calcs","in":"query","description":"Perform table calculations on query results","required":false,"schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Query"}}},"description":"inline query","required":true},"responses":{"200":{"description":"Query Result","content":{"text":{"schema":{"type":"string"}},"application/json":{"schema":{"type":"string"}},"image/png":{"schema":{"type":"string"}},"image/jpeg":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"text":{"schema":{"$ref":"#/components/schemas/Error"}},"application/json":{"schema":{"$ref":"#/components/schemas/Error"}},"image/png":{"schema":{"$ref":"#/components/schemas/Error"}},"image/jpeg":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"text":{"schema":{"$ref":"#/components/schemas/Error"}},"application/json":{"schema":{"$ref":"#/components/schemas/Error"}},"image/png":{"schema":{"$ref":"#/components/schemas/Error"}},"image/jpeg":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"text":{"schema":{"$ref":"#/components/schemas/ValidationError"}},"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}},"image/png":{"schema":{"$ref":"#/components/schemas/ValidationError"}},"image/jpeg":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"text":{"schema":{"$ref":"#/components/schemas/Error"}},"application/json":{"schema":{"$ref":"#/components/schemas/Error"}},"image/png":{"schema":{"$ref":"#/components/schemas/Error"}},"image/jpeg":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"db_query"}},"/queries/models/{model_name}/views/{view_name}/run/{result_format}":{"get":{"tags":["Query"],"operationId":"run_url_encoded_query","summary":"Run Url Encoded Query","description":"### Run an URL encoded query.\n\nThis requires the caller to encode the specifiers for the query into the URL query part using\nLooker-specific syntax as explained below.\n\nGenerally, you would want to use one of the methods that takes the parameters as json in the POST body\nfor creating and/or running queries. This method exists for cases where one really needs to encode the\nparameters into the URL of a single 'GET' request. This matches the way that the Looker UI formats\n'explore' URLs etc.\n\nThe parameters here are very similar to the json body formatting except that the filter syntax is\ntricky. Unfortunately, this format makes this method not currently callable via the 'Try it out!' button\nin this documentation page. But, this is callable when creating URLs manually or when using the Looker SDK.\n\nHere is an example inline query URL:\n\n```\nhttps://looker.mycompany.com:19999/api/3.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\n```\n\nWhen invoking this endpoint with the Ruby SDK, pass the query parameter parts as a hash. The hash to match the above would look like:\n\n```ruby\nquery_params =\n{\n :fields => \"category.name,inventory_items.days_in_inventory_tier,products.count\",\n :\"f[category.name]\" => \"socks\",\n :sorts => \"products.count desc 0\",\n :limit => \"500\",\n :query_timezone => \"America/Los_Angeles\"\n}\nresponse = ruby_sdk.run_url_encoded_query('thelook','inventory_items','json', query_params)\n\n```\n\nAgain, it is generally easier to use the variant of this method that passes the full query in the POST body.\nThis method is available for cases where other alternatives won't fit the need.\n\nSupported formats:\n\n| result_format | Description\n| :-----------: | :--- |\n| json | Plain json\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| md | Simple markdown\n| xlsx | MS Excel spreadsheet\n| sql | Returns the generated SQL rather than running the query\n| png | A PNG image of the visualization of the query\n| jpg | A JPG image of the visualization of the query\n\n\n","parameters":[{"name":"model_name","in":"path","description":"Model name","required":true,"schema":{"type":"string"}},{"name":"view_name","in":"path","description":"View name","required":true,"schema":{"type":"string"}},{"name":"result_format","in":"path","description":"Format of result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Query","content":{"text":{"schema":{"type":"string"}},"application/json":{"schema":{"type":"string"}},"image/png":{"schema":{"type":"string"}},"image/jpeg":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"text":{"schema":{"$ref":"#/components/schemas/Error"}},"application/json":{"schema":{"$ref":"#/components/schemas/Error"}},"image/png":{"schema":{"$ref":"#/components/schemas/Error"}},"image/jpeg":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"text":{"schema":{"$ref":"#/components/schemas/Error"}},"application/json":{"schema":{"$ref":"#/components/schemas/Error"}},"image/png":{"schema":{"$ref":"#/components/schemas/Error"}},"image/jpeg":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"text":{"schema":{"$ref":"#/components/schemas/ValidationError"}},"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}},"image/png":{"schema":{"$ref":"#/components/schemas/ValidationError"}},"image/jpeg":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"text":{"schema":{"$ref":"#/components/schemas/Error"}},"application/json":{"schema":{"$ref":"#/components/schemas/Error"}},"image/png":{"schema":{"$ref":"#/components/schemas/Error"}},"image/jpeg":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"db_query"}},"/login":{"post":{"tags":["ApiAuth"],"operationId":"login","summary":"Login","description":"### Present client credentials to obtain an authorization token\n\nLooker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://looker.com/docs/r/api/outh2_resource_owner_pc) pattern.\nThe client credentials required for this login must be obtained by creating an API3 key on a user account\nin the Looker Admin console. The API3 key consists of a public `client_id` and a private `client_secret`.\n\nThe access token returned by `login` must be used in the HTTP Authorization header of subsequent\nAPI requests, like this:\n```\nAuthorization: token 4QDkCyCtZzYgj4C2p2cj3csJH7zqS5RzKs2kTnG4\n```\nReplace \"4QDkCy...\" with the `access_token` value returned by `login`.\nThe word `token` is a string literal and must be included exactly as shown.\n\nThis 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.\n\nExample of passing credentials in the HTTP request body:\n````\nPOST HTTP /login\nContent-Type: application/x-www-form-urlencoded\n\nclient_id=CGc9B7v7J48dQSJvxxx&client_secret=nNVS9cSS3xNpSC9JdsBvvvvv\n````\n\n### Best Practice:\nAlways 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.\n\nFor more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API3](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md).\n","parameters":[{"name":"client_id","in":"query","description":"client_id part of API3 Key.","required":false,"schema":{"type":"string"}},{"name":"client_secret","in":"query","description":"client_secret part of API3 Key.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Access token with metadata.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessToken"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"none"}},"/login/{user_id}":{"post":{"tags":["ApiAuth"],"operationId":"login_user","summary":"Login user","description":"### Create an access token that runs as a given user.\n\nThis can only be called by an authenticated admin user. It allows that admin to generate a new\nauthentication token for the user with the given user id. That token can then be used for subsequent\nAPI calls - which are then performed *as* that target user.\n\nThe target user does *not* need to have a pre-existing API client_id/client_secret pair. And, no such\ncredentials are created by this call.\n\nThis allows for building systems where api user authentication for an arbitrary number of users is done\noutside of Looker and funneled through a single 'service account' with admin permissions. Note that a\nnew access token is generated on each call. If target users are going to be making numerous API\ncalls in a short period then it is wise to cache this authentication token rather than call this before\neach of those API calls.\n\nSee 'login' for more detail on the access token and how to use it.\n","parameters":[{"name":"user_id","in":"path","description":"Id of user.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"associative","in":"query","description":"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.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Access token with metadata.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessToken"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"none"}},"/logout":{"delete":{"tags":["ApiAuth"],"operationId":"logout","summary":"Logout","description":"### Logout of the API and invalidate the current access token.\n","responses":{"204":{"description":"Logged out successfully.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"none"}},"/cloud_storage":{"get":{"tags":["Config"],"operationId":"cloud_storage_configuration","summary":"Get Cloud Storage","description":"Get the current Cloud Storage Configuration.\n","responses":{"200":{"description":"Current Cloud Storage Configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackupConfiguration"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["Config"],"operationId":"update_cloud_storage_configuration","summary":"Update Cloud Storage","description":"Update the current Cloud Storage Configuration.\n","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackupConfiguration"}}},"description":"Options for Cloud Storage Configuration","required":true},"responses":{"200":{"description":"New state for specified model set.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackupConfiguration"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/color_collections":{"get":{"tags":["ColorCollection"],"operationId":"all_color_collections","summary":"Get all Color Collections","description":"### Get an array of all existing Color Collections\nGet a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n\nGet all **standard** color collections with [ColorCollection](#!/ColorCollection/color_collections_standard)\n\nGet all **custom** color collections with [ColorCollection](#!/ColorCollection/color_collections_custom)\n\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"ColorCollections","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ColorCollection"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"post":{"tags":["ColorCollection"],"operationId":"create_color_collection","summary":"Create ColorCollection","description":"### Create a custom color collection with the specified information\n\nCreates a new custom color collection object, returning the details, including the created id.\n\n**Update** an existing color collection with [Update Color Collection](#!/ColorCollection/update_color_collection)\n\n**Permanently delete** an existing custom color collection with [Delete Color Collection](#!/ColorCollection/delete_color_collection)\n\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n","requestBody":{"$ref":"#/components/requestBodies/ColorCollection"},"responses":{"200":{"description":"ColorCollection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ColorCollection"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Permission Denied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/color_collections/custom":{"get":{"tags":["ColorCollection"],"operationId":"color_collections_custom","summary":"Get all Custom Color Collections","description":"### Get an array of all existing **Custom** Color Collections\nGet a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n\nGet all **standard** color collections with [ColorCollection](#!/ColorCollection/color_collections_standard)\n\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"ColorCollections","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ColorCollection"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/color_collections/standard":{"get":{"tags":["ColorCollection"],"operationId":"color_collections_standard","summary":"Get all Standard Color Collections","description":"### Get an array of all existing **Standard** Color Collections\nGet a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n\nGet all **custom** color collections with [ColorCollection](#!/ColorCollection/color_collections_custom)\n\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"ColorCollections","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ColorCollection"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/color_collections/default":{"put":{"tags":["ColorCollection"],"operationId":"set_default_color_collection","summary":"Set Default Color Collection","description":"### Set the global default Color Collection by ID\n\nReturns the new specified default Color Collection object.\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n","parameters":[{"name":"collection_id","in":"query","description":"ID of color collection to set as default","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"ColorCollection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ColorCollection"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"get":{"tags":["ColorCollection"],"operationId":"default_color_collection","summary":"Get Default Color Collection","description":"### Get the default color collection\n\nUse this to retrieve the default Color Collection.\n\nSet the default color collection with [ColorCollection](#!/ColorCollection/set_default_color_collection)\n","responses":{"200":{"description":"ColorCollection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ColorCollection"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/color_collections/{collection_id}":{"get":{"tags":["ColorCollection"],"operationId":"color_collection","summary":"Get Color Collection by ID","description":"### Get a Color Collection by ID\n\nUse this to retrieve a specific Color Collection.\nGet a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n\nGet all **standard** color collections with [ColorCollection](#!/ColorCollection/color_collections_standard)\n\nGet all **custom** color collections with [ColorCollection](#!/ColorCollection/color_collections_custom)\n\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n","parameters":[{"name":"collection_id","in":"path","description":"Id of Color Collection","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"ColorCollection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ColorCollection"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["ColorCollection"],"operationId":"update_color_collection","summary":"Update Custom Color collection","description":"### Update a custom color collection by id.\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n","parameters":[{"name":"collection_id","in":"path","description":"Id of Custom Color Collection","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/ColorCollection"},"responses":{"200":{"description":"ColorCollection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ColorCollection"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Permission Denied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"delete":{"tags":["ColorCollection"],"operationId":"delete_color_collection","summary":"Delete ColorCollection","description":"### Delete a custom color collection by id\n\nThis operation permanently deletes the identified **Custom** color collection.\n\n**Standard** color collections cannot be deleted\n\nBecause multiple color collections can have the same label, they must be deleted by ID, not name.\n**Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n\n","parameters":[{"name":"collection_id","in":"path","description":"Id of Color Collection","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Permission Denied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/commands":{"post":{"tags":["Command"],"operationId":"create_command","summary":"Create a custom command","description":"### Create a new command.\n# Required fields: [:name, :linked_content_id, :linked_content_type]\n# `linked_content_type` must be one of [\"dashboard\", \"lookml_dashboard\"]\n#\n","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Command"}}},"description":"Writable command parameters","required":true},"responses":{"200":{"description":"The command is saved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Command"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"get":{"tags":["Command"],"operationId":"get_all_commands","summary":"Get All Commands","description":"### Get All Commands.\n","parameters":[{"name":"content_id","in":"query","description":"Id of the associated content. This must be accompanied with content_type.","required":false,"schema":{"type":"string"}},{"name":"content_type","in":"query","description":"Type of the associated content. This must be accompanied with content_id.","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Number of results to return.","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Commands","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Command"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"Resource Can't Be Modified","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/commands/{command_id}":{"patch":{"tags":["Command"],"operationId":"update_command","summary":"Update a custom command","description":"### Update an existing custom command.\n# Optional fields: ['name', 'description']\n#\n","parameters":[{"name":"command_id","in":"path","description":"ID of a command","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCommand"}}},"description":"Re-writable command parameters","required":true},"responses":{"200":{"description":"The command is updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Command"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"delete":{"tags":["Command"],"operationId":"delete_command","summary":"Delete a custom command","description":"### Delete an existing custom command.\n","parameters":[{"name":"command_id","in":"path","description":"ID of a command","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"The command is deleted."},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"Resource Can't Be Modified","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/content_favorite/search":{"get":{"tags":["Content"],"operationId":"search_content_favorites","summary":"Search Favorite Contents","description":"### Search Favorite Content\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n","parameters":[{"name":"id","in":"query","description":"Match content favorite id(s)","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"user_id","in":"query","description":"Match user id(s).To create a list of multiple ids, use commas as separators","required":false,"schema":{"type":"string"}},{"name":"content_metadata_id","in":"query","description":"Match content metadata id(s).To create a list of multiple ids, use commas as separators","required":false,"schema":{"type":"string"}},{"name":"dashboard_id","in":"query","description":"Match dashboard id(s).To create a list of multiple ids, use commas as separators","required":false,"schema":{"type":"string"}},{"name":"look_id","in":"query","description":"Match look id(s).To create a list of multiple ids, use commas as separators","required":false,"schema":{"type":"string"}},{"name":"board_id","in":"query","description":"Match board id(s).To create a list of multiple ids, use commas as separators","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Number of results to return. (used with offset)","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"offset","in":"query","description":"Number of results to skip before returning any. (used with limit)","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"sorts","in":"query","description":"Fields to sort by.","required":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"filter_or","in":"query","description":"Combine given search criteria in a boolean OR expression","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Favorite Content","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ContentFavorite"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/content_favorite/{content_favorite_id}":{"get":{"tags":["Content"],"operationId":"content_favorite","summary":"Get Favorite Content","description":"### Get favorite content by its id","parameters":[{"name":"content_favorite_id","in":"path","description":"Id of favorite content","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Favorite Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentFavorite"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"delete":{"tags":["Content"],"operationId":"delete_content_favorite","summary":"Delete Favorite Content","description":"### Delete favorite content","parameters":[{"name":"content_favorite_id","in":"path","description":"Id of favorite content","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/content_favorite":{"post":{"tags":["Content"],"operationId":"create_content_favorite","summary":"Create Favorite Content","description":"### Create favorite content","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentFavorite"}}},"description":"Favorite Content","required":true},"responses":{"200":{"description":"Favorite Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentFavorite"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/content_metadata":{"get":{"tags":["Content"],"operationId":"all_content_metadatas","summary":"Get All Content Metadatas","description":"### Get information about all content metadata in a space.\n","parameters":[{"name":"parent_id","in":"query","description":"Parent space of content.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Content Metadata","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ContentMeta"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/content_metadata/{content_metadata_id}":{"patch":{"tags":["Content"],"operationId":"update_content_metadata","summary":"Update Content Metadata","description":"### Move a piece of content.\n","parameters":[{"name":"content_metadata_id","in":"path","description":"Id of content metadata","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentMeta"}}},"description":"Content Metadata","required":true},"responses":{"200":{"description":"Content Metadata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentMeta"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"get":{"tags":["Content"],"operationId":"content_metadata","summary":"Get Content Metadata","description":"### Get information about an individual content metadata record.\n","parameters":[{"name":"content_metadata_id","in":"path","description":"Id of content metadata","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Content Metadata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentMeta"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/content_metadata_access":{"post":{"tags":["Content"],"operationId":"create_content_metadata_access","summary":"Create Content Metadata Access","description":"### Create content metadata access.\n","parameters":[{"name":"send_boards_notification_email","in":"query","description":"Optionally sends notification email when granting access to a board.","required":false,"schema":{"type":"boolean"}}],"requestBody":{"$ref":"#/components/requestBodies/ContentMetaGroupUser"},"responses":{"200":{"description":"Content Metadata Access","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentMetaGroupUser"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query","x-looker-rate-limited":true},"get":{"tags":["Content"],"operationId":"all_content_metadata_accesses","summary":"Get All Content Metadata Accesses","description":"### All content metadata access records for a content metadata item.\n","parameters":[{"name":"content_metadata_id","in":"query","description":"Id of content metadata","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Content Metadata Access","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ContentMetaGroupUser"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/content_metadata_access/{content_metadata_access_id}":{"put":{"tags":["Content"],"operationId":"update_content_metadata_access","summary":"Update Content Metadata Access","description":"### Update type of access for content metadata.\n","parameters":[{"name":"content_metadata_access_id","in":"path","description":"Id of content metadata access","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/ContentMetaGroupUser"},"responses":{"200":{"description":"Content Metadata Access","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentMetaGroupUser"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"delete":{"tags":["Content"],"operationId":"delete_content_metadata_access","summary":"Delete Content Metadata Access","description":"### Remove content metadata access.\n","parameters":[{"name":"content_metadata_access_id","in":"path","description":"Id of content metadata access","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/content_thumbnail/{type}/{resource_id}":{"get":{"tags":["Content"],"operationId":"content_thumbnail","summary":"Get Content Thumbnail","description":"### Get an image representing the contents of a dashboard or look.\n\nThe returned thumbnail is an abstract representation of the contents of a dashbord or look and does not\nreflect the actual data displayed in the respective visualizations.\n","parameters":[{"name":"type","in":"path","description":"Either dashboard or look","required":true,"schema":{"type":"string"}},{"name":"resource_id","in":"path","description":"ID of the dashboard or look to render","required":true,"schema":{"type":"string"}},{"name":"reload","in":"query","description":"Whether or not to refresh the rendered image with the latest content","required":false,"schema":{"type":"string"}},{"name":"format","in":"query","description":"A value of png produces a thumbnail in PNG format instead of SVG (default)","required":false,"schema":{"type":"string"}},{"name":"width","in":"query","description":"The width of the image if format is supplied","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"height","in":"query","description":"The height of the image if format is supplied","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Content thumbnail","content":{"image/svg+xml":{"schema":{"type":"string"}},"image/png":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"image/svg+xml":{"schema":{"$ref":"#/components/schemas/Error"}},"image/png":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"image/svg+xml":{"schema":{"$ref":"#/components/schemas/Error"}},"image/png":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query"}},"/content_validation":{"get":{"tags":["Content"],"operationId":"content_validation","summary":"Validate Content","description":"### Validate All Content\n\nPerforms validation of all looks and dashboards\nReturns a list of errors found as well as metadata about the content validation run.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Content validation results","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentValidation"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/content_view/search":{"get":{"tags":["Content"],"operationId":"search_content_views","summary":"Search Content Views","description":"### Search Content Views\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n","parameters":[{"name":"view_count","in":"query","description":"Match view count","required":false,"schema":{"type":"string"}},{"name":"group_id","in":"query","description":"Match Group Id","required":false,"schema":{"type":"string"}},{"name":"look_id","in":"query","description":"Match look_id","required":false,"schema":{"type":"string"}},{"name":"dashboard_id","in":"query","description":"Match dashboard_id","required":false,"schema":{"type":"string"}},{"name":"content_metadata_id","in":"query","description":"Match content metadata id","required":false,"schema":{"type":"string"}},{"name":"start_of_week_date","in":"query","description":"Match start of week date (format is \"YYYY-MM-DD\")","required":false,"schema":{"type":"string"}},{"name":"all_time","in":"query","description":"True if only all time view records should be returned","required":false,"schema":{"type":"boolean"}},{"name":"user_id","in":"query","description":"Match user id","required":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Number of results to return. Use with `offset` to manage pagination of results","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"offset","in":"query","description":"Number of results to skip before returning data","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"sorts","in":"query","description":"Fields to sort by","required":false,"schema":{"type":"string"}},{"name":"filter_or","in":"query","description":"Combine given search criteria in a boolean OR expression","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Content View","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ContentView"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/custom_welcome_email":{"get":{"tags":["Config"],"operationId":"custom_welcome_email","summary":"Get Custom Welcome Email","description":"### Get the current status and content of custom welcome emails\n","responses":{"200":{"description":"Custom Welcome Email","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomWelcomeEmail"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["Config"],"operationId":"update_custom_welcome_email","summary":"Update Custom Welcome Email Content","description":"Update custom welcome email setting and values. Optionally send a test email with the new content to the currently logged in user.\n","parameters":[{"name":"send_test_welcome_email","in":"query","description":"If true a test email with the content from the request will be sent to the current user after saving","required":false,"schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomWelcomeEmail"}}},"description":"Custom Welcome Email setting and value to save","required":true},"responses":{"200":{"description":"Custom Welcome Email","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomWelcomeEmail"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/custom_welcome_email_test":{"put":{"tags":["Config"],"operationId":"update_custom_welcome_email_test","summary":"Send a test welcome email to the currently logged in user with the supplied content ","description":"Requests to this endpoint will send a welcome email with the custom content provided in the body to the currently logged in user.\n","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WelcomeEmailTest"}}},"description":"Subject, header, and Body of the email to be sent.","required":true},"responses":{"200":{"description":"Send Test Welcome Email","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WelcomeEmailTest"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/dashboards":{"get":{"tags":["Dashboard"],"operationId":"all_dashboards","summary":"Get All Dashboards","description":"### Get information about all active dashboards.\n\nReturns an array of **abbreviated dashboard objects**. Dashboards marked as deleted are excluded from this list.\n\nGet the **full details** of a specific dashboard by id with [dashboard()](#!/Dashboard/dashboard)\n\nFind **deleted dashboards** with [search_dashboards()](#!/Dashboard/search_dashboards)\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"dashboards","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DashboardBase"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"post":{"tags":["Dashboard"],"operationId":"create_dashboard","summary":"Create Dashboard","description":"### Create a new dashboard\n\nCreates a new dashboard object and returns the details of the newly created dashboard.\n\n`Title`, `user_id`, and `space_id` are all required fields.\n`Space_id` and `user_id` must contain the id of an existing space or user, respectively.\nA dashboard's `title` must be unique within the space in which it resides.\n\nIf you receive a 422 error response when creating a dashboard, be sure to look at the\nresponse body for information about exactly which fields are missing or contain invalid data.\n\nYou can **update** an existing dashboard with [update_dashboard()](#!/Dashboard/update_dashboard)\n\nYou can **permanently delete** an existing dashboard with [delete_dashboard()](#!/Dashboard/delete_dashboard)\n","requestBody":{"$ref":"#/components/requestBodies/Dashboard"},"responses":{"200":{"description":"Dashboard","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/dashboards/search":{"get":{"tags":["Dashboard"],"operationId":"search_dashboards","summary":"Search Dashboards","description":"### Search Dashboards\n\nReturns an **array of dashboard objects** that match the specified search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\nThe parameters `limit`, and `offset` are recommended for fetching results in page-size chunks.\n\nGet a **single dashboard** by id with [dashboard()](#!/Dashboard/dashboard)\n","parameters":[{"name":"id","in":"query","description":"Match dashboard id.","required":false,"schema":{"type":"string"}},{"name":"slug","in":"query","description":"Match dashboard slug.","required":false,"schema":{"type":"string"}},{"name":"title","in":"query","description":"Match Dashboard title.","required":false,"schema":{"type":"string"}},{"name":"description","in":"query","description":"Match Dashboard description.","required":false,"schema":{"type":"string"}},{"name":"content_favorite_id","in":"query","description":"Filter on a content favorite id.","required":false,"schema":{"type":"string"}},{"name":"folder_id","in":"query","description":"Filter on a particular space.","required":false,"schema":{"type":"string"}},{"name":"deleted","in":"query","description":"Filter on dashboards deleted status.","required":false,"schema":{"type":"string"}},{"name":"user_id","in":"query","description":"Filter on dashboards created by a particular user.","required":false,"schema":{"type":"string"}},{"name":"view_count","in":"query","description":"Filter on a particular value of view_count","required":false,"schema":{"type":"string"}},{"name":"content_metadata_id","in":"query","description":"Filter on a content favorite id.","required":false,"schema":{"type":"string"}},{"name":"curate","in":"query","description":"Exclude items that exist only in personal spaces other than the users","required":false,"schema":{"type":"boolean"}},{"name":"last_viewed_at","in":"query","description":"Select dashboards based on when they were last viewed","required":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Requested page.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"per_page","in":"query","description":"Results per page.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"limit","in":"query","description":"Number of results to return. (used with offset and takes priority over page and per_page)","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"offset","in":"query","description":"Number of results to skip before returning any. (used with limit and takes priority over page and per_page)","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"sorts","in":"query","description":"One or more fields to sort by. Sortable fields: [:title, :user_id, :id, :created_at, :space_id, :folder_id, :description, :view_count, :favorite_count, :slug, :content_favorite_id, :content_metadata_id, :deleted, :deleted_at, :last_viewed_at, :last_accessed_at]","required":false,"schema":{"type":"string"}},{"name":"filter_or","in":"query","description":"Combine given search criteria in a boolean OR expression","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"dashboards","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Dashboard"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/dashboards/{lookml_dashboard_id}/import/{space_id}":{"post":{"tags":["Dashboard"],"operationId":"import_lookml_dashboard","summary":"Import LookML Dashboard","description":"### Import a LookML dashboard to a space as a UDD\nCreates a UDD (a dashboard which exists in the Looker database rather than as a LookML file) from the LookML dashboard\nand places it in the space specified. The created UDD will have a lookml_link_id which links to the original LookML dashboard.\n\nTo give the imported dashboard specify a (e.g. title: \"my title\") in the body of your request, otherwise the imported\ndashboard will have the same title as the original LookML dashboard.\n\nFor this operation to succeed the user must have permission to see the LookML dashboard in question, and have permission to\ncreate content in the space the dashboard is being imported to.\n\n**Sync** a linked UDD with [sync_lookml_dashboard()](#!/Dashboard/sync_lookml_dashboard)\n**Unlink** a linked UDD by setting lookml_link_id to null with [update_dashboard()](#!/Dashboard/update_dashboard)\n","parameters":[{"name":"lookml_dashboard_id","in":"path","description":"Id of LookML dashboard","required":true,"schema":{"type":"string"}},{"name":"space_id","in":"path","description":"Id of space to import the dashboard to","required":true,"schema":{"type":"string"}},{"name":"raw_locale","in":"query","description":"If true, and this dashboard is localized, export it with the raw keys, not localized.","required":false,"schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"}}},"description":"Dashboard"},"responses":{"200":{"description":"Dashboard","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"}}}},"201":{"description":"dashboard","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/dashboards/{lookml_dashboard_id}/sync":{"patch":{"tags":["Dashboard"],"operationId":"sync_lookml_dashboard","summary":"Sync LookML Dashboard","description":"### Update all linked dashboards to match the specified LookML dashboard.\n\nAny UDD (a dashboard which exists in the Looker database rather than as a LookML file) which has a `lookml_link_id`\nproperty value referring to a LookML dashboard's id (model::dashboardname) will be updated so that it matches the current state of the LookML dashboard.\n\nFor this operation to succeed the user must have permission to view the LookML dashboard, and only linked dashboards\nthat the user has permission to update will be synced.\n\nTo **link** or **unlink** a UDD set the `lookml_link_id` property with [update_dashboard()](#!/Dashboard/update_dashboard)\n","parameters":[{"name":"lookml_dashboard_id","in":"path","description":"Id of LookML dashboard, in the form 'model::dashboardname'","required":true,"schema":{"type":"string"}},{"name":"raw_locale","in":"query","description":"If true, and this dashboard is localized, export it with the raw keys, not localized.","required":false,"schema":{"type":"boolean"}}],"requestBody":{"$ref":"#/components/requestBodies/Dashboard"},"responses":{"200":{"description":"Ids of all the dashboards that were updated by this operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int64"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/dashboards/{dashboard_id}":{"delete":{"tags":["Dashboard"],"operationId":"delete_dashboard","summary":"Delete Dashboard","description":"### Delete the dashboard with the specified id\n\nPermanently **deletes** a dashboard. (The dashboard cannot be recovered after this operation.)\n\n\"Soft\" delete or hide a dashboard by setting its `deleted` status to `True` with [update_dashboard()](#!/Dashboard/update_dashboard).\n\nNote: When a dashboard is deleted in the UI, it is soft deleted. Use this API call to permanently remove it, if desired.\n","parameters":[{"name":"dashboard_id","in":"path","description":"Id of dashboard","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"Resource Can't Be Modified","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["Dashboard"],"operationId":"update_dashboard","summary":"Update Dashboard","description":"### Update a dashboard\n\nYou can use this function to change the string and integer properties of\na dashboard. Nested objects such as filters, dashboard elements, or dashboard layout components\ncannot be modified by this function - use the update functions for the respective\nnested object types (like [update_dashboard_filter()](#!/3.1/Dashboard/update_dashboard_filter) to change a filter)\nto modify nested objects referenced by a dashboard.\n\nIf you receive a 422 error response when updating a dashboard, be sure to look at the\nresponse body for information about exactly which fields are missing or contain invalid data.\n","parameters":[{"name":"dashboard_id","in":"path","description":"Id of dashboard","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/Dashboard"},"responses":{"200":{"description":"Dashboard","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"Resource Can't Be Modified","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"get":{"tags":["Dashboard"],"operationId":"dashboard","summary":"Get Dashboard","description":"### Get information about a dashboard\n\nReturns the full details of the identified dashboard object\n\nGet a **summary list** of all active dashboards with [all_dashboards()](#!/Dashboard/all_dashboards)\n\nYou can **Search** for dashboards with [search_dashboards()](#!/Dashboard/search_dashboards)\n","parameters":[{"name":"dashboard_id","in":"path","description":"Id of dashboard","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Dashboard","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/dashboards/aggregate_table_lookml/{dashboard_id}":{"get":{"tags":["Dashboard"],"operationId":"dashboard_aggregate_table_lookml","summary":"Get Aggregate Table LookML for a dashboard","description":"### Get Aggregate Table LookML for Each Query on a Dahboard\n\nReturns a JSON object that contains the dashboard id and Aggregate Table lookml\n\n","parameters":[{"name":"dashboard_id","in":"path","description":"Id of dashboard","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"JSON for Aggregate Table LookML","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardAggregateTableLookml"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/dashboards/lookml/{dashboard_id}":{"get":{"tags":["Dashboard"],"operationId":"dashboard_lookml","summary":"Get lookml of a UDD","description":"### Get lookml of a UDD\n\nReturns a JSON object that contains the dashboard id and the full lookml\n\n","parameters":[{"name":"dashboard_id","in":"path","description":"Id of dashboard","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"json of dashboard","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardLookml"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/dashboards/{dashboard_id}/copy":{"post":{"tags":["Dashboard"],"operationId":"copy_dashboard","summary":"Copy Dashboard","description":"### Copy an existing dashboard\n\nCreates a copy of an existing dashboard, in a specified folder, and returns the copied dashboard.\n\n`dashboard_id` and `folder_id` are required.\n`dashboard_id` and `folder_id` must already exist, and `folder_id` must be different from the current `folder_id` of the dashboard.\n","parameters":[{"name":"dashboard_id","in":"path","description":"Dashboard id to copy.","required":true,"schema":{"type":"string"}},{"name":"folder_id","in":"query","description":"Folder id to copy to.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Dashboard","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"}}}},"201":{"description":"dashboard","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/dashboards/{dashboard_id}/move":{"patch":{"tags":["Dashboard"],"operationId":"move_dashboard","summary":"Move Dashboard","description":"### Move an existing dashboard\n\nMoves a dashboard to a specified folder, and returns the moved dashboard.\n\n`dashboard_id` and `folder_id` are required.\n`dashboard_id` and `folder_id` must already exist, and `folder_id` must be different from the current `folder_id` of the dashboard.\n","parameters":[{"name":"dashboard_id","in":"path","description":"Dashboard id to move.","required":true,"schema":{"type":"string"}},{"name":"folder_id","in":"query","description":"Folder id to move to.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Dashboard","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"}}}},"201":{"description":"dashboard","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/dashboard_elements/search":{"get":{"tags":["Dashboard"],"operationId":"search_dashboard_elements","summary":"Search Dashboard Elements","description":"### Search Dashboard Elements\n\nReturns an **array of DashboardElement objects** that match the specified search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n","parameters":[{"name":"dashboard_id","in":"query","description":"Select elements that refer to a given dashboard id","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"look_id","in":"query","description":"Select elements that refer to a given look id","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"title","in":"query","description":"Match the title of element","required":false,"schema":{"type":"string"}},{"name":"deleted","in":"query","description":"Select soft-deleted dashboard elements","required":false,"schema":{"type":"boolean"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"filter_or","in":"query","description":"Combine given search criteria in a boolean OR expression","required":false,"schema":{"type":"boolean"}},{"name":"sorts","in":"query","description":"Fields to sort by. Sortable fields: [:look_id, :dashboard_id, :deleted, :title]","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Dashboard elements","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DashboardElement"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/dashboard_elements/{dashboard_element_id}":{"get":{"tags":["Dashboard"],"operationId":"dashboard_element","summary":"Get DashboardElement","description":"### Get information about the dashboard element with a specific id.","parameters":[{"name":"dashboard_element_id","in":"path","description":"Id of dashboard element","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"DashboardElement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardElement"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"delete":{"tags":["Dashboard"],"operationId":"delete_dashboard_element","summary":"Delete DashboardElement","description":"### Delete a dashboard element with a specific id.","parameters":[{"name":"dashboard_element_id","in":"path","description":"Id of dashboard element","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["Dashboard"],"operationId":"update_dashboard_element","summary":"Update DashboardElement","description":"### Update the dashboard element with a specific id.","parameters":[{"name":"dashboard_element_id","in":"path","description":"Id of dashboard element","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/DashboardElement"},"responses":{"200":{"description":"DashboardElement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardElement"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/dashboards/{dashboard_id}/dashboard_elements":{"get":{"tags":["Dashboard"],"operationId":"dashboard_dashboard_elements","summary":"Get All DashboardElements","description":"### Get information about all the dashboard elements on a dashboard with a specific id.","parameters":[{"name":"dashboard_id","in":"path","description":"Id of dashboard","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"DashboardElement","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DashboardElement"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/dashboard_elements":{"post":{"tags":["Dashboard"],"operationId":"create_dashboard_element","summary":"Create DashboardElement","description":"### Create a dashboard element on the dashboard with a specific id.","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/DashboardElement"},"responses":{"200":{"description":"DashboardElement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardElement"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/dashboard_filters/{dashboard_filter_id}":{"get":{"tags":["Dashboard"],"operationId":"dashboard_filter","summary":"Get Dashboard Filter","description":"### Get information about the dashboard filters with a specific id.","parameters":[{"name":"dashboard_filter_id","in":"path","description":"Id of dashboard filters","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Dashboard Filter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardFilter"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"delete":{"tags":["Dashboard"],"operationId":"delete_dashboard_filter","summary":"Delete Dashboard Filter","description":"### Delete a dashboard filter with a specific id.","parameters":[{"name":"dashboard_filter_id","in":"path","description":"Id of dashboard filter","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["Dashboard"],"operationId":"update_dashboard_filter","summary":"Update Dashboard Filter","description":"### Update the dashboard filter with a specific id.","parameters":[{"name":"dashboard_filter_id","in":"path","description":"Id of dashboard filter","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardFilter"}}},"description":"Dashboard Filter","required":true},"responses":{"200":{"description":"Dashboard Filter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardFilter"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/dashboards/{dashboard_id}/dashboard_filters":{"get":{"tags":["Dashboard"],"operationId":"dashboard_dashboard_filters","summary":"Get All Dashboard Filters","description":"### Get information about all the dashboard filters on a dashboard with a specific id.","parameters":[{"name":"dashboard_id","in":"path","description":"Id of dashboard","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Dashboard Filter","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DashboardFilter"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/dashboard_filters":{"post":{"tags":["Dashboard"],"operationId":"create_dashboard_filter","summary":"Create Dashboard Filter","description":"### Create a dashboard filter on the dashboard with a specific id.","parameters":[{"name":"fields","in":"query","description":"Requested fields","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDashboardFilter"}}},"description":"Dashboard Filter","required":true},"responses":{"200":{"description":"Dashboard Filter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardFilter"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/dashboard_layout_components/{dashboard_layout_component_id}":{"get":{"tags":["Dashboard"],"operationId":"dashboard_layout_component","summary":"Get DashboardLayoutComponent","description":"### Get information about the dashboard elements with a specific id.","parameters":[{"name":"dashboard_layout_component_id","in":"path","description":"Id of dashboard layout component","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"DashboardLayoutComponent","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardLayoutComponent"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["Dashboard"],"operationId":"update_dashboard_layout_component","summary":"Update DashboardLayoutComponent","description":"### Update the dashboard element with a specific id.","parameters":[{"name":"dashboard_layout_component_id","in":"path","description":"Id of dashboard layout component","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardLayoutComponent"}}},"description":"DashboardLayoutComponent","required":true},"responses":{"200":{"description":"DashboardLayoutComponent","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardLayoutComponent"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/dashboard_layouts/{dashboard_layout_id}/dashboard_layout_components":{"get":{"tags":["Dashboard"],"operationId":"dashboard_layout_dashboard_layout_components","summary":"Get All DashboardLayoutComponents","description":"### Get information about all the dashboard layout components for a dashboard layout with a specific id.","parameters":[{"name":"dashboard_layout_id","in":"path","description":"Id of dashboard layout component","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"DashboardLayoutComponent","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DashboardLayoutComponent"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/dashboard_layouts/{dashboard_layout_id}":{"get":{"tags":["Dashboard"],"operationId":"dashboard_layout","summary":"Get DashboardLayout","description":"### Get information about the dashboard layouts with a specific id.","parameters":[{"name":"dashboard_layout_id","in":"path","description":"Id of dashboard layouts","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"DashboardLayout","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardLayout"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"delete":{"tags":["Dashboard"],"operationId":"delete_dashboard_layout","summary":"Delete DashboardLayout","description":"### Delete a dashboard layout with a specific id.","parameters":[{"name":"dashboard_layout_id","in":"path","description":"Id of dashboard layout","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["Dashboard"],"operationId":"update_dashboard_layout","summary":"Update DashboardLayout","description":"### Update the dashboard layout with a specific id.","parameters":[{"name":"dashboard_layout_id","in":"path","description":"Id of dashboard layout","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/DashboardLayout"},"responses":{"200":{"description":"DashboardLayout","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardLayout"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/dashboards/{dashboard_id}/dashboard_layouts":{"get":{"tags":["Dashboard"],"operationId":"dashboard_dashboard_layouts","summary":"Get All DashboardLayouts","description":"### Get information about all the dashboard elements on a dashboard with a specific id.","parameters":[{"name":"dashboard_id","in":"path","description":"Id of dashboard","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"DashboardLayout","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DashboardLayout"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/dashboard_layouts":{"post":{"tags":["Dashboard"],"operationId":"create_dashboard_layout","summary":"Create DashboardLayout","description":"### Create a dashboard layout on the dashboard with a specific id.","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/DashboardLayout"},"responses":{"200":{"description":"DashboardLayout","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardLayout"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/data_actions":{"post":{"tags":["DataAction"],"operationId":"perform_data_action","summary":"Send a Data Action","description":"Perform a data action. The data action object can be obtained from query results, and used to perform an arbitrary action.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataActionRequest"}}},"description":"Data Action Request","required":true},"responses":{"200":{"description":"Data Action Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataActionResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/data_actions/form":{"post":{"tags":["DataAction"],"operationId":"fetch_remote_data_action_form","summary":"Fetch Remote Data Action Form","description":"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.","requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}},"description":"Data Action Request","required":true},"responses":{"200":{"description":"Data Action Form","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataActionForm"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/datagroups":{"get":{"tags":["Datagroup"],"operationId":"all_datagroups","summary":"Get All Datagroups","description":"### Get information about all datagroups.\n","responses":{"200":{"description":"Datagroup","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Datagroup"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/datagroups/{datagroup_id}":{"get":{"tags":["Datagroup"],"operationId":"datagroup","summary":"Get Datagroup","description":"### Get information about a datagroup.\n","parameters":[{"name":"datagroup_id","in":"path","description":"ID of datagroup.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Datagroup","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Datagroup"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["Datagroup"],"operationId":"update_datagroup","summary":"Update Datagroup","description":"### Update a datagroup using the specified params.\n","parameters":[{"name":"datagroup_id","in":"path","description":"ID of datagroup.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Datagroup"}}},"description":"Datagroup","required":true},"responses":{"200":{"description":"Datagroup","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Datagroup"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/connections":{"get":{"tags":["Connection"],"operationId":"all_connections","summary":"Get All Connections","description":"### Get information about all connections.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Connection","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DBConnection"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"post":{"tags":["Connection"],"operationId":"create_connection","summary":"Create Connection","description":"### Create a connection using the specified configuration.\n","requestBody":{"$ref":"#/components/requestBodies/DBConnection"},"responses":{"200":{"description":"Connection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DBConnection"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/connections/{connection_name}":{"get":{"tags":["Connection"],"operationId":"connection","summary":"Get Connection","description":"### Get information about a connection.\n","parameters":[{"name":"connection_name","in":"path","description":"Name of connection","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Connection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DBConnection"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"patch":{"tags":["Connection"],"operationId":"update_connection","summary":"Update Connection","description":"### Update a connection using the specified configuration.\n","parameters":[{"name":"connection_name","in":"path","description":"Name of connection","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/DBConnection"},"responses":{"200":{"description":"Connection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DBConnection"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"delete":{"tags":["Connection"],"operationId":"delete_connection","summary":"Delete Connection","description":"### Delete a connection.\n","parameters":[{"name":"connection_name","in":"path","description":"Name of connection","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/connections/{connection_name}/connection_override/{override_context}":{"delete":{"tags":["Connection"],"operationId":"delete_connection_override","summary":"Delete Connection Override","description":"### Delete a connection override.\n","parameters":[{"name":"connection_name","in":"path","description":"Name of connection","required":true,"schema":{"type":"string"}},{"name":"override_context","in":"path","description":"Context of connection override","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/connections/{connection_name}/test":{"put":{"tags":["Connection"],"operationId":"test_connection","summary":"Test Connection","description":"### Test an existing connection.\n\nNote that a connection's 'dialect' property has a 'connection_tests' property that lists the\nspecific types of tests that the connection supports.\n\nThis API is rate limited.\n\nUnsupported tests in the request will be ignored.\n","parameters":[{"name":"connection_name","in":"path","description":"Name of connection","required":true,"schema":{"type":"string"}},{"name":"tests","in":"query","description":"Array of names of tests to run","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Test results","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DBConnectionTestResult"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query","x-looker-rate-limited":true}},"/connections/test":{"put":{"tags":["Connection"],"operationId":"test_connection_config","summary":"Test Connection Configuration","description":"### Test a connection configuration.\n\nNote that a connection's 'dialect' property has a 'connection_tests' property that lists the\nspecific types of tests that the connection supports.\n\nThis API is rate limited.\n\nUnsupported tests in the request will be ignored.\n","parameters":[{"name":"tests","in":"query","description":"Array of names of tests to run","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"requestBody":{"$ref":"#/components/requestBodies/DBConnection"},"responses":{"200":{"description":"Test results","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DBConnectionTestResult"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query","x-looker-rate-limited":true}},"/projects/{project_id}/manifest/lock_all":{"post":{"tags":["Project"],"operationId":"lock_all","summary":"Lock All","description":" ### Generate Lockfile for All LookML Dependencies\n\n Git must have been configured, must be in dev mode and deploy permission required\n\n Install_all is a two step process\n 1. For each remote_dependency in a project the dependency manager will resolve any ambiguous ref.\n 2. The project will then write out a lockfile including each remote_dependency with its resolved ref.\n\n","parameters":[{"name":"project_id","in":"path","description":"Id of project","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Project Dependency Manager","content":{"application/json":{"schema":{"type":"string"}}}},"204":{"description":"Returns 204 if dependencies successfully installed, otherwise 400 with an error message"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/derived_table/graph/model/{model}":{"get":{"tags":["LookmlModel"],"operationId":"graph_derived_tables_for_model","summary":"Get Derived Table","description":"### Discover information about derived tables\n","parameters":[{"name":"model","in":"path","description":"The name of the Lookml model.","required":true,"schema":{"type":"string"}},{"name":"format","in":"query","description":"The format of the graph. Valid values are [dot]. Default is `dot`","required":false,"schema":{"type":"string"}},{"name":"color","in":"query","description":"Color denoting the build status of the graph. Grey = not built, green = built, yellow = building, red = error.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Derived Table","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DependencyGraph"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/dialect_info":{"get":{"tags":["Connection"],"operationId":"all_dialect_infos","summary":"Get All Dialect Infos","description":"### Get information about all dialects.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Dialect Info","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DialectInfo"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/digest_emails_enabled":{"get":{"tags":["Config"],"operationId":"digest_emails_enabled","summary":"Get Digest_emails","description":"### Retrieve the value for whether or not digest emails is enabled\n","responses":{"200":{"description":"Digest_emails","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DigestEmails"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["Config"],"operationId":"update_digest_emails_enabled","summary":"Update Digest_emails","description":"### Update the setting for enabling/disabling digest emails\n","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DigestEmails"}}},"description":"Digest_emails","required":true},"responses":{"200":{"description":"Digest_emails","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DigestEmails"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/digest_email_send":{"post":{"tags":["Config"],"operationId":"create_digest_email_send","summary":"Deliver digest email contents","description":"### Trigger the generation of digest email records and send them to Looker's internal system. This does not send\nany actual emails, it generates records containing content which may be of interest for users who have become inactive.\nEmails will be sent at a later time from Looker's internal system if the Digest Emails feature is enabled in settings.","responses":{"200":{"description":"Status of generating and sending the data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DigestEmailSend"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"none","x-looker-rate-limited":true}},"/embed/sso_url":{"post":{"tags":["Auth"],"operationId":"create_sso_embed_url","summary":"Create SSO Embed Url","description":"### Create SSO Embed URL\n\nCreates an SSO embed URL and cryptographically signs it with an embed secret.\nThis signed URL can then be used to instantiate a Looker embed session in a PBL web application.\nDo not make any modifications to this URL - any change may invalidate the signature and\ncause the URL to fail to load a Looker embed session.\n\nA signed SSO embed URL can only be used once. After it has been used to request a page from the\nLooker server, the URL is invalid. Future requests using the same URL will fail. This is to prevent\n'replay attacks'.\n\nThe `target_url` property must be a complete URL of a Looker UI page - scheme, hostname, path and query params.\nTo 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`.\nThe best way to obtain this target_url is to navigate to the desired Looker page in your web browser,\ncopy the URL shown in the browser address bar and paste it into the `target_url` property as a quoted string value in this API request.\n\nPermissions for the embed user are defined by the groups in which the embed user is a member (group_ids property)\nand the lists of models and permissions assigned to the embed user.\nAt a minimum, you must provide values for either the group_ids property, or both the models and permissions properties.\nThese properties are additive; an embed user can be a member of certain groups AND be granted access to models and permissions.\n\nThe embed user's access is the union of permissions granted by the group_ids, models, and permissions properties.\n\nThis function does not strictly require all group_ids, user attribute names, or model names to exist at the moment the\nSSO embed url is created. Unknown group_id, user attribute names or model names will be passed through to the output URL.\nTo diagnose potential problems with an SSO embed URL, you can copy the signed URL into the Embed URI Validator text box in `/admin/embed`.\n\nThe `secret_id` parameter is optional. If specified, its value must be the id of an active secret defined in the Looker instance.\nif not specified, the URL will be signed using the newest active secret defined in the Looker instance.\n\n#### Security Note\nProtect this signed URL as you would an access token or password credentials - do not write\nit to disk, do not pass it to a third party, and only pass it through a secure HTTPS\nencrypted transport.\n","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmbedSsoParams"}}},"description":"SSO parameters","required":true},"responses":{"200":{"description":"Signed SSO URL","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmbedUrlResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"none"}},"/embed/token_url/me":{"post":{"tags":["Auth"],"operationId":"create_embed_url_as_me","summary":"Create Embed URL","description":"### Create an Embed URL\n\nCreates an embed URL that runs as the Looker user making this API call. (\"Embed as me\")\nThis embed URL can then be used to instantiate a Looker embed session in a\n\"Powered by Looker\" (PBL) web application.\n\nThis is similar to Private Embedding (https://docs.looker.com/r/admin/embed/private-embed). Instead of\nof logging into the Web UI to authenticate, the user has already authenticated against the API to be able to\nmake this call. However, unlike Private Embed where the user has access to any other part of the Looker UI,\nthe embed web session created by requesting the EmbedUrlResponse.url in a browser only has access to\ncontent visible under the `/embed` context.\n\nAn embed URL can only be used once, and must be used within 5 minutes of being created. After it\nhas been used to request a page from the Looker server, the URL is invalid. Future requests using\nthe same URL will fail. This is to prevent 'replay attacks'.\n\nThe `target_url` property must be a complete URL of a Looker Embedded UI page - scheme, hostname, path starting with \"/embed\" and query params.\nTo 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`.\nThe best way to obtain this target_url is to navigate to the desired Looker page in your web browser,\ncopy 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.\n\n#### Security Note\nProtect this embed URL as you would an access token or password credentials - do not write\nit to disk, do not pass it to a third party, and only pass it through a secure HTTPS\nencrypted transport.\n","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmbedParams"}}},"description":"Embed parameters","required":true},"responses":{"200":{"description":"Embed URL","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmbedUrlResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"none"}},"/external_oauth_applications":{"get":{"tags":["Connection"],"operationId":"all_external_oauth_applications","summary":"Get All External OAuth Application. This is an OAuth Application which Looker uses to access external systems.s","description":"### Get all External OAuth Applications.\n","parameters":[{"name":"name","in":"query","description":"Application name","required":false,"schema":{"type":"string"}},{"name":"client_id","in":"query","description":"Application Client ID","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"External OAuth Application. This is an OAuth Application which Looker uses to access external systems.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ExternalOauthApplication"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"post":{"tags":["Connection"],"operationId":"create_external_oauth_application","summary":"Create External OAuth Application. This is an OAuth Application which Looker uses to access external systems.","description":"### Create an OAuth Application using the specified configuration.\n","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalOauthApplication"}}},"description":"External OAuth Application. This is an OAuth Application which Looker uses to access external systems.","required":true},"responses":{"200":{"description":"External OAuth Application. This is an OAuth Application which Looker uses to access external systems.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalOauthApplication"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/projects/{project_id}/git_branches":{"get":{"tags":["Project"],"operationId":"all_git_branches","summary":"Get All Git Branches","description":"### Get All Git Branches\n\nReturns a list of git branches in the project repository\n","parameters":[{"name":"project_id","in":"path","description":"Project Id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Git Branch","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GitBranch"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/projects/{project_id}/git_branch":{"get":{"tags":["Project"],"operationId":"git_branch","summary":"Get Active Git Branch","description":"### Get the Current Git Branch\n\nReturns the git branch currently checked out in the given project repository\n","parameters":[{"name":"project_id","in":"path","description":"Project Id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Git Branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitBranch"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"post":{"tags":["Project"],"operationId":"create_git_branch","summary":"Checkout New Git Branch","description":"### Create and Checkout a Git Branch\n\nCreates and checks out a new branch in the given project repository\nOnly allowed in development mode\n - Call `update_session` to select the 'dev' workspace.\n\nOptionally specify a branch name, tag name or commit SHA as the start point in the ref field.\n If no ref is specified, HEAD of the current branch will be used as the start point for the new branch.\n\n","parameters":[{"name":"project_id","in":"path","description":"Project Id","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/GitBranch"},"responses":{"200":{"description":"Git Branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitBranch"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"put":{"tags":["Project"],"operationId":"update_git_branch","summary":"Update Project Git Branch","description":"### Checkout and/or reset --hard an existing Git Branch\n\nOnly allowed in development mode\n - Call `update_session` to select the 'dev' workspace.\n\nCheckout an existing branch if name field is different from the name of the currently checked out branch.\n\nOptionally specify a branch name, tag name or commit SHA to which the branch should be reset.\n **DANGER** hard reset will be force pushed to the remote. Unsaved changes and commits may be permanently lost.\n\n","parameters":[{"name":"project_id","in":"path","description":"Project Id","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/GitBranch"},"responses":{"200":{"description":"Git Branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitBranch"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/projects/{project_id}/git_branch/{branch_name}":{"get":{"tags":["Project"],"operationId":"find_git_branch","summary":"Find a Git Branch","description":"### Get the specified Git Branch\n\nReturns the git branch specified in branch_name path param if it exists in the given project repository\n","parameters":[{"name":"project_id","in":"path","description":"Project Id","required":true,"schema":{"type":"string"}},{"name":"branch_name","in":"path","description":"Branch Name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Git Branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitBranch"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"delete":{"tags":["Project"],"operationId":"delete_git_branch","summary":"Delete a Git Branch","description":"### Delete the specified Git Branch\n\nDelete git branch specified in branch_name path param from local and remote of specified project repository\n","parameters":[{"name":"project_id","in":"path","description":"Project Id","required":true,"schema":{"type":"string"}},{"name":"branch_name","in":"path","description":"Branch Name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/groups":{"get":{"tags":["Group"],"operationId":"all_groups","summary":"Get All Groups","description":"### Get information about all groups.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Requested page.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"per_page","in":"query","description":"Results per page.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"sorts","in":"query","description":"Fields to sort by.","required":false,"schema":{"type":"string"}},{"name":"ids","in":"query","description":"Optional of ids to get specific groups.","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"content_metadata_id","in":"query","description":"Id of content metadata to which groups must have access.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"can_add_to_content_metadata","in":"query","description":"Select only groups that either can/cannot be given access to content.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Group","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Group"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"post":{"tags":["Group"],"operationId":"create_group","summary":"Create Group","description":"### Creates a new group (admin only).\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/Group"},"responses":{"200":{"description":"Group","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Group"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/groups/search":{"get":{"tags":["Group"],"operationId":"search_groups","summary":"Search Groups","description":"### Search groups\n\nReturns all group records that match the given search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Number of results to return (used with `offset`).","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"offset","in":"query","description":"Number of results to skip before returning any (used with `limit`).","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"sorts","in":"query","description":"Fields to sort by.","required":false,"schema":{"type":"string"}},{"name":"filter_or","in":"query","description":"Combine given search criteria in a boolean OR expression","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"query","description":"Match group id.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"name","in":"query","description":"Match group name.","required":false,"schema":{"type":"string"}},{"name":"external_group_id","in":"query","description":"Match group external_group_id.","required":false,"schema":{"type":"string"}},{"name":"externally_managed","in":"query","description":"Match group externally_managed.","required":false,"schema":{"type":"boolean"}},{"name":"externally_orphaned","in":"query","description":"Match group externally_orphaned.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Group","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Group"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/groups/search/with_roles":{"get":{"tags":["Group"],"operationId":"search_groups_with_roles","summary":"Search Groups with Roles","description":"### Search groups include roles\n\nReturns all group records that match the given search criteria, and attaches any associated roles.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Number of results to return (used with `offset`).","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"offset","in":"query","description":"Number of results to skip before returning any (used with `limit`).","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"sorts","in":"query","description":"Fields to sort by.","required":false,"schema":{"type":"string"}},{"name":"filter_or","in":"query","description":"Combine given search criteria in a boolean OR expression","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"query","description":"Match group id.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"name","in":"query","description":"Match group name.","required":false,"schema":{"type":"string"}},{"name":"external_group_id","in":"query","description":"Match group external_group_id.","required":false,"schema":{"type":"string"}},{"name":"externally_managed","in":"query","description":"Match group externally_managed.","required":false,"schema":{"type":"boolean"}},{"name":"externally_orphaned","in":"query","description":"Match group externally_orphaned.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Group","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GroupSearch"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/groups/search/with_hierarchy":{"get":{"tags":["Group"],"operationId":"search_groups_with_hierarchy","summary":"Search Groups with Hierarchy","description":"### Search groups include hierarchy\n\nReturns all group records that match the given search criteria, and attaches\nassociated role_ids and parent group_ids.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Number of results to return (used with `offset`).","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"offset","in":"query","description":"Number of results to skip before returning any (used with `limit`).","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"sorts","in":"query","description":"Fields to sort by.","required":false,"schema":{"type":"string"}},{"name":"filter_or","in":"query","description":"Combine given search criteria in a boolean OR expression","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"query","description":"Match group id.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"name","in":"query","description":"Match group name.","required":false,"schema":{"type":"string"}},{"name":"external_group_id","in":"query","description":"Match group external_group_id.","required":false,"schema":{"type":"string"}},{"name":"externally_managed","in":"query","description":"Match group externally_managed.","required":false,"schema":{"type":"boolean"}},{"name":"externally_orphaned","in":"query","description":"Match group externally_orphaned.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Group","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GroupHierarchy"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/groups/{group_id}":{"get":{"tags":["Group"],"operationId":"group","summary":"Get Group","description":"### Get information about a group.\n","parameters":[{"name":"group_id","in":"path","description":"Id of group","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Group","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Group"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"patch":{"tags":["Group"],"operationId":"update_group","summary":"Update Group","description":"### Updates the a group (admin only).","parameters":[{"name":"group_id","in":"path","description":"Id of group","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/Group"},"responses":{"200":{"description":"Group","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Group"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"delete":{"tags":["Group"],"operationId":"delete_group","summary":"Delete Group","description":"### Deletes a group (admin only).\n","parameters":[{"name":"group_id","in":"path","description":"Id of group","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Permission Denied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/groups/{group_id}/groups":{"get":{"tags":["Group"],"operationId":"all_group_groups","summary":"Get All Groups in Group","description":"### Get information about all the groups in a group\n","parameters":[{"name":"group_id","in":"path","description":"Id of group","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"All groups in group.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Group"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"post":{"tags":["Group"],"operationId":"add_group_group","summary":"Add a Group to Group","description":"### Adds a new group to a group.\n","parameters":[{"name":"group_id","in":"path","description":"Id of group","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupIdForGroupInclusion"}}},"description":"Group id to add","required":true},"responses":{"200":{"description":"Added group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Group"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Permission Denied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/groups/{group_id}/users":{"get":{"tags":["Group"],"operationId":"all_group_users","summary":"Get All Users in Group","description":"### Get information about all the users directly included in a group.\n","parameters":[{"name":"group_id","in":"path","description":"Id of group","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Requested page.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"per_page","in":"query","description":"Results per page.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"sorts","in":"query","description":"Fields to sort by.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"All users in group.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"post":{"tags":["Group"],"operationId":"add_group_user","summary":"Add a User to Group","description":"### Adds a new user to a group.\n","parameters":[{"name":"group_id","in":"path","description":"Id of group","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupIdForGroupUserInclusion"}}},"description":"User id to add","required":true},"responses":{"200":{"description":"Added user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Permission Denied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/groups/{group_id}/users/{user_id}":{"delete":{"tags":["Group"],"operationId":"delete_group_user","summary":"Remove a User from Group","description":"### Removes a user from a group.\n","parameters":[{"name":"group_id","in":"path","description":"Id of group","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"user_id","in":"path","description":"Id of user to remove from group","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"User successfully removed from group"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Permission Denied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/groups/{group_id}/groups/{deleting_group_id}":{"delete":{"tags":["Group"],"operationId":"delete_group_from_group","summary":"Deletes a Group from Group","description":"### Removes a group from a group.\n","parameters":[{"name":"group_id","in":"path","description":"Id of group","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"deleting_group_id","in":"path","description":"Id of group to delete","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Group successfully deleted"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Permission Denied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/groups/{group_id}/attribute_values/{user_attribute_id}":{"patch":{"tags":["Group"],"operationId":"update_user_attribute_group_value","summary":"Set User Attribute Group Value","description":"### Set the value of a user attribute for a group.\n\nFor information about how user attribute values are calculated, see [Set User Attribute Group Values](#!/UserAttribute/set_user_attribute_group_values).\n","parameters":[{"name":"group_id","in":"path","description":"Id of group","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"user_attribute_id","in":"path","description":"Id of user attribute","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAttributeGroupValue"}}},"description":"New value for group.","required":true},"responses":{"200":{"description":"Group value object.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAttributeGroupValue"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"delete":{"tags":["Group"],"operationId":"delete_user_attribute_group_value","summary":"Delete User Attribute Group Value","description":"### Remove a user attribute value from a group.\n","parameters":[{"name":"group_id","in":"path","description":"Id of group","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"user_attribute_id","in":"path","description":"Id of user attribute","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Value successfully unset"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/boards":{"get":{"tags":["Board"],"operationId":"all_boards","summary":"Get All Boards","description":"### Get information about all boards.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Board","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Board"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"post":{"tags":["Board"],"operationId":"create_board","summary":"Create Board","description":"### Create a new board.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/Board"},"responses":{"200":{"description":"Board","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Board"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/boards/search":{"get":{"tags":["Board"],"operationId":"search_boards","summary":"Search Boards","description":"### Search Boards\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n","parameters":[{"name":"title","in":"query","description":"Matches board title.","required":false,"schema":{"type":"string"}},{"name":"created_at","in":"query","description":"Matches the timestamp for when the board was created.","required":false,"schema":{"type":"string"}},{"name":"first_name","in":"query","description":"The first name of the user who created this board.","required":false,"schema":{"type":"string"}},{"name":"last_name","in":"query","description":"The last name of the user who created this board.","required":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"favorited","in":"query","description":"Return favorited boards when true.","required":false,"schema":{"type":"boolean"}},{"name":"creator_id","in":"query","description":"Filter on boards created by a particular user.","required":false,"schema":{"type":"string"}},{"name":"sorts","in":"query","description":"The fields to sort the results by","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","description":"The page to return.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"per_page","in":"query","description":"The number of items in the returned page.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"offset","in":"query","description":"The number of items to skip before returning any. (used with limit and takes priority over page and per_page)","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"limit","in":"query","description":"The maximum number of items to return. (used with offset and takes priority over page and per_page)","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"filter_or","in":"query","description":"Combine given search criteria in a boolean OR expression","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"boards","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Board"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/boards/{board_id}":{"get":{"tags":["Board"],"operationId":"board","summary":"Get Board","description":"### Get information about a board.\n","parameters":[{"name":"board_id","in":"path","description":"Id of board","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Board","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Board"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["Board"],"operationId":"update_board","summary":"Update Board","description":"### Update a board definition.\n","parameters":[{"name":"board_id","in":"path","description":"Id of board","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/Board"},"responses":{"200":{"description":"Board","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Board"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"delete":{"tags":["Board"],"operationId":"delete_board","summary":"Delete Board","description":"### Delete a board.\n","parameters":[{"name":"board_id","in":"path","description":"Id of board","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/board_items":{"get":{"tags":["Board"],"operationId":"all_board_items","summary":"Get All Board Items","description":"### Get information about all board items.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"sorts","in":"query","description":"Fields to sort by.","required":false,"schema":{"type":"string"}},{"name":"board_section_id","in":"query","description":"Filter to a specific board section","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Board Item","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BoardItem"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"post":{"tags":["Board"],"operationId":"create_board_item","summary":"Create Board Item","description":"### Create a new board item.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/BoardItem"},"responses":{"200":{"description":"Board Item","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardItem"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/board_items/{board_item_id}":{"get":{"tags":["Board"],"operationId":"board_item","summary":"Get Board Item","description":"### Get information about a board item.\n","parameters":[{"name":"board_item_id","in":"path","description":"Id of board item","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Board Item","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardItem"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["Board"],"operationId":"update_board_item","summary":"Update Board Item","description":"### Update a board item definition.\n","parameters":[{"name":"board_item_id","in":"path","description":"Id of board item","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/BoardItem"},"responses":{"200":{"description":"Board Item","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardItem"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"delete":{"tags":["Board"],"operationId":"delete_board_item","summary":"Delete Board Item","description":"### Delete a board item.\n","parameters":[{"name":"board_item_id","in":"path","description":"Id of board_item","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/primary_homepage_sections":{"get":{"tags":["Homepage"],"operationId":"all_primary_homepage_sections","summary":"Get All Primary homepage sections","description":"### Get information about the primary homepage's sections.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Primary homepage section","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HomepageSection"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/board_sections":{"get":{"tags":["Board"],"operationId":"all_board_sections","summary":"Get All Board sections","description":"### Get information about all board sections.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"sorts","in":"query","description":"Fields to sort by.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Board section","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BoardSection"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"post":{"tags":["Board"],"operationId":"create_board_section","summary":"Create Board section","description":"### Create a new board section.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/BoardSection"},"responses":{"200":{"description":"Board section","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardSection"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/board_sections/{board_section_id}":{"get":{"tags":["Board"],"operationId":"board_section","summary":"Get Board section","description":"### Get information about a board section.\n","parameters":[{"name":"board_section_id","in":"path","description":"Id of board section","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Board section","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardSection"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["Board"],"operationId":"update_board_section","summary":"Update Board section","description":"### Update a board section definition.\n","parameters":[{"name":"board_section_id","in":"path","description":"Id of board section","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/BoardSection"},"responses":{"200":{"description":"Board section","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardSection"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"delete":{"tags":["Board"],"operationId":"delete_board_section","summary":"Delete Board section","description":"### Delete a board section.\n","parameters":[{"name":"board_section_id","in":"path","description":"Id of board section","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/integration_hubs":{"get":{"tags":["Integration"],"operationId":"all_integration_hubs","summary":"Get All Integration Hubs","description":"### Get information about all Integration Hubs.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Integration Hub","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IntegrationHub"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"post":{"tags":["Integration"],"operationId":"create_integration_hub","summary":"Create Integration Hub","description":"### Create a new Integration Hub.\n\nThis API is rate limited to prevent it from being used for SSRF attacks\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/IntegrationHub"},"responses":{"200":{"description":"Integration Hub","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationHub"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query","x-looker-rate-limited":true}},"/integration_hubs/{integration_hub_id}":{"get":{"tags":["Integration"],"operationId":"integration_hub","summary":"Get Integration Hub","description":"### Get information about a Integration Hub.\n","parameters":[{"name":"integration_hub_id","in":"path","description":"Id of Integration Hub","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Integration Hub","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationHub"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["Integration"],"operationId":"update_integration_hub","summary":"Update Integration Hub","description":"### Update a Integration Hub definition.\n\nThis API is rate limited to prevent it from being used for SSRF attacks\n","parameters":[{"name":"integration_hub_id","in":"path","description":"Id of Integration Hub","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/IntegrationHub"},"responses":{"200":{"description":"Integration Hub","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationHub"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query","x-looker-rate-limited":true},"delete":{"tags":["Integration"],"operationId":"delete_integration_hub","summary":"Delete Integration Hub","description":"### Delete a Integration Hub.\n","parameters":[{"name":"integration_hub_id","in":"path","description":"Id of integration_hub","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/integration_hubs/{integration_hub_id}/accept_legal_agreement":{"post":{"tags":["Integration"],"operationId":"accept_integration_hub_legal_agreement","summary":"Accept Integration Hub Legal Agreement","description":"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.","parameters":[{"name":"integration_hub_id","in":"path","description":"Id of integration_hub","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Integration hub","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationHub"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/integrations":{"get":{"tags":["Integration"],"operationId":"all_integrations","summary":"Get All Integrations","description":"### Get information about all Integrations.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"integration_hub_id","in":"query","description":"Filter to a specific provider","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Integration","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Integration"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/integrations/{integration_id}":{"get":{"tags":["Integration"],"operationId":"integration","summary":"Get Integration","description":"### Get information about a Integration.\n","parameters":[{"name":"integration_id","in":"path","description":"Id of integration","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Integration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Integration"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["Integration"],"operationId":"update_integration","summary":"Update Integration","description":"### Update parameters on a Integration.\n","parameters":[{"name":"integration_id","in":"path","description":"Id of integration","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Integration"}}},"description":"Integration","required":true},"responses":{"200":{"description":"Integration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Integration"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/integrations/{integration_id}/form":{"post":{"tags":["Integration"],"operationId":"fetch_integration_form","summary":"Fetch Remote Integration Form","description":"Returns the Integration form for presentation to the user.","parameters":[{"name":"integration_id","in":"path","description":"Id of integration","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}},"description":"Integration Form Request"},"responses":{"200":{"description":"Data Action Form","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataActionForm"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/integrations/{integration_id}/test":{"post":{"tags":["Integration"],"operationId":"test_integration","summary":"Test integration","description":"Tests the integration to make sure all the settings are working.","parameters":[{"name":"integration_id","in":"path","description":"Id of integration","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Test Result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationTestResult"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/internal_help_resources_content":{"get":{"tags":["Config"],"operationId":"internal_help_resources_content","summary":"Get Internal Help Resources Content","description":"### Set the menu item name and content for internal help resources\n","responses":{"200":{"description":"Internal Help Resources Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalHelpResourcesContent"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["Config"],"operationId":"update_internal_help_resources_content","summary":"Update internal help resources content","description":"Update internal help resources content\n","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalHelpResourcesContent"}}},"description":"Internal Help Resources Content","required":true},"responses":{"200":{"description":"Internal Help Resources Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalHelpResourcesContent"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/internal_help_resources_enabled":{"get":{"tags":["Config"],"operationId":"internal_help_resources","summary":"Get Internal Help Resources","description":"### Get and set the options for internal help resources\n","responses":{"200":{"description":"Internal Help Resources","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalHelpResources"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/internal_help_resources":{"patch":{"tags":["Config"],"operationId":"update_internal_help_resources","summary":"Update internal help resources configuration","description":"Update internal help resources settings\n","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalHelpResources"}}},"description":"Custom Welcome Email","required":true},"responses":{"200":{"description":"Custom Welcome Email","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalHelpResources"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/ldap_config":{"get":{"tags":["Auth"],"operationId":"ldap_config","summary":"Get LDAP Configuration","description":"### Get the LDAP configuration.\n\nLooker can be optionally configured to authenticate users against an Active Directory or other LDAP directory server.\nLDAP setup requires coordination with an administrator of that directory server.\n\nOnly Looker administrators can read and update the LDAP configuration.\n\nConfiguring LDAP impacts authentication for all users. This configuration should be done carefully.\n\nLooker 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).\n\nLDAP is enabled or disabled for Looker using the **enabled** field.\n\nLooker will never return an **auth_password** field. That value can be set, but never retrieved.\n\nSee the [Looker LDAP docs](https://www.looker.com/docs/r/api/ldap_setup) for additional information.\n","responses":{"200":{"description":"LDAP Configuration.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LDAPConfig"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"patch":{"tags":["Auth"],"operationId":"update_ldap_config","summary":"Update LDAP Configuration","description":"### Update the LDAP configuration.\n\nConfiguring LDAP impacts authentication for all users. This configuration should be done carefully.\n\nOnly Looker administrators can read and update the LDAP configuration.\n\nLDAP is enabled or disabled for Looker using the **enabled** field.\n\nIt is **highly** recommended that any LDAP setting changes be tested using the APIs below before being set globally.\n\nSee the [Looker LDAP docs](https://www.looker.com/docs/r/api/ldap_setup) for additional information.\n","requestBody":{"$ref":"#/components/requestBodies/LDAPConfig"},"responses":{"200":{"description":"New state for LDAP Configuration.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LDAPConfig"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/ldap_config/test_connection":{"put":{"tags":["Auth"],"operationId":"test_ldap_config_connection","summary":"Test LDAP Connection","description":"### Test the connection settings for an LDAP configuration.\n\nThis tests that the connection is possible given a connection_host and connection_port.\n\n**connection_host** and **connection_port** are required. **connection_tls** is optional.\n\nExample:\n```json\n{\n \"connection_host\": \"ldap.example.com\",\n \"connection_port\": \"636\",\n \"connection_tls\": true\n}\n```\n\nNo authentication to the LDAP server is attempted.\n\nThe active LDAP settings are not modified.\n","requestBody":{"$ref":"#/components/requestBodies/LDAPConfig"},"responses":{"200":{"description":"Result info.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LDAPConfigTestResult"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/ldap_config/test_auth":{"put":{"tags":["Auth"],"operationId":"test_ldap_config_auth","summary":"Test LDAP Auth","description":"### Test the connection authentication settings for an LDAP configuration.\n\nThis 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.\n\n**connection_host**, **connection_port**, and **auth_username**, are required. **connection_tls** and **auth_password** are optional.\n\nExample:\n```json\n{\n \"connection_host\": \"ldap.example.com\",\n \"connection_port\": \"636\",\n \"connection_tls\": true,\n \"auth_username\": \"cn=looker,dc=example,dc=com\",\n \"auth_password\": \"secret\"\n}\n```\n\nLooker 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.\n\nThe active LDAP settings are not modified.\n\n","requestBody":{"$ref":"#/components/requestBodies/LDAPConfig"},"responses":{"200":{"description":"Result info.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LDAPConfigTestResult"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/ldap_config/test_user_info":{"put":{"tags":["Auth"],"operationId":"test_ldap_config_user_info","summary":"Test LDAP User Info","description":"### Test the user authentication settings for an LDAP configuration without authenticating the user.\n\nThis test will let you easily test the mapping for user properties and roles for any user without needing to authenticate as that user.\n\nThis test accepts a full LDAP configuration along with a username and attempts to find the full info for the user from the LDAP server without actually authenticating the user. So, user password is not required.The configuration is validated before attempting to contact the server.\n\n**test_ldap_user** is required.\n\nThe active LDAP settings are not modified.\n\n","requestBody":{"$ref":"#/components/requestBodies/LDAPConfig"},"responses":{"200":{"description":"Result info.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LDAPConfigTestResult"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/ldap_config/test_user_auth":{"put":{"tags":["Auth"],"operationId":"test_ldap_config_user_auth","summary":"Test LDAP User Auth","description":"### Test the user authentication settings for an LDAP configuration.\n\nThis 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.\n\nLooker 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.\n\n**test_ldap_user** and **test_ldap_password** are required.\n\nThe active LDAP settings are not modified.\n\n","requestBody":{"$ref":"#/components/requestBodies/LDAPConfig"},"responses":{"200":{"description":"Result info.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LDAPConfigTestResult"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/legacy_features":{"get":{"tags":["Config"],"operationId":"all_legacy_features","summary":"Get All Legacy Features","description":"### Get all legacy features.\n","responses":{"200":{"description":"Legacy Feature","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LegacyFeature"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/legacy_features/{legacy_feature_id}":{"get":{"tags":["Config"],"operationId":"legacy_feature","summary":"Get Legacy Feature","description":"### Get information about the legacy feature with a specific id.\n","parameters":[{"name":"legacy_feature_id","in":"path","description":"id of legacy feature","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Legacy Feature","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyFeature"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"patch":{"tags":["Config"],"operationId":"update_legacy_feature","summary":"Update Legacy Feature","description":"### Update information about the legacy feature with a specific id.\n","parameters":[{"name":"legacy_feature_id","in":"path","description":"id of legacy feature","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyFeature"}}},"description":"Legacy Feature","required":true},"responses":{"200":{"description":"Legacy Feature","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyFeature"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/locales":{"get":{"tags":["Config"],"operationId":"all_locales","summary":"Get All Locales","description":"### Get a list of locales that Looker supports.\n","responses":{"200":{"description":"Locale","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Locale"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/looks":{"get":{"tags":["Look"],"operationId":"all_looks","summary":"Get All Looks","description":"### Get information about all active Looks\n\nReturns an array of **abbreviated Look objects** describing all the looks that the caller has access to. Soft-deleted Looks are **not** included.\n\nGet the **full details** of a specific look by id with [look(id)](#!/Look/look)\n\nFind **soft-deleted looks** with [search_looks()](#!/Look/search_looks)\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Look","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Look"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"post":{"tags":["Look"],"operationId":"create_look","summary":"Create Look","description":"### Create a Look\n\nTo create a look to display query data, first create the query with [create_query()](#!/Query/create_query)\nthen assign the query's id to the `query_id` property in the call to `create_look()`.\n\nTo place the look into a particular space, assign the space's id to the `space_id` property\nin the call to `create_look()`.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/LookWithQuery"},"responses":{"200":{"description":"Look","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookWithQuery"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/looks/search":{"get":{"tags":["Look"],"operationId":"search_looks","summary":"Search Looks","description":"### Search Looks\n\nReturns an **array of Look objects** that match the specified search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\nGet a **single look** by id with [look(id)](#!/Look/look)\n","parameters":[{"name":"id","in":"query","description":"Match look id.","required":false,"schema":{"type":"string"}},{"name":"title","in":"query","description":"Match Look title.","required":false,"schema":{"type":"string"}},{"name":"description","in":"query","description":"Match Look description.","required":false,"schema":{"type":"string"}},{"name":"content_favorite_id","in":"query","description":"Select looks with a particular content favorite id","required":false,"schema":{"type":"string"}},{"name":"folder_id","in":"query","description":"Select looks in a particular folder.","required":false,"schema":{"type":"string"}},{"name":"user_id","in":"query","description":"Select looks created by a particular user.","required":false,"schema":{"type":"string"}},{"name":"view_count","in":"query","description":"Select looks with particular view_count value","required":false,"schema":{"type":"string"}},{"name":"deleted","in":"query","description":"Select soft-deleted looks","required":false,"schema":{"type":"boolean"}},{"name":"query_id","in":"query","description":"Select looks that reference a particular query by query_id","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"curate","in":"query","description":"Exclude items that exist only in personal spaces other than the users","required":false,"schema":{"type":"boolean"}},{"name":"last_viewed_at","in":"query","description":"Select looks based on when they were last viewed","required":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Requested page.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"per_page","in":"query","description":"Results per page.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"limit","in":"query","description":"Number of results to return. (used with offset and takes priority over page and per_page)","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"offset","in":"query","description":"Number of results to skip before returning any. (used with limit and takes priority over page and per_page)","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"sorts","in":"query","description":"One or more fields to sort results by. Sortable fields: [:title, :user_id, :id, :created_at, :space_id, :folder_id, :description, :updated_at, :last_updater_id, :view_count, :favorite_count, :content_favorite_id, :deleted, :deleted_at, :last_viewed_at, :last_accessed_at, :query_id]","required":false,"schema":{"type":"string"}},{"name":"filter_or","in":"query","description":"Combine given search criteria in a boolean OR expression","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"looks","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Look"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/looks/{look_id}":{"get":{"tags":["Look"],"operationId":"look","summary":"Get Look","description":"### Get a Look.\n\nReturns detailed information about a Look and its associated Query.\n\n","parameters":[{"name":"look_id","in":"path","description":"Id of look","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Look","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookWithQuery"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["Look"],"operationId":"update_look","summary":"Update Look","description":"### Modify a Look\n\nUse this function to modify parts of a look. Property values given in a call to `update_look` are\napplied to the existing look, so there's no need to include properties whose values are not changing.\nIt's best to specify only the properties you want to change and leave everything else out\nof your `update_look` call. **Look properties marked 'read-only' will be ignored.**\n\nWhen a user deletes a look in the Looker UI, the look data remains in the database but is\nmarked with a deleted flag (\"soft-deleted\"). Soft-deleted looks can be undeleted (by an admin)\nif the delete was in error.\n\nTo soft-delete a look via the API, use [update_look()](#!/Look/update_look) to change the look's `deleted` property to `true`.\nYou can undelete a look by calling `update_look` to change the look's `deleted` property to `false`.\n\nSoft-deleted looks are excluded from the results of [all_looks()](#!/Look/all_looks) and [search_looks()](#!/Look/search_looks), so they\nessentially disappear from view even though they still reside in the db.\nIn API 3.1 and later, you can pass `deleted: true` as a parameter to [search_looks()](#!/3.1/Look/search_looks) to list soft-deleted looks.\n\nNOTE: [delete_look()](#!/Look/delete_look) performs a \"hard delete\" - the look data is removed from the Looker\ndatabase and destroyed. There is no \"undo\" for `delete_look()`.\n","parameters":[{"name":"look_id","in":"path","description":"Id of look","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/LookWithQuery"},"responses":{"200":{"description":"Look","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookWithQuery"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"delete":{"tags":["Look"],"operationId":"delete_look","summary":"Delete Look","description":"### Permanently Delete a Look\n\nThis operation **permanently** removes a look from the Looker database.\n\nNOTE: There is no \"undo\" for this kind of delete.\n\nFor information about soft-delete (which can be undone) see [update_look()](#!/Look/update_look).\n","parameters":[{"name":"look_id","in":"path","description":"Id of look","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/looks/{look_id}/run/{result_format}":{"get":{"tags":["Look"],"operationId":"run_look","summary":"Run Look","description":"### Run a Look\n\nRuns a given look's query and returns the results in the requested format.\n\nSupported formats:\n\n| result_format | Description\n| :-----------: | :--- |\n| json | Plain json\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| md | Simple markdown\n| xlsx | MS Excel spreadsheet\n| sql | Returns the generated SQL rather than running the query\n| png | A PNG image of the visualization of the query\n| jpg | A JPG image of the visualization of the query\n\n\n","parameters":[{"name":"look_id","in":"path","description":"Id of look","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"result_format","in":"path","description":"Format of result","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Row limit (may override the limit in the saved query).","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"apply_formatting","in":"query","description":"Apply model-specified formatting to each result.","required":false,"schema":{"type":"boolean"}},{"name":"apply_vis","in":"query","description":"Apply visualization options to results.","required":false,"schema":{"type":"boolean"}},{"name":"cache","in":"query","description":"Get results from cache if available.","required":false,"schema":{"type":"boolean"}},{"name":"image_width","in":"query","description":"Render width for image formats.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"image_height","in":"query","description":"Render height for image formats.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"generate_drill_links","in":"query","description":"Generate drill links (only applicable to 'json_detail' format.","required":false,"schema":{"type":"boolean"}},{"name":"force_production","in":"query","description":"Force use of production models even if the user is in development mode.","required":false,"schema":{"type":"boolean"}},{"name":"cache_only","in":"query","description":"Retrieve any results from cache even if the results have expired.","required":false,"schema":{"type":"boolean"}},{"name":"path_prefix","in":"query","description":"Prefix to use for drill links (url encoded).","required":false,"schema":{"type":"string"}},{"name":"rebuild_pdts","in":"query","description":"Rebuild PDTS used in query.","required":false,"schema":{"type":"boolean"}},{"name":"server_table_calcs","in":"query","description":"Perform table calculations on query results","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Look","content":{"text":{"schema":{"type":"string"}},"application/json":{"schema":{"type":"string"}},"image/png":{"schema":{"type":"string"}},"image/jpeg":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"text":{"schema":{"$ref":"#/components/schemas/Error"}},"application/json":{"schema":{"$ref":"#/components/schemas/Error"}},"image/png":{"schema":{"$ref":"#/components/schemas/Error"}},"image/jpeg":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"text":{"schema":{"$ref":"#/components/schemas/Error"}},"application/json":{"schema":{"$ref":"#/components/schemas/Error"}},"image/png":{"schema":{"$ref":"#/components/schemas/Error"}},"image/jpeg":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"text":{"schema":{"$ref":"#/components/schemas/ValidationError"}},"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}},"image/png":{"schema":{"$ref":"#/components/schemas/ValidationError"}},"image/jpeg":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"text":{"schema":{"$ref":"#/components/schemas/Error"}},"application/json":{"schema":{"$ref":"#/components/schemas/Error"}},"image/png":{"schema":{"$ref":"#/components/schemas/Error"}},"image/jpeg":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"db_query"}},"/looks/{look_id}/copy":{"post":{"tags":["Look"],"operationId":"copy_look","summary":"Copy Look","description":"### Copy an existing look\n\nCreates a copy of an existing look, in a specified folder, and returns the copied look.\n\n`look_id` and `folder_id` are required.\n\n`look_id` and `folder_id` must already exist, and `folder_id` must be different from the current `folder_id` of the dashboard.\n","parameters":[{"name":"look_id","in":"path","description":"Look id to copy.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"folder_id","in":"query","description":"Folder id to copy to.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Look","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookWithQuery"}}}},"201":{"description":"look","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Look"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/looks/{look_id}/move":{"patch":{"tags":["Look"],"operationId":"move_look","summary":"Move Look","description":"### Move an existing look\n\nMoves a look to a specified folder, and returns the moved look.\n\n`look_id` and `folder_id` are required.\n`look_id` and `folder_id` must already exist, and `folder_id` must be different from the current `folder_id` of the dashboard.\n","parameters":[{"name":"look_id","in":"path","description":"Look id to move.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"folder_id","in":"query","description":"Folder id to move to.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Look","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookWithQuery"}}}},"201":{"description":"look","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Look"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/lookml_models":{"get":{"tags":["LookmlModel"],"operationId":"all_lookml_models","summary":"Get All LookML Models","description":"### Get information about all lookml models.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"LookML Model","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LookmlModel"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"post":{"tags":["LookmlModel"],"operationId":"create_lookml_model","summary":"Create LookML Model","description":"### Create a lookml model using the specified configuration.\n","requestBody":{"$ref":"#/components/requestBodies/LookmlModel"},"responses":{"200":{"description":"LookML Model","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookmlModel"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/lookml_models/{lookml_model_name}":{"get":{"tags":["LookmlModel"],"operationId":"lookml_model","summary":"Get LookML Model","description":"### Get information about a lookml model.\n","parameters":[{"name":"lookml_model_name","in":"path","description":"Name of lookml model.","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"LookML Model","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookmlModel"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"patch":{"tags":["LookmlModel"],"operationId":"update_lookml_model","summary":"Update LookML Model","description":"### Update a lookml model using the specified configuration.\n","parameters":[{"name":"lookml_model_name","in":"path","description":"Name of lookml model.","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/LookmlModel"},"responses":{"200":{"description":"LookML Model","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookmlModel"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"delete":{"tags":["LookmlModel"],"operationId":"delete_lookml_model","summary":"Delete LookML Model","description":"### Delete a lookml model.\n","parameters":[{"name":"lookml_model_name","in":"path","description":"Name of lookml model.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/lookml_models/{lookml_model_name}/explores/{explore_name}":{"get":{"tags":["LookmlModel"],"operationId":"lookml_model_explore","summary":"Get LookML Model Explore","description":"### Get information about a lookml model explore.\n","parameters":[{"name":"lookml_model_name","in":"path","description":"Name of lookml model.","required":true,"schema":{"type":"string"}},{"name":"explore_name","in":"path","description":"Name of explore.","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"LookML Model Explore","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookmlModelExplore"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/merge_queries/{merge_query_id}":{"get":{"tags":["Query"],"operationId":"merge_query","summary":"Get Merge Query","description":"### Get Merge Query\n\nReturns a merge query object given its id.\n","parameters":[{"name":"merge_query_id","in":"path","description":"Merge Query Id","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Merge Query","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MergeQuery"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query"}},"/merge_queries":{"post":{"tags":["Query"],"operationId":"create_merge_query","summary":"Create Merge Query","description":"### Create Merge Query\n\nCreates a new merge query object.\n\nA merge query takes the results of one or more queries and combines (merges) the results\naccording to field mapping definitions. The result is similar to a SQL left outer join.\n\nA merge query can merge results of queries from different SQL databases.\n\nThe order that queries are defined in the source_queries array property is significant. The\nfirst query in the array defines the primary key into which the results of subsequent\nqueries will be merged.\n\nLike model/view query objects, merge queries are immutable and have structural identity - if\nyou make a request to create a new merge query that is identical to an existing merge query,\nthe existing merge query will be returned instead of creating a duplicate. Conversely, any\nchange to the contents of a merge query will produce a new object with a new id.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MergeQuery"}}},"description":"Merge Query"},"responses":{"200":{"description":"Merge Query","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MergeQuery"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query"}},"/models/{model_name}/views/{view_name}/fields/{field_name}/suggestions":{"get":{"tags":["Metadata"],"operationId":"model_fieldname_suggestions","summary":"Model field name suggestions","description":"### Field name suggestions for a model and view\n\n","parameters":[{"name":"model_name","in":"path","description":"Name of model","required":true,"schema":{"type":"string"}},{"name":"view_name","in":"path","description":"Name of view","required":true,"schema":{"type":"string"}},{"name":"field_name","in":"path","description":"Name of field to use for suggestions","required":true,"schema":{"type":"string"}},{"name":"term","in":"query","description":"Search term","required":false,"schema":{"type":"string"}},{"name":"filters","in":"query","description":"Suggestion filters","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Model view field suggestions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelFieldSuggestions"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/connections/{connection_name}/databases":{"get":{"tags":["Metadata"],"operationId":"connection_databases","summary":"List accessible databases to this connection","description":"### List databases available to this connection\n\nCertain dialects can support multiple databases per single connection.\nIf this connection supports multiple databases, the database names will be returned in an array.\n\nConnections using dialects that do not support multiple databases will return an empty array.\n\n**Note**: [Connection Features](#!/Metadata/connection_features) can be used to determine if a connection supports\nmultiple databases.\n","parameters":[{"name":"connection_name","in":"path","description":"Name of connection","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Database names","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query"}},"/connections/{connection_name}/features":{"get":{"tags":["Metadata"],"operationId":"connection_features","summary":"Metadata features supported by this connection","description":"### Retrieve metadata features for this connection\n\nReturns a list of feature names with `true` (available) or `false` (not available)\n\n","parameters":[{"name":"connection_name","in":"path","description":"Name of connection","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Connection features","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionFeatures"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query","x-looker-rate-limited":true}},"/connections/{connection_name}/schemas":{"get":{"tags":["Metadata"],"operationId":"connection_schemas","summary":"Get schemas for a connection","description":"### Get the list of schemas and tables for a connection\n\n","parameters":[{"name":"connection_name","in":"path","description":"Name of connection","required":true,"schema":{"type":"string"}},{"name":"database","in":"query","description":"For dialects that support multiple databases, optionally identify which to use","required":false,"schema":{"type":"string"}},{"name":"cache","in":"query","description":"True to use fetch from cache, false to load fresh","required":false,"schema":{"type":"boolean"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Schemas for connection","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Schema"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/connections/{connection_name}/tables":{"get":{"tags":["Metadata"],"operationId":"connection_tables","summary":"Get tables for a connection","description":"### Get the list of tables for a schema\n\nFor dialects that support multiple databases, optionally identify which to use. If not provided, the default\ndatabase for the connection will be used.\n\nFor dialects that do **not** support multiple databases, **do not use** the database parameter\n","parameters":[{"name":"connection_name","in":"path","description":"Name of connection","required":true,"schema":{"type":"string"}},{"name":"database","in":"query","description":"Optional. Name of database to use for the query, only if applicable","required":false,"schema":{"type":"string"}},{"name":"schema_name","in":"query","description":"Optional. Return only tables for this schema","required":false,"schema":{"type":"string"}},{"name":"cache","in":"query","description":"True to fetch from cache, false to load fresh","required":false,"schema":{"type":"boolean"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Schemas and tables for connection","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SchemaTables"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/connections/{connection_name}/columns":{"get":{"tags":["Metadata"],"operationId":"connection_columns","summary":"Get columns for a connection","description":"### Get the columns (and therefore also the tables) in a specific schema\n\n","parameters":[{"name":"connection_name","in":"path","description":"Name of connection","required":true,"schema":{"type":"string"}},{"name":"database","in":"query","description":"For dialects that support multiple databases, optionally identify which to use","required":false,"schema":{"type":"string"}},{"name":"schema_name","in":"query","description":"Name of schema to use.","required":false,"schema":{"type":"string"}},{"name":"cache","in":"query","description":"True to fetch from cache, false to load fresh","required":false,"schema":{"type":"boolean"}},{"name":"table_limit","in":"query","description":"limits the tables per schema returned","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"table_names","in":"query","description":"only fetch columns for a given (comma-separated) list of tables","required":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Columns schema for connection","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SchemaColumns"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/connections/{connection_name}/search_columns":{"get":{"tags":["Metadata"],"operationId":"connection_search_columns","summary":"Search a connection for columns","description":"### Search a connection for columns matching the specified name\n\n**Note**: `column_name` must be a valid column name. It is not a search pattern.\n","parameters":[{"name":"connection_name","in":"path","description":"Name of connection","required":true,"schema":{"type":"string"}},{"name":"column_name","in":"query","description":"Column name to find","required":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Column names matching search pattern","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ColumnSearch"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query","x-looker-rate-limited":true}},"/connections/{connection_name}/cost_estimate":{"post":{"tags":["Metadata"],"operationId":"connection_cost_estimate","summary":"Estimate costs for a connection","description":"### Connection cost estimating\n\nAssign a `sql` statement to the body of the request. e.g., for Ruby, `{sql: 'select * from users'}`\n\n**Note**: If the connection's dialect has no support for cost estimates, an error will be returned\n","parameters":[{"name":"connection_name","in":"path","description":"Name of connection","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCostEstimate"}}},"description":"SQL statement to estimate","required":true},"responses":{"200":{"description":"Connection cost estimates","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CostEstimate"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query","x-looker-rate-limited":true}},"/mobile/settings":{"get":{"tags":["Config"],"operationId":"mobile_settings","summary":"Get Mobile_Settings","description":"### Get all mobile settings.\n","responses":{"200":{"description":"Mobile_Settings","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MobileSettings"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/model_sets/search":{"get":{"tags":["Role"],"operationId":"search_model_sets","summary":"Search Model Sets","description":"### Search model sets\nReturns all model set records that match the given search criteria.\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Number of results to return (used with `offset`).","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"offset","in":"query","description":"Number of results to skip before returning any (used with `limit`).","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"sorts","in":"query","description":"Fields to sort by.","required":false,"schema":{"type":"string"}},{"name":"id","in":"query","description":"Match model set id.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"name","in":"query","description":"Match model set name.","required":false,"schema":{"type":"string"}},{"name":"all_access","in":"query","description":"Match model sets by all_access status.","required":false,"schema":{"type":"boolean"}},{"name":"built_in","in":"query","description":"Match model sets by built_in status.","required":false,"schema":{"type":"boolean"}},{"name":"filter_or","in":"query","description":"Combine given search criteria in a boolean OR expression.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Model Set","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ModelSet"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/model_sets/{model_set_id}":{"get":{"tags":["Role"],"operationId":"model_set","summary":"Get Model Set","description":"### Get information about the model set with a specific id.\n","parameters":[{"name":"model_set_id","in":"path","description":"Id of model set","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Specified model set.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelSet"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"delete":{"tags":["Role"],"operationId":"delete_model_set","summary":"Delete Model Set","description":"### Delete the model set with a specific id.\n","parameters":[{"name":"model_set_id","in":"path","description":"id of model set","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Model set succssfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"Resource Can't Be Modified","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"patch":{"tags":["Role"],"operationId":"update_model_set","summary":"Update Model Set","description":"### Update information about the model set with a specific id.\n","parameters":[{"name":"model_set_id","in":"path","description":"id of model set","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"$ref":"#/components/requestBodies/ModelSet"},"responses":{"200":{"description":"New state for specified model set.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelSet"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"Resource Can't Be Modified","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/model_sets":{"get":{"tags":["Role"],"operationId":"all_model_sets","summary":"Get All Model Sets","description":"### Get information about all model sets.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"All model sets.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ModelSet"}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"post":{"tags":["Role"],"operationId":"create_model_set","summary":"Create Model Set","description":"### Create a model set with the specified information. Model sets are used by Roles.\n","requestBody":{"$ref":"#/components/requestBodies/ModelSet"},"responses":{"200":{"description":"Newly created ModelSet","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelSet"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/oauth_client_apps":{"get":{"tags":["Auth"],"operationId":"all_oauth_client_apps","summary":"Get All OAuth Client Apps","description":"### List All OAuth Client Apps\n\nLists all applications registered to use OAuth2 login with this Looker instance, including\nenabled and disabled apps.\n\nResults are filtered to include only the apps that the caller (current user)\nhas permission to see.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OAuth Client App","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OauthClientApp"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/oauth_client_apps/{client_guid}":{"get":{"tags":["Auth"],"operationId":"oauth_client_app","summary":"Get OAuth Client App","description":"### Get Oauth Client App\n\nReturns the registered app client with matching client_guid.\n","parameters":[{"name":"client_guid","in":"path","description":"The unique id of this application","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OAuth Client App","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OauthClientApp"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"delete":{"tags":["Auth"],"operationId":"delete_oauth_client_app","summary":"Delete OAuth Client App","description":"### Delete OAuth Client App\n\nDeletes the registration info of the app with the matching client_guid.\nAll active sessions and tokens issued for this app will immediately become invalid.\n\n### Note: this deletion cannot be undone.\n","parameters":[{"name":"client_guid","in":"path","description":"The unique id of this application","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"post":{"tags":["Auth"],"operationId":"register_oauth_client_app","summary":"Register OAuth App","description":"### Register an OAuth2 Client App\n\nRegisters details identifying an external web app or native app as an OAuth2 login client of the Looker instance.\nThe app registration must provide a unique client_guid and redirect_uri that the app will present\nin OAuth login requests. If the client_guid and redirect_uri parameters in the login request do not match\nthe app details registered with the Looker instance, the request is assumed to be a forgery and is rejected.\n","parameters":[{"name":"client_guid","in":"path","description":"The unique id of this application","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/OauthClientApp"},"responses":{"200":{"description":"OAuth Client App","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OauthClientApp"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["Auth"],"operationId":"update_oauth_client_app","summary":"Update OAuth App","description":"### Update OAuth2 Client App Details\n\nModifies the details a previously registered OAuth2 login client app.\n","parameters":[{"name":"client_guid","in":"path","description":"The unique id of this application","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/OauthClientApp"},"responses":{"200":{"description":"OAuth Client App","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OauthClientApp"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/oauth_client_apps/{client_guid}/tokens":{"delete":{"tags":["Auth"],"operationId":"invalidate_tokens","summary":"Invalidate Tokens","description":"### Invalidate All Issued Tokens\n\nImmediately invalidates all auth codes, sessions, access tokens and refresh tokens issued for\nthis app for ALL USERS of this app.\n","parameters":[{"name":"client_guid","in":"path","description":"The unique id of the application","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/oauth_client_apps/{client_guid}/users/{user_id}":{"post":{"tags":["Auth"],"operationId":"activate_app_user","summary":"Activate OAuth App User","description":"### Activate an app for a user\n\nActivates a user for a given oauth client app. This indicates the user has been informed that\nthe app will have access to the user's looker data, and that the user has accepted and allowed\nthe app to use their Looker account.\n\nActivating a user for an app that the user is already activated with returns a success response.\n","parameters":[{"name":"client_guid","in":"path","description":"The unique id of this application","required":true,"schema":{"type":"string"}},{"name":"user_id","in":"path","description":"The id of the user to enable use of this app","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OAuth Client App","content":{"application/json":{"schema":{"type":"string"}}}},"204":{"description":"Deleted"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"delete":{"tags":["Auth"],"operationId":"deactivate_app_user","summary":"Deactivate OAuth App User","description":"### Deactivate an app for a user\n\nDeactivate a user for a given oauth client app. All tokens issued to the app for\nthis user will be invalid immediately. Before the user can use the app with their\nLooker account, the user will have to read and accept an account use disclosure statement for the app.\n\nAdmin users can deactivate other users, but non-admin users can only deactivate themselves.\n\nAs with most REST DELETE operations, this endpoint does not return an error if the indicated\nresource (app or user) does not exist or has already been deactivated.\n","parameters":[{"name":"client_guid","in":"path","description":"The unique id of this application","required":true,"schema":{"type":"string"}},{"name":"user_id","in":"path","description":"The id of the user to enable use of this app","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/oidc_config":{"get":{"tags":["Auth"],"operationId":"oidc_config","summary":"Get OIDC Configuration","description":"### Get the OIDC configuration.\n\nLooker can be optionally configured to authenticate users against an OpenID Connect (OIDC)\nauthentication server. OIDC setup requires coordination with an administrator of that server.\n\nOnly Looker administrators can read and update the OIDC configuration.\n\nConfiguring OIDC impacts authentication for all users. This configuration should be done carefully.\n\nLooker maintains a single OIDC configuation. 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).\n\nOIDC is enabled or disabled for Looker using the **enabled** field.\n","responses":{"200":{"description":"OIDC Configuration.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OIDCConfig"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["Auth"],"operationId":"update_oidc_config","summary":"Update OIDC Configuration","description":"### Update the OIDC configuration.\n\nConfiguring OIDC impacts authentication for all users. This configuration should be done carefully.\n\nOnly Looker administrators can read and update the OIDC configuration.\n\nOIDC is enabled or disabled for Looker using the **enabled** field.\n\nIt is **highly** recommended that any OIDC setting changes be tested using the APIs below before being set globally.\n","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OIDCConfig"}}},"description":"OIDC Config","required":true},"responses":{"200":{"description":"New state for OIDC Configuration.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OIDCConfig"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/oidc_test_configs/{test_slug}":{"get":{"tags":["Auth"],"operationId":"oidc_test_config","summary":"Get OIDC Test Configuration","description":"### Get a OIDC test configuration by test_slug.\n","parameters":[{"name":"test_slug","in":"path","description":"Slug of test config","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OIDC test config.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OIDCConfig"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"delete":{"tags":["Auth"],"operationId":"delete_oidc_test_config","summary":"Delete OIDC Test Configuration","description":"### Delete a OIDC test configuration.\n","parameters":[{"name":"test_slug","in":"path","description":"Slug of test config","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Test config succssfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/oidc_test_configs":{"post":{"tags":["Auth"],"operationId":"create_oidc_test_config","summary":"Create OIDC Test Configuration","description":"### Create a OIDC test configuration.\n","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OIDCConfig"}}},"description":"OIDC test config","required":true},"responses":{"200":{"description":"OIDC test config","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OIDCConfig"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/password_config":{"get":{"tags":["Auth"],"operationId":"password_config","summary":"Get Password Config","description":"### Get password config.\n","responses":{"200":{"description":"Password Config","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordConfig"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["Auth"],"operationId":"update_password_config","summary":"Update Password Config","description":"### Update password config.\n","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordConfig"}}},"description":"Password Config","required":true},"responses":{"200":{"description":"Password Config","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordConfig"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/password_config/force_password_reset_at_next_login_for_all_users":{"put":{"tags":["Auth"],"operationId":"force_password_reset_at_next_login_for_all_users","summary":"Force password reset","description":"### Force all credentials_email users to reset their login passwords upon their next login.\n","responses":{"200":{"description":"Password Config","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/permissions":{"get":{"tags":["Role"],"operationId":"all_permissions","summary":"Get All Permissions","description":"### Get all supported permissions.\n","responses":{"200":{"description":"Permission","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Permission"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/permission_sets/search":{"get":{"tags":["Role"],"operationId":"search_permission_sets","summary":"Search Permission Sets","description":"### Search permission sets\nReturns all permission set records that match the given search criteria.\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Number of results to return (used with `offset`).","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"offset","in":"query","description":"Number of results to skip before returning any (used with `limit`).","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"sorts","in":"query","description":"Fields to sort by.","required":false,"schema":{"type":"string"}},{"name":"id","in":"query","description":"Match permission set id.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"name","in":"query","description":"Match permission set name.","required":false,"schema":{"type":"string"}},{"name":"all_access","in":"query","description":"Match permission sets by all_access status.","required":false,"schema":{"type":"boolean"}},{"name":"built_in","in":"query","description":"Match permission sets by built_in status.","required":false,"schema":{"type":"boolean"}},{"name":"filter_or","in":"query","description":"Combine given search criteria in a boolean OR expression.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Permission Set","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PermissionSet"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/permission_sets/{permission_set_id}":{"get":{"tags":["Role"],"operationId":"permission_set","summary":"Get Permission Set","description":"### Get information about the permission set with a specific id.\n","parameters":[{"name":"permission_set_id","in":"path","description":"Id of permission set","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Permission Set","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionSet"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"delete":{"tags":["Role"],"operationId":"delete_permission_set","summary":"Delete Permission Set","description":"### Delete the permission set with a specific id.\n","parameters":[{"name":"permission_set_id","in":"path","description":"Id of permission set","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"Resource Can't Be Modified","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"patch":{"tags":["Role"],"operationId":"update_permission_set","summary":"Update Permission Set","description":"### Update information about the permission set with a specific id.\n","parameters":[{"name":"permission_set_id","in":"path","description":"id of permission set","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"$ref":"#/components/requestBodies/PermissionSet"},"responses":{"200":{"description":"Permission Set","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionSet"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"Resource Can't Be Modified","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/permission_sets":{"get":{"tags":["Role"],"operationId":"all_permission_sets","summary":"Get All Permission Sets","description":"### Get information about all permission sets.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Permission Set","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PermissionSet"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"post":{"tags":["Role"],"operationId":"create_permission_set","summary":"Create Permission Set","description":"### Create a permission set with the specified information. Permission sets are used by Roles.\n","requestBody":{"$ref":"#/components/requestBodies/PermissionSet"},"responses":{"200":{"description":"Permission Set","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionSet"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/projects/{project_id}/deploy_ref_to_production":{"post":{"tags":["Project"],"operationId":"deploy_ref_to_production","summary":"Deploy Remote Branch or Ref to Production","description":"### Deploy a Remote Branch or Ref to Production\n\nGit must have been configured and deploy permission required.\n\nDeploy is a one/two step process\n1. If this is the first deploy of this project, create the production project with git repository.\n2. Pull the branch or ref into the production project.\n\nCan only specify either a branch or a ref.\n\n","parameters":[{"name":"project_id","in":"path","description":"Id of project","required":true,"schema":{"type":"string"}},{"name":"branch","in":"query","description":"Branch to deploy to production","required":false,"schema":{"type":"string"}},{"name":"ref","in":"query","description":"Ref to deploy to production","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Project","content":{"application/json":{"schema":{"type":"string"}}}},"204":{"description":"Returns 204 if project was successfully deployed to production, otherwise 400 with an error message"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/projects/{project_id}/deploy_to_production":{"post":{"tags":["Project"],"operationId":"deploy_to_production","summary":"Deploy To Production","description":"### Deploy LookML from this Development Mode Project to Production\n\nGit must have been configured, must be in dev mode and deploy permission required\n\nDeploy is a two / three step process:\n\n1. Push commits in current branch of dev mode project to the production branch (origin/master).\n Note a. This step is skipped in read-only projects.\n Note b. If this step is unsuccessful for any reason (e.g. rejected non-fastforward because production branch has\n commits not in current branch), subsequent steps will be skipped.\n2. If this is the first deploy of this project, create the production project with git repository.\n3. Pull the production branch into the production project.\n\n","parameters":[{"name":"project_id","in":"path","description":"Id of project","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Project","content":{"application/json":{"schema":{"type":"string"}}}},"204":{"description":"Returns 204 if project was successfully deployed to production, otherwise 400 with an error message"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/projects/{project_id}/reset_to_production":{"post":{"tags":["Project"],"operationId":"reset_project_to_production","summary":"Reset To Production","description":"### Reset a project to the revision of the project that is in production.\n\n**DANGER** this will delete any changes that have not been pushed to a remote repository.\n","parameters":[{"name":"project_id","in":"path","description":"Id of project","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Project","content":{"application/json":{"schema":{"type":"string"}}}},"204":{"description":"Returns 204 if project was successfully reset, otherwise 400 with an error message"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/projects/{project_id}/reset_to_remote":{"post":{"tags":["Project"],"operationId":"reset_project_to_remote","summary":"Reset To Remote","description":"### Reset a project development branch to the revision of the project that is on the remote.\n\n**DANGER** this will delete any changes that have not been pushed to a remote repository.\n","parameters":[{"name":"project_id","in":"path","description":"Id of project","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Project","content":{"application/json":{"schema":{"type":"string"}}}},"204":{"description":"Returns 204 if project was successfully reset, otherwise 400 with an error message"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/projects":{"get":{"tags":["Project"],"operationId":"all_projects","summary":"Get All Projects","description":"### Get All Projects\n\nReturns all projects visible to the current user\n","parameters":[{"name":"fields","in":"query","description":"Requested fields","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Project","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Project"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"post":{"tags":["Project"],"operationId":"create_project","summary":"Create Project","description":"### Create A Project\n\ndev mode required.\n- Call `update_session` to select the 'dev' workspace.\n\n`name` is required.\n`git_remote_url` is not allowed. To configure Git for the newly created project, follow the instructions in `update_project`.\n\n","requestBody":{"$ref":"#/components/requestBodies/Project"},"responses":{"200":{"description":"Project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/projects/{project_id}":{"get":{"tags":["Project"],"operationId":"project","summary":"Get Project","description":"### Get A Project\n\nReturns the project with the given project id\n","parameters":[{"name":"project_id","in":"path","description":"Project Id","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["Project"],"operationId":"update_project","summary":"Update Project","description":"### Update Project Configuration\n\nApply changes to a project's configuration.\n\n\n#### Configuring Git for a Project\n\nTo set up a Looker project with a remote git repository, follow these steps:\n\n1. Call `update_session` to select the 'dev' workspace.\n1. Call `create_git_deploy_key` to create a new deploy key for the project\n1. Copy the deploy key text into the remote git repository's ssh key configuration\n1. Call `update_project` to set project's `git_remote_url` ()and `git_service_name`, if necessary).\n\nWhen you modify a project's `git_remote_url`, Looker connects to the remote repository to fetch\nmetadata. The remote git repository MUST be configured with the Looker-generated deploy\nkey for this project prior to setting the project's `git_remote_url`.\n\nTo set up a Looker project with a git repository residing on the Looker server (a 'bare' git repo):\n\n1. Call `update_session` to select the 'dev' workspace.\n1. Call `update_project` setting `git_remote_url` to null and `git_service_name` to \"bare\".\n\n","parameters":[{"name":"project_id","in":"path","description":"Project Id","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/Project"},"responses":{"200":{"description":"Project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/projects/{project_id}/manifest":{"get":{"tags":["Project"],"operationId":"manifest","summary":"Get Manifest","description":"### Get A Projects Manifest object\n\nReturns the project with the given project id\n","parameters":[{"name":"project_id","in":"path","description":"Project Id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Manifest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Manifest"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/projects/{project_id}/git/deploy_key":{"post":{"tags":["Project"],"operationId":"create_git_deploy_key","summary":"Create Deploy Key","description":"### Create Git Deploy Key\n\nCreate a public/private key pair for authenticating ssh git requests from Looker to a remote git repository\nfor a particular Looker project.\n\nReturns the public key of the generated ssh key pair.\n\nCopy this public key to your remote git repository's ssh keys configuration so that the remote git service can\nvalidate and accept git requests from the Looker server.\n","parameters":[{"name":"project_id","in":"path","description":"Project Id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Project","content":{"text/plain":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"get":{"tags":["Project"],"operationId":"git_deploy_key","summary":"Git Deploy Key","description":"### Git Deploy Key\n\nReturns the ssh public key previously created for a project's git repository.\n","parameters":[{"name":"project_id","in":"path","description":"Project Id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The text of the public key portion of the deploy_key","content":{"text/plain":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/projects/{project_id}/validate":{"post":{"tags":["Project"],"operationId":"validate_project","summary":"Validate Project","description":"### Validate Project\n\nPerforms lint validation of all lookml files in the project.\nReturns a list of errors found, if any.\n\nValidating the content of all the files in a project can be computationally intensive\nfor large projects. For best performance, call `validate_project(project_id)` only\nwhen you really want to recompute project validation. To quickly display the results of\nthe most recent project validation (without recomputing), use `project_validation_results(project_id)`\n","parameters":[{"name":"project_id","in":"path","description":"Project Id","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Project validation results","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectValidation"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"get":{"tags":["Project"],"operationId":"project_validation_results","summary":"Cached Project Validation Results","description":"### Get Cached Project Validation Results\n\nReturns the cached results of a previous project validation calculation, if any.\nReturns http status 204 No Content if no validation results exist.\n\nValidating the content of all the files in a project can be computationally intensive\nfor large projects. Use this API to simply fetch the results of the most recent\nproject validation rather than revalidating the entire project from scratch.\n\nA value of `\"stale\": true` in the response indicates that the project has changed since\nthe cached validation results were computed. The cached validation results may no longer\nreflect the current state of the project.\n","parameters":[{"name":"project_id","in":"path","description":"Project Id","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Project validation results","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectValidationCache"}}}},"204":{"description":"Deleted"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/projects/{project_id}/current_workspace":{"get":{"tags":["Project"],"operationId":"project_workspace","summary":"Get Project Workspace","description":"### Get Project Workspace\n\nReturns information about the state of the project files in the currently selected workspace\n","parameters":[{"name":"project_id","in":"path","description":"Project Id","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Project Workspace","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectWorkspace"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/projects/{project_id}/files":{"get":{"tags":["Project"],"operationId":"all_project_files","summary":"Get All Project Files","description":"### Get All Project Files\n\nReturns a list of the files in the project\n","parameters":[{"name":"project_id","in":"path","description":"Project Id","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Project File","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectFile"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/projects/{project_id}/files/file":{"get":{"tags":["Project"],"operationId":"project_file","summary":"Get Project File","description":"### Get Project File Info\n\nReturns information about a file in the project\n","parameters":[{"name":"project_id","in":"path","description":"Project Id","required":true,"schema":{"type":"string"}},{"name":"file_id","in":"query","description":"File Id","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Project File","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectFile"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/projects/{project_id}/git_connection_tests":{"get":{"tags":["Project"],"operationId":"all_git_connection_tests","summary":"Get All Git Connection Tests","description":"### Get All Git Connection Tests\n\ndev mode required.\n - Call `update_session` to select the 'dev' workspace.\n\nReturns 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.\n\nTests 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.\n\nFor example, a late-stage test for write access is meaningless if connecting to the git server (an early test) is failing.\n","parameters":[{"name":"project_id","in":"path","description":"Project Id","required":true,"schema":{"type":"string"}},{"name":"remote_url","in":"query","description":"(Optional: leave blank for root project) The remote url for remote dependency to test.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Git Connection Test","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GitConnectionTest"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/projects/{project_id}/git_connection_tests/{test_id}":{"get":{"tags":["Project"],"operationId":"run_git_connection_test","summary":"Run Git Connection Test","description":"### Run a git connection test\n\nRun 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\nis intended to help debug git connections when things do not work properly, to give\nmore helpful information about why a git url is not working with Looker.\n\nTests should be run in the order they are returned by [Get All Git Connection Tests](#!/Project/all_git_connection_tests).\n","parameters":[{"name":"project_id","in":"path","description":"Project Id","required":true,"schema":{"type":"string"}},{"name":"test_id","in":"path","description":"Test Id","required":true,"schema":{"type":"string"}},{"name":"remote_url","in":"query","description":"(Optional: leave blank for root project) The remote url for remote dependency to test.","required":false,"schema":{"type":"string"}},{"name":"use_production","in":"query","description":"(Optional: leave blank for dev credentials) Whether to use git production credentials.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Git Connection Test Result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitConnectionTestResult"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/projects/{project_id}/lookml_tests":{"get":{"tags":["Project"],"operationId":"all_lookml_tests","summary":"Get All LookML Tests","description":"### Get All LookML Tests\n\nReturns a list of tests which can be run to validate a project's LookML code and/or the underlying data,\noptionally filtered by the file id.\nCall [Run LookML Test](#!/Project/run_lookml_test) to execute tests.\n","parameters":[{"name":"project_id","in":"path","description":"Project Id","required":true,"schema":{"type":"string"}},{"name":"file_id","in":"query","description":"File Id","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"LookML Test","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LookmlTest"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/projects/{project_id}/lookml_tests/run":{"get":{"tags":["Project"],"operationId":"run_lookml_test","summary":"Run LookML Test","description":"### Run LookML Tests\n\nRuns all tests in the project, optionally filtered by file, test, and/or model.\n","parameters":[{"name":"project_id","in":"path","description":"Project Id","required":true,"schema":{"type":"string"}},{"name":"file_id","in":"query","description":"File Name","required":false,"schema":{"type":"string"}},{"name":"test","in":"query","description":"Test Name","required":false,"schema":{"type":"string"}},{"name":"model","in":"query","description":"Model Name","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"LookML Test Results","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LookmlTestResult"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/render_tasks/looks/{look_id}/{result_format}":{"post":{"tags":["RenderTask"],"operationId":"create_look_render_task","summary":"Create Look Render Task","description":"### Create a new task to render a look to an image.\n\nReturns a render task object.\nTo check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\nOnce the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n\n","parameters":[{"name":"look_id","in":"path","description":"Id of look to render","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"result_format","in":"path","description":"Output type: png, or jpg","required":true,"schema":{"type":"string"}},{"name":"width","in":"query","description":"Output width in pixels","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"height","in":"query","description":"Output height in pixels","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Render Task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenderTask"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query"}},"/render_tasks/queries/{query_id}/{result_format}":{"post":{"tags":["RenderTask"],"operationId":"create_query_render_task","summary":"Create Query Render Task","description":"### Create a new task to render an existing query to an image.\n\nReturns a render task object.\nTo check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\nOnce the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n\n","parameters":[{"name":"query_id","in":"path","description":"Id of the query to render","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"result_format","in":"path","description":"Output type: png or jpg","required":true,"schema":{"type":"string"}},{"name":"width","in":"query","description":"Output width in pixels","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"height","in":"query","description":"Output height in pixels","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Render Task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenderTask"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query"}},"/render_tasks/dashboards/{dashboard_id}/{result_format}":{"post":{"tags":["RenderTask"],"operationId":"create_dashboard_render_task","summary":"Create Dashboard Render Task","description":"### Create a new task to render a dashboard to a document or image.\n\nReturns a render task object.\nTo check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\nOnce the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n\n","parameters":[{"name":"dashboard_id","in":"path","description":"Id of dashboard to render. The ID can be a LookML dashboard also.","required":true,"schema":{"type":"string"}},{"name":"result_format","in":"path","description":"Output type: pdf, png, or jpg","required":true,"schema":{"type":"string"}},{"name":"width","in":"query","description":"Output width in pixels","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"height","in":"query","description":"Output height in pixels","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"pdf_paper_size","in":"query","description":"Paper size for pdf. Value can be one of: [\"letter\",\"legal\",\"tabloid\",\"a0\",\"a1\",\"a2\",\"a3\",\"a4\",\"a5\"]","required":false,"schema":{"type":"string"}},{"name":"pdf_landscape","in":"query","description":"Whether to render pdf in landscape paper orientation","required":false,"schema":{"type":"boolean"}},{"name":"long_tables","in":"query","description":"Whether or not to expand table vis to full length","required":false,"schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDashboardRenderTask"}}},"description":"Dashboard render task parameters","required":true},"responses":{"200":{"description":"Render Task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenderTask"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query"}},"/render_tasks/{render_task_id}":{"get":{"tags":["RenderTask"],"operationId":"render_task","summary":"Get Render Task","description":"### Get information about a render task.\n\nReturns a render task object.\nTo check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\nOnce the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n\n","parameters":[{"name":"render_task_id","in":"path","description":"Id of render task","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Render Task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenderTask"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query"}},"/render_tasks/{render_task_id}/results":{"get":{"tags":["RenderTask"],"operationId":"render_task_results","summary":"Render Task Results","description":"### Get the document or image produced by a completed render task.\n\nNote that the PDF or image result will be a binary blob in the HTTP response, as indicated by the\nContent-Type in the response headers. This may require specialized (or at least different) handling than text\nresponses such as JSON. You may need to tell your HTTP client that the response is binary so that it does not\nattempt to parse the binary data as text.\n\nIf the render task exists but has not finished rendering the results, the response HTTP status will be\n**202 Accepted**, the response body will be empty, and the response will have a Retry-After header indicating\nthat the caller should repeat the request at a later time.\n\nReturns 404 if the render task cannot be found, if the cached result has expired, or if the caller\ndoes not have permission to view the results.\n\nFor detailed information about the status of the render task, use [Render Task](#!/RenderTask/render_task).\nPolling loops waiting for completion of a render task would be better served by polling **render_task(id)** until\nthe task status reaches completion (or error) instead of polling **render_task_results(id)** alone.\n","parameters":[{"name":"render_task_id","in":"path","description":"Id of render task","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Document or image","content":{"image/jpeg":{"schema":{"type":"string"}},"image/png":{"schema":{"type":"string"}},"application/pdf":{"schema":{"type":"string"}}}},"202":{"description":"Accepted"},"400":{"description":"Bad Request","content":{"image/jpeg":{"schema":{"$ref":"#/components/schemas/Error"}},"image/png":{"schema":{"$ref":"#/components/schemas/Error"}},"application/pdf":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"image/jpeg":{"schema":{"$ref":"#/components/schemas/Error"}},"image/png":{"schema":{"$ref":"#/components/schemas/Error"}},"application/pdf":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query"}},"/projects/{root_project_id}/credential/{credential_id}":{"put":{"tags":["Project"],"operationId":"update_repository_credential","summary":"Create Repository Credential","description":"### Configure Repository Credential for a remote dependency\n\nAdmin required.\n\n`root_project_id` is required.\n`credential_id` is required.\n\n","parameters":[{"name":"root_project_id","in":"path","description":"Root Project Id","required":true,"schema":{"type":"string"}},{"name":"credential_id","in":"path","description":"Credential Id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryCredential"}}},"description":"Remote Project Information","required":true},"responses":{"200":{"description":"Repository Credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryCredential"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"delete":{"tags":["Project"],"operationId":"delete_repository_credential","summary":"Delete Repository Credential","description":"### Repository Credential for a remote dependency\n\nAdmin required.\n\n`root_project_id` is required.\n`credential_id` is required.\n","parameters":[{"name":"root_project_id","in":"path","description":"Root Project Id","required":true,"schema":{"type":"string"}},{"name":"credential_id","in":"path","description":"Credential Id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/projects/{root_project_id}/credentials":{"get":{"tags":["Project"],"operationId":"get_all_repository_credentials","summary":"Get All Repository Credentials","description":"### Get all Repository Credentials for a project\n\n`root_project_id` is required.\n","parameters":[{"name":"root_project_id","in":"path","description":"Root Project Id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Repository Credential","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RepositoryCredential"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/roles":{"get":{"tags":["Role"],"operationId":"all_roles","summary":"Get All Roles","description":"### Get information about all roles.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"ids","in":"query","description":"Optional list of ids to get specific roles.","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Role","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Role"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"post":{"tags":["Role"],"operationId":"create_role","summary":"Create Role","description":"### Create a role with the specified information.\n","requestBody":{"$ref":"#/components/requestBodies/Role"},"responses":{"200":{"description":"Role","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/roles/search":{"get":{"tags":["Role"],"operationId":"search_roles","summary":"Search Roles","description":"### Search roles\n\nReturns all role records that match the given search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Number of results to return (used with `offset`).","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"offset","in":"query","description":"Number of results to skip before returning any (used with `limit`).","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"sorts","in":"query","description":"Fields to sort by.","required":false,"schema":{"type":"string"}},{"name":"id","in":"query","description":"Match role id.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"name","in":"query","description":"Match role name.","required":false,"schema":{"type":"string"}},{"name":"built_in","in":"query","description":"Match roles by built_in status.","required":false,"schema":{"type":"boolean"}},{"name":"filter_or","in":"query","description":"Combine given search criteria in a boolean OR expression.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Role","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Role"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/roles/{role_id}":{"get":{"tags":["Role"],"operationId":"role","summary":"Get Role","description":"### Get information about the role with a specific id.\n","parameters":[{"name":"role_id","in":"path","description":"id of role","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Role","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"delete":{"tags":["Role"],"operationId":"delete_role","summary":"Delete Role","description":"### Delete the role with a specific id.\n","parameters":[{"name":"role_id","in":"path","description":"id of role","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"Resource Can't Be Modified","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"patch":{"tags":["Role"],"operationId":"update_role","summary":"Update Role","description":"### Update information about the role with a specific id.\n","parameters":[{"name":"role_id","in":"path","description":"id of role","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"$ref":"#/components/requestBodies/Role"},"responses":{"200":{"description":"Role","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"Resource Can't Be Modified","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/roles/{role_id}/groups":{"get":{"tags":["Role"],"operationId":"role_groups","summary":"Get Role Groups","description":"### Get information about all the groups with the role that has a specific id.\n","parameters":[{"name":"role_id","in":"path","description":"id of role","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Groups with role.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Group"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"put":{"tags":["Role"],"operationId":"set_role_groups","summary":"Update Role Groups","description":"### Set all groups for a role, removing all existing group associations from that role.\n","parameters":[{"name":"role_id","in":"path","description":"Id of Role","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int64"}}}},"description":"Array of Group Ids","required":true},"responses":{"200":{"description":"Groups with role.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Group"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/roles/{role_id}/users":{"get":{"tags":["Role"],"operationId":"role_users","summary":"Get Role Users","description":"### Get information about all the users with the role that has a specific id.\n","parameters":[{"name":"role_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"direct_association_only","in":"query","description":"Get only users associated directly with the role: exclude those only associated through groups.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Users with role.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"put":{"tags":["Role"],"operationId":"set_role_users","summary":"Update Role Users","description":"### Set all the users of the role with a specific id.\n","parameters":[{"name":"role_id","in":"path","description":"id of role","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int64"}}}},"description":"array of user ids for role","required":true},"responses":{"200":{"description":"Users with role.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Permission Denied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"Resource Can't Be Modified","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/running_queries":{"get":{"tags":["Query"],"operationId":"all_running_queries","summary":"Get All Running Queries","description":"Get information about all running queries.\n","responses":{"200":{"description":"Running Queries.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RunningQueries"}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"db_query"}},"/running_queries/{query_task_id}":{"delete":{"tags":["Query"],"operationId":"kill_query","summary":"Kill Running Query","description":"Kill a query with a specific query_task_id.\n","parameters":[{"name":"query_task_id","in":"path","description":"Query task id.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Query successfully killed.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}},"x-looker-status":"stable","x-looker-activity-type":"db_query"}},"/saml_config":{"get":{"tags":["Auth"],"operationId":"saml_config","summary":"Get SAML Configuration","description":"### Get the SAML configuration.\n\nLooker can be optionally configured to authenticate users against a SAML authentication server.\nSAML setup requires coordination with an administrator of that server.\n\nOnly Looker administrators can read and update the SAML configuration.\n\nConfiguring SAML impacts authentication for all users. This configuration should be done carefully.\n\nLooker maintains a single SAML configuation. 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).\n\nSAML is enabled or disabled for Looker using the **enabled** field.\n","responses":{"200":{"description":"SAML Configuration.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SamlConfig"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"patch":{"tags":["Auth"],"operationId":"update_saml_config","summary":"Update SAML Configuration","description":"### Update the SAML configuration.\n\nConfiguring SAML impacts authentication for all users. This configuration should be done carefully.\n\nOnly Looker administrators can read and update the SAML configuration.\n\nSAML is enabled or disabled for Looker using the **enabled** field.\n\nIt is **highly** recommended that any SAML setting changes be tested using the APIs below before being set globally.\n","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SamlConfig"}}},"description":"SAML Config","required":true},"responses":{"200":{"description":"New state for SAML Configuration.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SamlConfig"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/saml_test_configs/{test_slug}":{"get":{"tags":["Auth"],"operationId":"saml_test_config","summary":"Get SAML Test Configuration","description":"### Get a SAML test configuration by test_slug.\n","parameters":[{"name":"test_slug","in":"path","description":"Slug of test config","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"SAML test config.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SamlConfig"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"delete":{"tags":["Auth"],"operationId":"delete_saml_test_config","summary":"Delete SAML Test Configuration","description":"### Delete a SAML test configuration.\n","parameters":[{"name":"test_slug","in":"path","description":"Slug of test config","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Test config succssfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/saml_test_configs":{"post":{"tags":["Auth"],"operationId":"create_saml_test_config","summary":"Create SAML Test Configuration","description":"### Create a SAML test configuration.\n","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SamlConfig"}}},"description":"SAML test config","required":true},"responses":{"200":{"description":"SAML test config","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SamlConfig"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/parse_saml_idp_metadata":{"post":{"tags":["Auth"],"operationId":"parse_saml_idp_metadata","summary":"Parse SAML IdP XML","description":"### Parse the given xml as a SAML IdP metadata document and return the result.\n","requestBody":{"content":{"text/plain":{"schema":{"type":"string"}}},"description":"SAML IdP metadata xml","required":true},"responses":{"200":{"description":"Parse result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SamlMetadataParseResult"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/fetch_and_parse_saml_idp_metadata":{"post":{"tags":["Auth"],"operationId":"fetch_and_parse_saml_idp_metadata","summary":"Parse SAML IdP Url","description":"### Fetch the given url and parse it as a SAML IdP metadata document and return the result.\nNote that this requires that the url be public or at least at a location where the Looker instance\ncan fetch it without requiring any special authentication.\n","requestBody":{"content":{"text/plain":{"schema":{"type":"string"}}},"description":"SAML IdP metadata public url","required":true},"responses":{"200":{"description":"Parse result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SamlMetadataParseResult"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/scheduled_plans/space/{space_id}":{"get":{"tags":["ScheduledPlan"],"operationId":"scheduled_plans_for_space","summary":"Scheduled Plans for Space","description":"### Get Scheduled Plans for a Space\n\nReturns scheduled plans owned by the caller for a given space id.\n","parameters":[{"name":"space_id","in":"path","description":"Space Id","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Scheduled Plan","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScheduledPlan"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query"}},"/scheduled_plans/{scheduled_plan_id}":{"delete":{"tags":["ScheduledPlan"],"operationId":"delete_scheduled_plan","summary":"Delete Scheduled Plan","description":"### Delete a Scheduled Plan\n\nNormal users can only delete their own scheduled plans.\nAdmins can delete other users' scheduled plans.\nThis delete cannot be undone.\n","parameters":[{"name":"scheduled_plan_id","in":"path","description":"Scheduled Plan Id","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query"},"patch":{"tags":["ScheduledPlan"],"operationId":"update_scheduled_plan","summary":"Update Scheduled Plan","description":"### Update a Scheduled Plan\n\nAdmins can update other users' Scheduled Plans.\n\nNote: Any scheduled plan destinations specified in an update will **replace** all scheduled plan destinations\ncurrently defined for the scheduled plan.\n\nFor Example: If a scheduled plan has destinations A, B, and C, and you call update on this scheduled plan\nspecifying only B in the destinations, then destinations A and C will be deleted by the update.\n\nUpdating 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.\n\nIf you omit the scheduled_plan_destinations property from the object passed to update, then the destinations\ndefined on the original scheduled plan will remain unchanged.\n\n#### Email Permissions:\n\nFor details about permissions required to schedule delivery to email and the safeguards\nLooker offers to protect against sending to unauthorized email destinations, see [Email Domain Whitelist for Scheduled Looks](https://docs.looker.com/r/api/embed-permissions).\n\n\n#### Scheduled Plan Destination Formats\n\nScheduled plan destinations must specify the data format to produce and send to the destination.\n\nFormats:\n\n| format | Description\n| :-----------: | :--- |\n| json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| 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.\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| xlsx | MS Excel spreadsheet\n| wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n| assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n| wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n||\n\nValid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n\n\n","parameters":[{"name":"scheduled_plan_id","in":"path","description":"Scheduled Plan Id","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"$ref":"#/components/requestBodies/ScheduledPlan"},"responses":{"200":{"description":"Scheduled Plan","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduledPlan"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query"},"get":{"tags":["ScheduledPlan"],"operationId":"scheduled_plan","summary":"Get Scheduled Plan","description":"### Get Information About a Scheduled Plan\n\nAdmins can fetch information about other users' Scheduled Plans.\n","parameters":[{"name":"scheduled_plan_id","in":"path","description":"Scheduled Plan Id","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Scheduled Plan","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduledPlan"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query"}},"/scheduled_plans":{"post":{"tags":["ScheduledPlan"],"operationId":"create_scheduled_plan","summary":"Create Scheduled Plan","description":"### Create a Scheduled Plan\n\nCreate a scheduled plan to render a Look or Dashboard on a recurring schedule.\n\nTo create a scheduled plan, you MUST provide values for the following fields:\n`name`\nand\n`look_id`, `dashboard_id`, `lookml_dashboard_id`, or `query_id`\nand\n`cron_tab` or `datagroup`\nand\nat least one scheduled_plan_destination\n\nA scheduled plan MUST have at least one scheduled_plan_destination defined.\n\nWhen `look_id` is set, `require_no_results`, `require_results`, and `require_change` are all required.\n\nIf `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.\n\nThe queries that provide the data for the look or dashboard are run in the context of user account that owns the scheduled plan.\n\nWhen `run_as_recipient` is `false` or not specified, the queries that provide the data for the\nlook or dashboard are run in the context of user account that owns the scheduled plan.\n\nWhen `run_as_recipient` is `true` and all the email recipients are Looker user accounts, the\nqueries are run in the context of each recipient, so different recipients may see different\ndata from the same scheduled render of a look or dashboard. For more details, see [Run As Recipient](https://looker.com/docs/r/admin/run-as-recipient).\n\nAdmins can create and modify scheduled plans on behalf of other users by specifying a user id.\nNon-admin users may not create or modify scheduled plans by or for other users.\n\n#### Email Permissions:\n\nFor details about permissions required to schedule delivery to email and the safeguards\nLooker offers to protect against sending to unauthorized email destinations, see [Email Domain Whitelist for Scheduled Looks](https://docs.looker.com/r/api/embed-permissions).\n\n\n#### Scheduled Plan Destination Formats\n\nScheduled plan destinations must specify the data format to produce and send to the destination.\n\nFormats:\n\n| format | Description\n| :-----------: | :--- |\n| json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| 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.\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| xlsx | MS Excel spreadsheet\n| wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n| assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n| wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n||\n\nValid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n\n\n","requestBody":{"$ref":"#/components/requestBodies/ScheduledPlan"},"responses":{"200":{"description":"Scheduled Plan","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduledPlan"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query"},"get":{"tags":["ScheduledPlan"],"operationId":"all_scheduled_plans","summary":"Get All Scheduled Plans","description":"### List All Scheduled Plans\n\nReturns all scheduled plans which belong to the caller or given user.\n\nIf no user_id is provided, this function returns the scheduled plans owned by the caller.\n\n\nTo list all schedules for all users, pass `all_users=true`.\n\n\nThe caller must have `see_schedules` permission to see other users' scheduled plans.\n\n\n","parameters":[{"name":"user_id","in":"query","description":"Return scheduled plans belonging to this user_id. If not provided, returns scheduled plans owned by the caller.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Comma delimited list of field names. If provided, only the fields specified will be included in the response","required":false,"schema":{"type":"string"}},{"name":"all_users","in":"query","description":"Return scheduled plans belonging to all users (caller needs see_schedules permission)","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Scheduled Plan","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScheduledPlan"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query"}},"/scheduled_plans/run_once":{"post":{"tags":["ScheduledPlan"],"operationId":"scheduled_plan_run_once","summary":"Run Scheduled Plan Once","description":"### Run a Scheduled Plan Immediately\n\nCreate a scheduled plan that runs only once, and immediately.\n\nThis can be useful for testing a Scheduled Plan before committing to a production schedule.\n\nAdmins can create scheduled plans on behalf of other users by specifying a user id.\n\nThis API is rate limited to prevent it from being used for relay spam or DoS attacks\n\n#### Email Permissions:\n\nFor details about permissions required to schedule delivery to email and the safeguards\nLooker offers to protect against sending to unauthorized email destinations, see [Email Domain Whitelist for Scheduled Looks](https://docs.looker.com/r/api/embed-permissions).\n\n\n#### Scheduled Plan Destination Formats\n\nScheduled plan destinations must specify the data format to produce and send to the destination.\n\nFormats:\n\n| format | Description\n| :-----------: | :--- |\n| json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| 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.\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| xlsx | MS Excel spreadsheet\n| wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n| assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n| wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n||\n\nValid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n\n\n","requestBody":{"$ref":"#/components/requestBodies/ScheduledPlan"},"responses":{"200":{"description":"Scheduled Plan","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduledPlan"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query","x-looker-rate-limited":true}},"/scheduled_plans/look/{look_id}":{"get":{"tags":["ScheduledPlan"],"operationId":"scheduled_plans_for_look","summary":"Scheduled Plans for Look","description":"### Get Scheduled Plans for a Look\n\nReturns all scheduled plans for a look which belong to the caller or given user.\n\nIf no user_id is provided, this function returns the scheduled plans owned by the caller.\n\n\nTo list all schedules for all users, pass `all_users=true`.\n\n\nThe caller must have `see_schedules` permission to see other users' scheduled plans.\n\n\n","parameters":[{"name":"look_id","in":"path","description":"Look Id","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"user_id","in":"query","description":"User Id (default is requesting user if not specified)","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"all_users","in":"query","description":"Return scheduled plans belonging to all users for the look","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Scheduled Plan","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScheduledPlan"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query"}},"/scheduled_plans/dashboard/{dashboard_id}":{"get":{"tags":["ScheduledPlan"],"operationId":"scheduled_plans_for_dashboard","summary":"Scheduled Plans for Dashboard","description":"### Get Scheduled Plans for a Dashboard\n\nReturns all scheduled plans for a dashboard which belong to the caller or given user.\n\nIf no user_id is provided, this function returns the scheduled plans owned by the caller.\n\n\nTo list all schedules for all users, pass `all_users=true`.\n\n\nThe caller must have `see_schedules` permission to see other users' scheduled plans.\n\n\n","parameters":[{"name":"dashboard_id","in":"path","description":"Dashboard Id","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"user_id","in":"query","description":"User Id (default is requesting user if not specified)","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"all_users","in":"query","description":"Return scheduled plans belonging to all users for the dashboard","required":false,"schema":{"type":"boolean"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Scheduled Plan","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScheduledPlan"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query"}},"/scheduled_plans/lookml_dashboard/{lookml_dashboard_id}":{"get":{"tags":["ScheduledPlan"],"operationId":"scheduled_plans_for_lookml_dashboard","summary":"Scheduled Plans for LookML Dashboard","description":"### Get Scheduled Plans for a LookML Dashboard\n\nReturns all scheduled plans for a LookML Dashboard which belong to the caller or given user.\n\nIf no user_id is provided, this function returns the scheduled plans owned by the caller.\n\n\nTo list all schedules for all users, pass `all_users=true`.\n\n\nThe caller must have `see_schedules` permission to see other users' scheduled plans.\n\n\n","parameters":[{"name":"lookml_dashboard_id","in":"path","description":"LookML Dashboard Id","required":true,"schema":{"type":"string"}},{"name":"user_id","in":"query","description":"User Id (default is requesting user if not specified)","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"all_users","in":"query","description":"Return scheduled plans belonging to all users for the dashboard","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Scheduled Plan","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScheduledPlan"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query"}},"/scheduled_plans/{scheduled_plan_id}/run_once":{"post":{"tags":["ScheduledPlan"],"operationId":"scheduled_plan_run_once_by_id","summary":"Run Scheduled Plan Once by Id","description":"### Run a Scheduled Plan By Id Immediately\nThis function creates a run-once schedule plan based on an existing scheduled plan,\napplies modifications (if any) to the new scheduled plan, and runs the new schedule plan immediately.\nThis can be useful for testing modifications to an existing scheduled plan before committing to a production schedule.\n\nThis function internally performs the following operations:\n\n1. Copies the properties of the existing scheduled plan into a new scheduled plan\n2. Copies any properties passed in the JSON body of this request into the new scheduled plan (replacing the original values)\n3. Creates the new scheduled plan\n4. Runs the new scheduled plan\n\nThe original scheduled plan is not modified by this operation.\nAdmins can create, modify, and run scheduled plans on behalf of other users by specifying a user id.\nNon-admins can only create, modify, and run their own scheduled plans.\n\n#### Email Permissions:\n\nFor details about permissions required to schedule delivery to email and the safeguards\nLooker offers to protect against sending to unauthorized email destinations, see [Email Domain Whitelist for Scheduled Looks](https://docs.looker.com/r/api/embed-permissions).\n\n\n#### Scheduled Plan Destination Formats\n\nScheduled plan destinations must specify the data format to produce and send to the destination.\n\nFormats:\n\n| format | Description\n| :-----------: | :--- |\n| json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n| json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n| 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.\n| csv | Comma separated values with a header\n| txt | Tab separated values with a header\n| html | Simple html\n| xlsx | MS Excel spreadsheet\n| wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n| assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n| wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n||\n\nValid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n\n\n\nThis API is rate limited to prevent it from being used for relay spam or DoS attacks\n\n","parameters":[{"name":"scheduled_plan_id","in":"path","description":"Id of schedule plan to copy and run","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WriteScheduledPlan"}}},"description":"Property values to apply to the newly copied scheduled plan before running it"},"responses":{"200":{"description":"Scheduled Plan","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduledPlan"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query","x-looker-rate-limited":true}},"/session_config":{"get":{"tags":["Auth"],"operationId":"session_config","summary":"Get Session Config","description":"### Get session config.\n","responses":{"200":{"description":"Session Config","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionConfig"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["Auth"],"operationId":"update_session_config","summary":"Update Session Config","description":"### Update session config.\n","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionConfig"}}},"description":"Session Config","required":true},"responses":{"200":{"description":"Session Config","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionConfig"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/session":{"get":{"tags":["Session"],"operationId":"session","summary":"Get Session","description":"### Get API Session\n\nReturns information about the current API session, such as which workspace is selected for the session.\n","responses":{"200":{"description":"Session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSession"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["Session"],"operationId":"update_session","summary":"Update Session","description":"### Update API Session\n\n#### API Session Workspace\n\nYou can use this endpoint to change the active workspace for the current API session.\n\nOnly one workspace can be active in a session. The active workspace can be changed\nany number of times in a session.\n\nThe default workspace for API sessions is the \"production\" workspace.\n\nAll Looker APIs that use projects or lookml models (such as running queries) will\nuse the version of project and model files defined by this workspace for the lifetime of the\ncurrent API session or until the session workspace is changed again.\n\nAn API session has the same lifetime as the access_token used to authenticate API requests. Each successful\nAPI login generates a new access_token and a new API session.\n\nIf your Looker API client application needs to work in a dev workspace across multiple\nAPI sessions, be sure to select the dev workspace after each login.\n","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSession"}}},"description":"Session","required":true},"responses":{"200":{"description":"Session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSession"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/folders/search":{"get":{"tags":["Folder"],"operationId":"search_folders","summary":"Search Folders","description":"Search for folders by creator id, parent id, name, etc","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Requested page.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"per_page","in":"query","description":"Results per page.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"limit","in":"query","description":"Number of results to return. (used with offset and takes priority over page and per_page)","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"offset","in":"query","description":"Number of results to skip before returning any. (used with limit and takes priority over page and per_page)","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"sorts","in":"query","description":"Fields to sort by.","required":false,"schema":{"type":"string"}},{"name":"name","in":"query","description":"Match Space title.","required":false,"schema":{"type":"string"}},{"name":"id","in":"query","description":"Match Space id","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"parent_id","in":"query","description":"Filter on a children of a particular folder.","required":false,"schema":{"type":"string"}},{"name":"creator_id","in":"query","description":"Filter on folder created by a particular user.","required":false,"schema":{"type":"string"}},{"name":"filter_or","in":"query","description":"Combine given search criteria in a boolean OR expression","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"folders","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Folder"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/folders/{folder_id}":{"get":{"tags":["Folder"],"operationId":"folder","summary":"Get Folder","description":"### Get information about the folder with a specific id.","parameters":[{"name":"folder_id","in":"path","description":"Id of folder","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Folder","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Folder"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"delete":{"tags":["Folder"],"operationId":"delete_folder","summary":"Delete Folder","description":"### Delete the folder with a specific id including any children folders.\n**DANGER** this will delete all looks and dashboards in the folder.\n","parameters":[{"name":"folder_id","in":"path","description":"Id of folder","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["Folder"],"operationId":"update_folder","summary":"Update Folder","description":"### Update the folder with a specific id.","parameters":[{"name":"folder_id","in":"path","description":"Id of folder","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFolder"}}},"description":"Folder parameters","required":true},"responses":{"200":{"description":"Folder","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Folder"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/folders":{"get":{"tags":["Folder"],"operationId":"all_folders","summary":"Get All Folders","description":"### Get information about all folders.\n\nIn API 3.x, this will not return empty personal folders, unless they belong to the calling user.\nIn API 4.0+, all personal folders will be returned.\n\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Folder","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Folder"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"post":{"tags":["Folder"],"operationId":"create_folder","summary":"Create Folder","description":"### Create a folder with specified information.\n\nCaller must have permission to edit the parent folder and to create folders, otherwise the request\nreturns 404 Not Found.\n","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFolder"}}},"description":"Folder parameters","required":true},"responses":{"200":{"description":"Folder","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Folder"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/folders/{folder_id}/children":{"get":{"tags":["Folder"],"operationId":"folder_children","summary":"Get Folder Children","description":"### Get the children of a folder.","parameters":[{"name":"folder_id","in":"path","description":"Id of folder","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Requested page.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"per_page","in":"query","description":"Results per page.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"sorts","in":"query","description":"Fields to sort by.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Folders","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Folder"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/folders/{folder_id}/children/search":{"get":{"tags":["Folder"],"operationId":"folder_children_search","summary":"Search Folder Children","description":"### Search the children of a folder","parameters":[{"name":"folder_id","in":"path","description":"Id of folder","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"sorts","in":"query","description":"Fields to sort by.","required":false,"schema":{"type":"string"}},{"name":"name","in":"query","description":"Match folder name.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Folders","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Folder"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/folders/{folder_id}/parent":{"get":{"tags":["Folder"],"operationId":"folder_parent","summary":"Get Folder Parent","description":"### Get the parent of a folder","parameters":[{"name":"folder_id","in":"path","description":"Id of folder","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Folder","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Folder"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/folders/{folder_id}/ancestors":{"get":{"tags":["Folder"],"operationId":"folder_ancestors","summary":"Get Folder Ancestors","description":"### Get the ancestors of a folder","parameters":[{"name":"folder_id","in":"path","description":"Id of folder","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Folders","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Folder"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/folders/{folder_id}/looks":{"get":{"tags":["Folder"],"operationId":"folder_looks","summary":"Get Folder Looks","description":"### Get all looks in a folder.\nIn API 3.x, this will return all looks in a folder, including looks in the trash.\nIn API 4.0+, all looks in a folder will be returned, excluding looks in the trash.\n","parameters":[{"name":"folder_id","in":"path","description":"Id of folder","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Looks","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LookWithQuery"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/folders/{folder_id}/dashboards":{"get":{"tags":["Folder"],"operationId":"folder_dashboards","summary":"Get Folder Dashboards","description":"### Get the dashboards in a folder","parameters":[{"name":"folder_id","in":"path","description":"Id of folder","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Dashboard","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Dashboard"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/sql_queries/{slug}":{"get":{"tags":["Query"],"operationId":"sql_query","summary":"Get SQL Runner Query","description":"Get a SQL Runner query.","parameters":[{"name":"slug","in":"path","description":"slug of query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"SQL Runner Query","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SqlQuery"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query"}},"/sql_queries":{"post":{"tags":["Query"],"operationId":"create_sql_query","summary":"Create SQL Runner Query","description":"### Create a SQL Runner Query\n\nEither the `connection_name` or `model_name` parameter MUST be provided.\n","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SqlQueryCreate"}}},"description":"SQL Runner Query","required":true},"responses":{"200":{"description":"SQL Runner Query","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SqlQuery"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query"}},"/sql_queries/{slug}/run/{result_format}":{"post":{"tags":["Query"],"operationId":"run_sql_query","summary":"Run SQL Runner Query","description":"Execute a SQL Runner query in a given result_format.","parameters":[{"name":"slug","in":"path","description":"slug of query","required":true,"schema":{"type":"string"}},{"name":"result_format","in":"path","description":"Format of result, options are: [\"inline_json\", \"json\", \"json_detail\", \"json_fe\", \"csv\", \"html\", \"md\", \"txt\", \"xlsx\", \"gsxml\", \"json_label\"]","required":true,"schema":{"type":"string"}},{"name":"download","in":"query","description":"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.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"SQL Runner Query","content":{"text":{"schema":{"type":"string"}},"application/json":{"schema":{"type":"string"}},"image/png":{"schema":{"type":"string"}},"image/jpeg":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"text":{"schema":{"$ref":"#/components/schemas/Error"}},"application/json":{"schema":{"$ref":"#/components/schemas/Error"}},"image/png":{"schema":{"$ref":"#/components/schemas/Error"}},"image/jpeg":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"text":{"schema":{"$ref":"#/components/schemas/Error"}},"application/json":{"schema":{"$ref":"#/components/schemas/Error"}},"image/png":{"schema":{"$ref":"#/components/schemas/Error"}},"image/jpeg":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"text":{"schema":{"$ref":"#/components/schemas/ValidationError"}},"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}},"image/png":{"schema":{"$ref":"#/components/schemas/ValidationError"}},"image/jpeg":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"text":{"schema":{"$ref":"#/components/schemas/Error"}},"application/json":{"schema":{"$ref":"#/components/schemas/Error"}},"image/png":{"schema":{"$ref":"#/components/schemas/Error"}},"image/jpeg":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"db_query"}},"/themes":{"get":{"tags":["Theme"],"operationId":"all_themes","summary":"Get All Themes","description":"### Get an array of all existing themes\n\nGet a **single theme** by id with [Theme](#!/Theme/theme)\n\nThis method returns an array of all existing themes. The active time for the theme is not considered.\n\n**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 help.looker.com to update your license for this feature.\n\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Themes","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Theme"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"post":{"tags":["Theme"],"operationId":"create_theme","summary":"Create Theme","description":"### Create a theme\n\nCreates a new theme object, returning the theme details, including the created id.\n\nIf `settings` are not specified, the default theme settings will be copied into the new theme.\n\nThe theme `name` can only contain alphanumeric characters or underscores. Theme names should not contain any confidential information, such as customer names.\n\n**Update** an existing theme with [Update Theme](#!/Theme/update_theme)\n\n**Permanently delete** an existing theme with [Delete Theme](#!/Theme/delete_theme)\n\nFor more information, see [Creating and Applying Themes](https://looker.com/docs/r/admin/themes).\n\n**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 help.looker.com to update your license for this feature.\n\n","requestBody":{"$ref":"#/components/requestBodies/Theme"},"responses":{"200":{"description":"Theme","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Theme"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/themes/search":{"get":{"tags":["Theme"],"operationId":"search_themes","summary":"Search Themes","description":"### Search all themes for matching criteria.\n\nReturns an **array of theme objects** that match the specified search criteria.\n\n| Search Parameters | Description\n| :-------------------: | :------ |\n| `begin_at` only | Find themes active at or after `begin_at`\n| `end_at` only | Find themes active at or before `end_at`\n| both set | Find themes with an active inclusive period between `begin_at` and `end_at`\n\nNote: Range matching requires boolean AND logic.\nWhen using `begin_at` and `end_at` together, do not use `filter_or`=TRUE\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\nGet a **single theme** by id with [Theme](#!/Theme/theme)\n\n**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 help.looker.com to update your license for this feature.\n\n","parameters":[{"name":"id","in":"query","description":"Match theme id.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"name","in":"query","description":"Match theme name.","required":false,"schema":{"type":"string"}},{"name":"begin_at","in":"query","description":"Timestamp for activation.","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"end_at","in":"query","description":"Timestamp for expiration.","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"limit","in":"query","description":"Number of results to return (used with `offset`).","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"offset","in":"query","description":"Number of results to skip before returning any (used with `limit`).","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"sorts","in":"query","description":"Fields to sort by.","required":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"filter_or","in":"query","description":"Combine given search criteria in a boolean OR expression","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Themes","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Theme"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/themes/default":{"get":{"tags":["Theme"],"operationId":"default_theme","summary":"Get Default Theme","description":"### Get the default theme\n\nReturns the active theme object set as the default.\n\nThe **default** theme name can be set in the UI on the Admin|Theme UI page\n\nThe optional `ts` parameter can specify a different timestamp than \"now.\" If specified, it returns the default theme at the time indicated.\n","parameters":[{"name":"ts","in":"query","description":"Timestamp representing the target datetime for the active period. Defaults to 'now'","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Theme","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Theme"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"put":{"tags":["Theme"],"operationId":"set_default_theme","summary":"Set Default Theme","description":"### Set the global default theme by theme name\n\nOnly Admin users can call this function.\n\nOnly 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.\n\n[Create Theme](#!/Theme/create) has detailed information on rules for default and active themes\n\nReturns the new specified default theme object.\n\n**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 help.looker.com to update your license for this feature.\n\n","parameters":[{"name":"name","in":"query","description":"Name of theme to set as default","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Theme","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Theme"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/themes/active":{"get":{"tags":["Theme"],"operationId":"active_themes","summary":"Get Active Themes","description":"### Get active themes\n\nReturns an array of active themes.\n\nIf the `name` parameter is specified, it will return an array with one theme if it's active and found.\n\nThe optional `ts` parameter can specify a different timestamp than \"now.\"\n\n**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 help.looker.com to update your license for this feature.\n\n\n","parameters":[{"name":"name","in":"query","description":"Name of theme","required":false,"schema":{"type":"string"}},{"name":"ts","in":"query","description":"Timestamp representing the target datetime for the active period. Defaults to 'now'","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Themes","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Theme"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/themes/theme_or_default":{"get":{"tags":["Theme"],"operationId":"theme_or_default","summary":"Get Theme or Default","description":"### Get the named theme if it's active. Otherwise, return the default theme\n\nThe optional `ts` parameter can specify a different timestamp than \"now.\"\nNote: API users with `show` ability can call this function\n\n**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 help.looker.com to update your license for this feature.\n\n","parameters":[{"name":"name","in":"query","description":"Name of theme","required":true,"schema":{"type":"string"}},{"name":"ts","in":"query","description":"Timestamp representing the target datetime for the active period. Defaults to 'now'","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Theme","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Theme"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/themes/validate":{"post":{"tags":["Theme"],"operationId":"validate_theme","summary":"Validate Theme","description":"### Validate a theme with the specified information\n\nValidates all values set for the theme, returning any errors encountered, or 200 OK if valid\n\nSee [Create Theme](#!/Theme/create_theme) for constraints\n\n**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 help.looker.com to update your license for this feature.\n\n","requestBody":{"$ref":"#/components/requestBodies/Theme"},"responses":{"200":{"description":"Theme validation results","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"204":{"description":"No errors detected with the theme","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/themes/{theme_id}":{"get":{"tags":["Theme"],"operationId":"theme","summary":"Get Theme","description":"### Get a theme by ID\n\nUse this to retrieve a specific theme, whether or not it's currently active.\n\n**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 help.looker.com to update your license for this feature.\n\n","parameters":[{"name":"theme_id","in":"path","description":"Id of theme","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Theme","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Theme"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["Theme"],"operationId":"update_theme","summary":"Update Theme","description":"### Update the theme by id.\n\n**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 help.looker.com to update your license for this feature.\n\n","parameters":[{"name":"theme_id","in":"path","description":"Id of theme","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"$ref":"#/components/requestBodies/Theme"},"responses":{"200":{"description":"Theme","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Theme"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"delete":{"tags":["Theme"],"operationId":"delete_theme","summary":"Delete Theme","description":"### Delete a specific theme by id\n\nThis operation permanently deletes the identified theme from the database.\n\nBecause multiple themes can have the same name (with different activation time spans) themes can only be deleted by ID.\n\nAll IDs associated with a theme name can be retrieved by searching for the theme name with [Theme Search](#!/Theme/search).\n\n**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 help.looker.com to update your license for this feature.\n\n","parameters":[{"name":"theme_id","in":"path","description":"Id of theme","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/timezones":{"get":{"tags":["Config"],"operationId":"all_timezones","summary":"Get All Timezones","description":"### Get a list of timezones that Looker supports (e.g. useful for scheduling tasks).\n","responses":{"200":{"description":"Timezone","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Timezone"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/ssh_servers":{"get":{"tags":["Connection"],"operationId":"all_ssh_servers","summary":"Get All SSH Servers","description":"### Get information about all SSH Servers.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"SSH Server","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SshServer"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"post":{"tags":["Connection"],"operationId":"create_ssh_server","summary":"Create SSH Server","description":"### Create an SSH Server.\n","requestBody":{"$ref":"#/components/requestBodies/SshServer"},"responses":{"200":{"description":"SSH Server","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshServer"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/ssh_server/{ssh_server_id}":{"get":{"tags":["Connection"],"operationId":"ssh_server","summary":"Get SSH Server","description":"### Get information about an SSH Server.\n","parameters":[{"name":"ssh_server_id","in":"path","description":"Id of SSH Server","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"SSH Server","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshServer"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["Connection"],"operationId":"update_ssh_server","summary":"Update SSH Server","description":"### Update an SSH Server.\n","parameters":[{"name":"ssh_server_id","in":"path","description":"Id of SSH Server","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/SshServer"},"responses":{"200":{"description":"SSH Server","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshServer"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"delete":{"tags":["Connection"],"operationId":"delete_ssh_server","summary":"Delete SSH Server","description":"### Delete an SSH Server.\n","parameters":[{"name":"ssh_server_id","in":"path","description":"Id of SSH Server","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/ssh_server/{ssh_server_id}/test":{"get":{"tags":["Connection"],"operationId":"test_ssh_server","summary":"Test SSH Server","description":"### Test the SSH Server\n","parameters":[{"name":"ssh_server_id","in":"path","description":"Id of SSH Server","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Test SSH Server","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshServer"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/ssh_tunnels":{"get":{"tags":["Connection"],"operationId":"all_ssh_tunnels","summary":"Get All SSH Tunnels","description":"### Get information about all SSH Tunnels.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"SSH Tunnel","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SshTunnel"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"post":{"tags":["Connection"],"operationId":"create_ssh_tunnel","summary":"Create SSH Tunnel","description":"### Create an SSH Tunnel\n","requestBody":{"$ref":"#/components/requestBodies/SshTunnel"},"responses":{"200":{"description":"SSH Tunnel","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshTunnel"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/ssh_tunnel/{ssh_tunnel_id}":{"get":{"tags":["Connection"],"operationId":"ssh_tunnel","summary":"Get SSH Tunnel","description":"### Get information about an SSH Tunnel.\n","parameters":[{"name":"ssh_tunnel_id","in":"path","description":"Id of SSH Tunnel","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"SSH Tunnel","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshTunnel"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"patch":{"tags":["Connection"],"operationId":"update_ssh_tunnel","summary":"Update SSH Tunnel","description":"### Update an SSH Tunnel\n","parameters":[{"name":"ssh_tunnel_id","in":"path","description":"Id of SSH Tunnel","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/SshTunnel"},"responses":{"200":{"description":"SSH Tunnel","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshTunnel"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"delete":{"tags":["Connection"],"operationId":"delete_ssh_tunnel","summary":"Delete SSH Tunnel","description":"### Delete an SSH Tunnel\n","parameters":[{"name":"ssh_tunnel_id","in":"path","description":"Id of SSH Tunnel","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/ssh_tunnel/{ssh_tunnel_id}/test":{"get":{"tags":["Connection"],"operationId":"test_ssh_tunnel","summary":"Test SSH Tunnel","description":"### Test the SSH Tunnel\n","parameters":[{"name":"ssh_tunnel_id","in":"path","description":"Id of SSH Tunnel","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Test SSH Tunnel","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshTunnel"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/ssh_public_key":{"get":{"tags":["Connection"],"operationId":"ssh_public_key","summary":"Get SSH Public Key","description":"### Get the SSH public key\n\nGet the public key created for this instance to identify itself to a remote SSH server.\n","responses":{"200":{"description":"SSH Public Key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshPublicKey"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/user_attributes":{"get":{"tags":["UserAttribute"],"operationId":"all_user_attributes","summary":"Get All User Attributes","description":"### Get information about all user attributes.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"sorts","in":"query","description":"Fields to order the results by. Sortable fields include: name, label","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"User Attribute","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserAttribute"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"post":{"tags":["UserAttribute"],"operationId":"create_user_attribute","summary":"Create User Attribute","description":"### Create a new user attribute\n\nPermission information for a user attribute is conveyed through the `can` and `user_can_edit` fields.\nThe `user_can_edit` field indicates whether an attribute is user-editable _anywhere_ in the application.\nThe `can` field gives more granular access information, with the `set_value` child field indicating whether\nan attribute's value can be set by [Setting the User Attribute User Value](#!/User/set_user_attribute_user_value).\n\nNote: `name` and `label` fields must be unique across all user attributes in the Looker instance.\nAttempting to create a new user attribute with a name or label that duplicates an existing\nuser attribute will fail with a 422 error.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/UserAttribute"},"responses":{"200":{"description":"User Attribute","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAttribute"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/user_attributes/{user_attribute_id}":{"get":{"tags":["UserAttribute"],"operationId":"user_attribute","summary":"Get User Attribute","description":"### Get information about a user attribute.\n","parameters":[{"name":"user_attribute_id","in":"path","description":"Id of user attribute","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"User Attribute","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAttribute"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"patch":{"tags":["UserAttribute"],"operationId":"update_user_attribute","summary":"Update User Attribute","description":"### Update a user attribute definition.\n","parameters":[{"name":"user_attribute_id","in":"path","description":"Id of user attribute","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/UserAttribute"},"responses":{"200":{"description":"User Attribute","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAttribute"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"delete":{"tags":["UserAttribute"],"operationId":"delete_user_attribute","summary":"Delete User Attribute","description":"### Delete a user attribute (admin only).\n","parameters":[{"name":"user_attribute_id","in":"path","description":"Id of user_attribute","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/user_attributes/{user_attribute_id}/group_values":{"get":{"tags":["UserAttribute"],"operationId":"all_user_attribute_group_values","summary":"Get User Attribute Group Values","description":"### Returns all values of a user attribute defined by user groups, in precedence order.\n\nA user may be a member of multiple groups which define different values for a given user attribute.\nThe order of group-values in the response determines precedence for selecting which group-value applies\nto a given user. For more information, see [Set User Attribute Group Values](#!/UserAttribute/set_user_attribute_group_values).\n\nResults will only include groups that the caller's user account has permission to see.\n","parameters":[{"name":"user_attribute_id","in":"path","description":"Id of user attribute","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"All group values for attribute.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserAttributeGroupValue"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"post":{"tags":["UserAttribute"],"operationId":"set_user_attribute_group_values","summary":"Set User Attribute Group Values","description":"### Define values for a user attribute across a set of groups, in priority order.\n\nThis function defines all values for a user attribute defined by user groups. This is a global setting, potentially affecting\nall users in the system. This function replaces any existing group value definitions for the indicated user attribute.\n\nThe value of a user attribute for a given user is determined by searching the following locations, in this order:\n\n1. the user's account settings\n2. the groups that the user is a member of\n3. the default value of the user attribute, if any\n\nThe 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\ndetermines which group takes priority for that user. Lowest array index wins.\n\nAn alternate method to indicate the selection precedence of group-values is to assign numbers to the 'rank' property of each\ngroup-value object in the array. Lowest 'rank' value wins. If you use this technique, you must assign a\nrank value to every group-value object in the array.\n\n To set a user attribute value for a single user, see [Set User Attribute User Value](#!/User/set_user_attribute_user_value).\nTo set a user attribute value for all members of a group, see [Set User Attribute Group Value](#!/Group/update_user_attribute_group_value).\n","parameters":[{"name":"user_attribute_id","in":"path","description":"Id of user attribute","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserAttributeGroupValue"}}}},"description":"Array of group values.","required":true},"responses":{"200":{"description":"Array of group values.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserAttributeGroupValue"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/user_login_lockouts":{"get":{"tags":["Auth"],"operationId":"all_user_login_lockouts","summary":"Get All User Login Lockouts","description":"### Get currently locked-out users.\n","parameters":[{"name":"fields","in":"query","description":"Include only these fields in the response","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"User Login Lockout","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserLoginLockout"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/user_login_lockouts/search":{"get":{"tags":["Auth"],"operationId":"search_user_login_lockouts","summary":"Search User Login Lockouts","description":"### Search currently locked-out users.\n","parameters":[{"name":"fields","in":"query","description":"Include only these fields in the response","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Return only page N of paginated results","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"per_page","in":"query","description":"Return N rows of data per page","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"sorts","in":"query","description":"Fields to sort by.","required":false,"schema":{"type":"string"}},{"name":"auth_type","in":"query","description":"Auth type user is locked out for (email, ldap, totp, api)","required":false,"schema":{"type":"string"}},{"name":"full_name","in":"query","description":"Match name","required":false,"schema":{"type":"string"}},{"name":"email","in":"query","description":"Match email","required":false,"schema":{"type":"string"}},{"name":"remote_id","in":"query","description":"Match remote LDAP ID","required":false,"schema":{"type":"string"}},{"name":"filter_or","in":"query","description":"Combine given search criteria in a boolean OR expression","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"User Login Lockout","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserLoginLockout"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/user_login_lockout/{key}":{"delete":{"tags":["Auth"],"operationId":"delete_user_login_lockout","summary":"Delete User Login Lockout","description":"### Removes login lockout for the associated user.\n","parameters":[{"name":"key","in":"path","description":"The key associated with the locked user","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/user":{"get":{"tags":["User"],"operationId":"me","summary":"Get Current User","description":"### Get information about the current user; i.e. the user account currently calling the API.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Current user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/users":{"get":{"tags":["User"],"operationId":"all_users","summary":"Get All Users","description":"### Get information about all users.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Requested page.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"per_page","in":"query","description":"Results per page.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"sorts","in":"query","description":"Fields to sort by.","required":false,"schema":{"type":"string"}},{"name":"ids","in":"query","description":"Optional list of ids to get specific users.","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"All users.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"post":{"tags":["User"],"operationId":"create_user","summary":"Create User","description":"### Create a user with the specified information.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}},"description":"User"},"responses":{"200":{"description":"Created User","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/users/search":{"get":{"tags":["User"],"operationId":"search_users","summary":"Search Users","description":"### Search users\n\nReturns all* user records that match the given search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\n(*) Results are always filtered to the level of information the caller is permitted to view.\nLooker admins can see all user details; normal users in an open system can see\nnames of other users but no details; normal users in a closed system can only see\nnames of other users who are members of the same group as the user.\n\n","parameters":[{"name":"fields","in":"query","description":"Include only these fields in the response","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Return only page N of paginated results","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"per_page","in":"query","description":"Return N rows of data per page","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"sorts","in":"query","description":"Fields to sort by.","required":false,"schema":{"type":"string"}},{"name":"id","in":"query","description":"Match User Id.","required":false,"schema":{"type":"string"}},{"name":"first_name","in":"query","description":"Match First name.","required":false,"schema":{"type":"string"}},{"name":"last_name","in":"query","description":"Match Last name.","required":false,"schema":{"type":"string"}},{"name":"verified_looker_employee","in":"query","description":"Search for user accounts associated with Looker employees","required":false,"schema":{"type":"boolean"}},{"name":"email","in":"query","description":"Search for the user with this email address","required":false,"schema":{"type":"string"}},{"name":"is_disabled","in":"query","description":"Search for disabled user accounts","required":false,"schema":{"type":"boolean"}},{"name":"filter_or","in":"query","description":"Combine given search criteria in a boolean OR expression","required":false,"schema":{"type":"boolean"}},{"name":"content_metadata_id","in":"query","description":"Search for users who have access to this content_metadata item","required":false,"schema":{"type":"string"}},{"name":"group_id","in":"query","description":"Search for users who are direct members of this group","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Matching users.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/users/search/names/{pattern}":{"get":{"tags":["User"],"operationId":"search_users_names","summary":"Search User Names","description":"### Search for user accounts by name\n\nReturns all user accounts where `first_name` OR `last_name` OR `email` field values match a pattern.\nThe pattern can contain `%` and `_` wildcards as in SQL LIKE expressions.\n\nAny additional search params will be combined into a logical AND expression.\n","parameters":[{"name":"pattern","in":"path","description":"Pattern to match","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Include only these fields in the response","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Return only page N of paginated results","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"per_page","in":"query","description":"Return N rows of data per page","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"sorts","in":"query","description":"Fields to sort by","required":false,"schema":{"type":"string"}},{"name":"id","in":"query","description":"Match User Id","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"first_name","in":"query","description":"Match First name","required":false,"schema":{"type":"string"}},{"name":"last_name","in":"query","description":"Match Last name","required":false,"schema":{"type":"string"}},{"name":"verified_looker_employee","in":"query","description":"Match Verified Looker employee","required":false,"schema":{"type":"boolean"}},{"name":"email","in":"query","description":"Match Email Address","required":false,"schema":{"type":"string"}},{"name":"is_disabled","in":"query","description":"Include or exclude disabled accounts in the results","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Matching users.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/users/{user_id}":{"get":{"tags":["User"],"operationId":"user","summary":"Get User by Id","description":"### Get information about the user with a specific id.\n\nIf the caller is an admin or the caller is the user being specified, then full user information will\nbe returned. Otherwise, a minimal 'public' variant of the user information will be returned. This contains\nThe user name and avatar url, but no sensitive information.\n","parameters":[{"name":"user_id","in":"path","description":"Id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Specified user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"patch":{"tags":["User"],"operationId":"update_user","summary":"Update User","description":"### Update information about the user with a specific id.\n","parameters":[{"name":"user_id","in":"path","description":"Id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}},"description":"User","required":true},"responses":{"200":{"description":"New state for specified user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"delete":{"tags":["User"],"operationId":"delete_user","summary":"Delete User","description":"### Delete the user with a specific id.\n\n**DANGER** this will delete the user and all looks and other information owned by the user.\n","parameters":[{"name":"user_id","in":"path","description":"Id of user","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"User successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Permission Denied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/users/credential/{credential_type}/{credential_id}":{"get":{"tags":["User"],"operationId":"user_for_credential","summary":"Get User by Credential Id","description":"### Get information about the user with a credential of given type with specific id.\n\nThis is used to do things like find users by their embed external_user_id. Or, find the user with\na given api3 client_id, etc. The 'credential_type' matches the 'type' name of the various credential\ntypes. It must be one of the values listed in the table below. The 'credential_id' is your unique Id\nfor the user and is specific to each type of credential.\n\nAn example using the Ruby sdk might look like:\n\n`sdk.user_for_credential('embed', 'customer-4959425')`\n\nThis table shows the supported 'Credential Type' strings. The right column is for reference; it shows\nwhich field in the given credential type is actually searched when finding a user with the supplied\n'credential_id'.\n\n| Credential Types | Id Field Matched |\n| ---------------- | ---------------- |\n| email | email |\n| google | google_user_id |\n| saml | saml_user_id |\n| oidc | oidc_user_id |\n| ldap | ldap_id |\n| api | token |\n| api3 | client_id |\n| embed | external_user_id |\n| looker_openid | email |\n\n**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'.\n\n","parameters":[{"name":"credential_type","in":"path","description":"Type name of credential","required":true,"schema":{"type":"string"}},{"name":"credential_id","in":"path","description":"Id of credential","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Specified user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/users/{user_id}/credentials_email":{"get":{"tags":["User"],"operationId":"user_credentials_email","summary":"Get Email/Password Credential","description":"### Email/password login information for the specified user.","parameters":[{"name":"user_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Email/Password Credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialsEmail"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"post":{"tags":["User"],"operationId":"create_user_credentials_email","summary":"Create Email/Password Credential","description":"### Email/password login information for the specified user.","parameters":[{"name":"user_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/CredentialsEmail"},"responses":{"200":{"description":"Email/Password Credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialsEmail"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"patch":{"tags":["User"],"operationId":"update_user_credentials_email","summary":"Update Email/Password Credential","description":"### Email/password login information for the specified user.","parameters":[{"name":"user_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/CredentialsEmail"},"responses":{"200":{"description":"Email/Password Credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialsEmail"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"delete":{"tags":["User"],"operationId":"delete_user_credentials_email","summary":"Delete Email/Password Credential","description":"### Email/password login information for the specified user.","parameters":[{"name":"user_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/users/{user_id}/credentials_totp":{"get":{"tags":["User"],"operationId":"user_credentials_totp","summary":"Get Two-Factor Credential","description":"### Two-factor login information for the specified user.","parameters":[{"name":"user_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Two-Factor Credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialsTotp"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"post":{"tags":["User"],"operationId":"create_user_credentials_totp","summary":"Create Two-Factor Credential","description":"### Two-factor login information for the specified user.","parameters":[{"name":"user_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialsTotp"}}},"description":"Two-Factor Credential"},"responses":{"200":{"description":"Two-Factor Credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialsTotp"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"delete":{"tags":["User"],"operationId":"delete_user_credentials_totp","summary":"Delete Two-Factor Credential","description":"### Two-factor login information for the specified user.","parameters":[{"name":"user_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/users/{user_id}/credentials_ldap":{"get":{"tags":["User"],"operationId":"user_credentials_ldap","summary":"Get LDAP Credential","description":"### LDAP login information for the specified user.","parameters":[{"name":"user_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"LDAP Credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialsLDAP"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"delete":{"tags":["User"],"operationId":"delete_user_credentials_ldap","summary":"Delete LDAP Credential","description":"### LDAP login information for the specified user.","parameters":[{"name":"user_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/users/{user_id}/credentials_google":{"get":{"tags":["User"],"operationId":"user_credentials_google","summary":"Get Google Auth Credential","description":"### Google authentication login information for the specified user.","parameters":[{"name":"user_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Google Auth Credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialsGoogle"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"delete":{"tags":["User"],"operationId":"delete_user_credentials_google","summary":"Delete Google Auth Credential","description":"### Google authentication login information for the specified user.","parameters":[{"name":"user_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/users/{user_id}/credentials_saml":{"get":{"tags":["User"],"operationId":"user_credentials_saml","summary":"Get Saml Auth Credential","description":"### Saml authentication login information for the specified user.","parameters":[{"name":"user_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Saml Auth Credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialsSaml"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"delete":{"tags":["User"],"operationId":"delete_user_credentials_saml","summary":"Delete Saml Auth Credential","description":"### Saml authentication login information for the specified user.","parameters":[{"name":"user_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/users/{user_id}/credentials_oidc":{"get":{"tags":["User"],"operationId":"user_credentials_oidc","summary":"Get OIDC Auth Credential","description":"### OpenID Connect (OIDC) authentication login information for the specified user.","parameters":[{"name":"user_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OIDC Auth Credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialsOIDC"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"delete":{"tags":["User"],"operationId":"delete_user_credentials_oidc","summary":"Delete OIDC Auth Credential","description":"### OpenID Connect (OIDC) authentication login information for the specified user.","parameters":[{"name":"user_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/users/{user_id}/credentials_api3/{credentials_api3_id}":{"get":{"tags":["User"],"operationId":"user_credentials_api3","summary":"Get API 3 Credential","description":"### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.","parameters":[{"name":"user_id","in":"path","description":"Id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"credentials_api3_id","in":"path","description":"Id of API 3 Credential","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"API 3 Credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialsApi3"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"delete":{"tags":["User"],"operationId":"delete_user_credentials_api3","summary":"Delete API 3 Credential","description":"### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.","parameters":[{"name":"user_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"credentials_api3_id","in":"path","description":"id of API 3 Credential","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/users/{user_id}/credentials_api3":{"get":{"tags":["User"],"operationId":"all_user_credentials_api3s","summary":"Get All API 3 Credentials","description":"### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.","parameters":[{"name":"user_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"API 3 Credential","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CredentialsApi3"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"post":{"tags":["User"],"operationId":"create_user_credentials_api3","summary":"Create API 3 Credential","description":"### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.","parameters":[{"name":"user_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialsApi3"}}},"description":"API 3 Credential"},"responses":{"200":{"description":"API 3 Credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialsApi3"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Resource Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/users/{user_id}/credentials_embed/{credentials_embed_id}":{"get":{"tags":["User"],"operationId":"user_credentials_embed","summary":"Get Embedding Credential","description":"### Embed login information for the specified user.","parameters":[{"name":"user_id","in":"path","description":"Id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"credentials_embed_id","in":"path","description":"Id of Embedding Credential","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Embedding Credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialsEmbed"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"delete":{"tags":["User"],"operationId":"delete_user_credentials_embed","summary":"Delete Embedding Credential","description":"### Embed login information for the specified user.","parameters":[{"name":"user_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"credentials_embed_id","in":"path","description":"id of Embedding Credential","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/users/{user_id}/credentials_embed":{"get":{"tags":["User"],"operationId":"all_user_credentials_embeds","summary":"Get All Embedding Credentials","description":"### Embed login information for the specified user.","parameters":[{"name":"user_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Embedding Credential","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CredentialsEmbed"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/users/{user_id}/credentials_looker_openid":{"get":{"tags":["User"],"operationId":"user_credentials_looker_openid","summary":"Get Looker OpenId Credential","description":"### Looker Openid login information for the specified user. Used by Looker Analysts.","parameters":[{"name":"user_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Looker OpenId Credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialsLookerOpenid"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"delete":{"tags":["User"],"operationId":"delete_user_credentials_looker_openid","summary":"Delete Looker OpenId Credential","description":"### Looker Openid login information for the specified user. Used by Looker Analysts.","parameters":[{"name":"user_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/users/{user_id}/sessions/{session_id}":{"get":{"tags":["User"],"operationId":"user_session","summary":"Get Web Login Session","description":"### Web login session for the specified user.","parameters":[{"name":"user_id","in":"path","description":"Id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"session_id","in":"path","description":"Id of Web Login Session","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Web Login Session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Session"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"delete":{"tags":["User"],"operationId":"delete_user_session","summary":"Delete Web Login Session","description":"### Web login session for the specified user.","parameters":[{"name":"user_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"session_id","in":"path","description":"id of Web Login Session","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Successfully deleted.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/users/{user_id}/sessions":{"get":{"tags":["User"],"operationId":"all_user_sessions","summary":"Get All Web Login Sessions","description":"### Web login session for the specified user.","parameters":[{"name":"user_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Web Login Session","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Session"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/users/{user_id}/credentials_email/password_reset":{"post":{"tags":["User"],"operationId":"create_user_credentials_email_password_reset","summary":"Create Password Reset Token","description":"### Create a password reset token.\nThis will create a cryptographically secure random password reset token for the user.\nIf the user already has a password reset token then this invalidates the old token and creates a new one.\nThe token is expressed as the 'password_reset_url' of the user's email/password credential object.\nThis takes an optional 'expires' param to indicate if the new token should be an expiring token.\nTokens that expire are typically used for self-service password resets for existing users.\nInvitation emails for new users typically are not set to expire.\nThe expire period is always 60 minutes when expires is enabled.\nThis method can be called with an empty body.\n","parameters":[{"name":"user_id","in":"path","description":"Id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expires","in":"query","description":"Expiring token.","required":false,"schema":{"type":"boolean"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"email/password credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialsEmail"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/users/{user_id}/roles":{"get":{"tags":["User"],"operationId":"user_roles","summary":"Get User Roles","description":"### Get information about roles of a given user\n","parameters":[{"name":"user_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"direct_association_only","in":"query","description":"Get only roles associated directly with the user: exclude those only associated through groups.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Roles of user.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Role"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"put":{"tags":["User"],"operationId":"set_user_roles","summary":"Set User Roles","description":"### Set roles of the user with a specific id.\n","parameters":[{"name":"user_id","in":"path","description":"id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int64"}}}},"description":"array of roles ids for user","required":true},"responses":{"200":{"description":"Roles of user.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Role"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/users/{user_id}/attribute_values":{"get":{"tags":["User"],"operationId":"user_attribute_user_values","summary":"Get User Attribute Values","description":"### Get user attribute values for a given user.\n\nReturns the values of specified user attributes (or all user attributes) for a certain user.\n\nA value for each user attribute is searched for in the following locations, in this order:\n\n1. in the user's account information\n1. in groups that the user is a member of\n1. the default value of the user attribute\n\nIf more than one group has a value defined for a user attribute, the group with the lowest rank wins.\n\nThe response will only include user attributes for which values were found. Use `include_unset=true` to include\nempty records for user attributes with no value.\n\nThe value of all hidden user attributes will be blank.\n","parameters":[{"name":"user_id","in":"path","description":"Id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}},{"name":"user_attribute_ids","in":"query","description":"Specific user attributes to request. Omit or leave blank to request all user attributes.","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"all_values","in":"query","description":"If true, returns all values in the search path instead of just the first value found. Useful for debugging group precedence.","required":false,"schema":{"type":"boolean"}},{"name":"include_unset","in":"query","description":"If true, returns an empty record for each requested attribute that has no user, group, or default value.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Value of user attribute.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserAttributeWithValue"}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/users/{user_id}/attribute_values/{user_attribute_id}":{"patch":{"tags":["User"],"operationId":"set_user_attribute_user_value","summary":"Set User Attribute User Value","description":"### Store a custom value for a user attribute in a user's account settings.\n\nPer-user user attribute values take precedence over group or default values.\n","parameters":[{"name":"user_id","in":"path","description":"Id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"user_attribute_id","in":"path","description":"Id of user attribute","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAttributeWithValue"}}},"description":"New attribute value for user.","required":true},"responses":{"200":{"description":"User attribute value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAttributeWithValue"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"},"delete":{"tags":["User"],"operationId":"delete_user_attribute_user_value","summary":"Delete User Attribute User Value","description":"### Delete a user attribute value from a user's account settings.\n\nAfter the user attribute value is deleted from the user's account settings, subsequent requests\nfor the user attribute value for this user will draw from the user's groups or the default\nvalue of the user attribute. See [Get User Attribute Values](#!/User/user_attribute_user_values) for more\ninformation about how user attribute values are resolved.\n","parameters":[{"name":"user_id","in":"path","description":"Id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"user_attribute_id","in":"path","description":"Id of user attribute","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Deleted"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"non_query"}},"/users/{user_id}/credentials_email/send_password_reset":{"post":{"tags":["User"],"operationId":"send_user_credentials_email_password_reset","summary":"Send Password Reset Token","description":"### Send a password reset token.\nThis will send a password reset email to the user. If a password reset token does not already exist\nfor this user, it will create one and then send it.\nIf the user has not yet set up their account, it will send a setup email to the user.\nThe URL sent in the email is expressed as the 'password_reset_url' of the user's email/password credential object.\nPassword reset URLs will expire in 60 minutes.\nThis method can be called with an empty body.\n","parameters":[{"name":"user_id","in":"path","description":"Id of user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"email/password credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialsEmail"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/vector_thumbnail/{type}/{resource_id}":{"get":{"tags":["Content"],"operationId":"vector_thumbnail","summary":"Get Vector Thumbnail","description":"### Get a vector image representing the contents of a dashboard or look.\n\n# DEPRECATED: Use [content_thumbnail()](#!/Content/content_thumbnail)\n\nThe returned thumbnail is an abstract representation of the contents of a dashbord or look and does not\nreflect the actual data displayed in the respective visualizations.\n","parameters":[{"name":"type","in":"path","description":"Either dashboard or look","required":true,"schema":{"type":"string"}},{"name":"resource_id","in":"path","description":"ID of the dashboard or look to render","required":true,"schema":{"type":"string"}},{"name":"reload","in":"query","description":"Whether or not to refresh the rendered image with the latest content","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Vector thumbnail","content":{"image/svg+xml":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"image/svg+xml":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"image/svg+xml":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"deprecated":true,"x-looker-status":"deprecated","x-looker-activity-type":"db_query"}},"/versions":{"get":{"tags":["Config"],"operationId":"versions","summary":"Get ApiVersion","description":"### Get information about all API versions supported by this Looker instance.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"ApiVersion","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiVersion"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"stable","x-looker-activity-type":"none"}},"/api_spec/{api_version}/{specification}":{"get":{"tags":["Config"],"operationId":"api_spec","summary":"Get an API specification","description":"### Get an API specification for this Looker instance.\n\n**Note**: Although the API specification is in JSON format, the return type is temporarily `text/plain`, so the response should be treated as standard JSON to consume it.\n","parameters":[{"name":"api_version","in":"path","description":"API version","required":true,"schema":{"type":"string"}},{"name":"specification","in":"path","description":"Specification name. Typically, this is \"swagger.json\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"API specification","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"none"}},"/whitelabel_configuration":{"get":{"tags":["Config"],"operationId":"whitelabel_configuration","summary":"Get Whitelabel configuration","description":"### This feature is enabled only by special license.\n### Gets the whitelabel configuration, which includes hiding documentation links, custom favicon uploading, etc.\n","parameters":[{"name":"fields","in":"query","description":"Requested fields.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Whitelabel configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WhitelabelConfiguration"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"},"put":{"tags":["Config"],"operationId":"update_whitelabel_configuration","summary":"Update Whitelabel configuration","description":"### Update the whitelabel configuration\n","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WhitelabelConfiguration"}}},"description":"Whitelabel configuration","required":true},"responses":{"200":{"description":"Whitelabel configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WhitelabelConfiguration"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/workspaces":{"get":{"tags":["Workspace"],"operationId":"all_workspaces","summary":"Get All Workspaces","description":"### Get All Workspaces\n\nReturns all workspaces available to the calling user.\n","responses":{"200":{"description":"Workspace","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Workspace"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}},"/workspaces/{workspace_id}":{"get":{"tags":["Workspace"],"operationId":"workspace","summary":"Get Workspace","description":"### Get A Workspace\n\nReturns information about a workspace such as the git status and selected branches\nof all projects available to the caller's user account.\n\nA workspace defines which versions of project files will be used to evaluate expressions\nand operations that use model definitions - operations such as running queries or rendering dashboards.\nEach project has its own git repository, and each project in a workspace may be configured to reference\nparticular branch or revision within their respective repositories.\n\nThere are two predefined workspaces available: \"production\" and \"dev\".\n\nThe production workspace is shared across all Looker users. Models in the production workspace are read-only.\nChanging files in production is accomplished by modifying files in a git branch and using Pull Requests\nto merge the changes from the dev branch into the production branch, and then telling\nLooker to sync with production.\n\nThe dev workspace is local to each Looker user. Changes made to project/model files in the dev workspace only affect\nthat user, and only when the dev workspace is selected as the active workspace for the API session.\n(See set_session_workspace()).\n\nThe dev workspace is NOT unique to an API session. Two applications accessing the Looker API using\nthe same user account will see the same files in the dev workspace. To avoid collisions between\nAPI clients it's best to have each client login with API3 credentials for a different user account.\n\nChanges made to files in a dev workspace are persistent across API sessions. It's a good\nidea to commit any changes you've made to the git repository, but not strictly required. Your modified files\nreside in a special user-specific directory on the Looker server and will still be there when you login in again\nlater and use update_session(workspace_id: \"dev\") to select the dev workspace for the new API session.\n","parameters":[{"name":"workspace_id","in":"path","description":"Id of the workspace ","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Workspace","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workspace"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-looker-status":"beta","x-looker-activity-type":"non_query"}}},"servers":[{"url":"https://localhost:20000/api/4.0"}],"components":{"requestBodies":{"ColorCollection":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ColorCollection"}}},"description":"ColorCollection","required":true},"OauthClientApp":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OauthClientApp"}}},"description":"OAuth Client App","required":true},"LookmlModel":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookmlModel"}}},"description":"LookML Model","required":true},"Project":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}},"description":"Project","required":true},"Dashboard":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"}}},"description":"Dashboard","required":true},"ScheduledPlan":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduledPlan"}}},"description":"Scheduled Plan","required":true},"DashboardLayout":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardLayout"}}},"description":"DashboardLayout","required":true},"CredentialsEmail":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialsEmail"}}},"description":"Email/Password Credential","required":true},"DBConnection":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DBConnection"}}},"description":"Connection","required":true},"UserAttribute":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAttribute"}}},"description":"User Attribute","required":true},"BoardItem":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardItem"}}},"description":"Board Item","required":true},"SshServer":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshServer"}}},"description":"SSH Server","required":true},"Theme":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Theme"}}},"description":"Theme","required":true},"ContentMetaGroupUser":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentMetaGroupUser"}}},"description":"Content Metadata Access","required":true},"DashboardElement":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardElement"}}},"description":"DashboardElement","required":true},"GitBranch":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitBranch"}}},"description":"Git Branch","required":true},"Group":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Group"}}},"description":"Group","required":true},"Board":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Board"}}},"description":"Board","required":true},"BoardSection":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardSection"}}},"description":"Board section","required":true},"IntegrationHub":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationHub"}}},"description":"Integration Hub","required":true},"LDAPConfig":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LDAPConfig"}}},"description":"LDAP Config","required":true},"LookWithQuery":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookWithQuery"}}},"description":"Look","required":true},"ModelSet":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelSet"}}},"description":"ModelSet","required":true},"PermissionSet":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionSet"}}},"description":"Permission Set","required":true},"Role":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}},"description":"Role","required":true},"SshTunnel":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshTunnel"}}},"description":"SSH Tunnel","required":true}},"schemas":{"Error":{"properties":{"message":{"type":"string","readOnly":true,"description":"Error details","nullable":true},"documentation_url":{"type":"string","format":"uri","readOnly":true,"description":"Documentation link","nullable":true}},"x-looker-status":"stable","required":["message","documentation_url"]},"DashboardBase":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"content_favorite_id":{"type":"integer","format":"int64","readOnly":true,"description":"Content Favorite Id","nullable":true},"content_metadata_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of content metadata","nullable":true},"description":{"type":"string","readOnly":true,"description":"Description","nullable":true},"hidden":{"type":"boolean","readOnly":true,"description":"Is Hidden","nullable":false},"id":{"type":"string","readOnly":true,"description":"Unique Id","nullable":false},"model":{"$ref":"#/components/schemas/LookModel"},"query_timezone":{"type":"string","readOnly":true,"description":"Timezone in which the Dashboard will run by default.","nullable":true},"readonly":{"type":"boolean","readOnly":true,"description":"Is Read-only","nullable":false},"refresh_interval":{"type":"string","readOnly":true,"description":"Refresh Interval, as a time duration phrase like \"2 hours 30 minutes\". A number with no time units will be interpreted as whole seconds.","nullable":true},"refresh_interval_to_i":{"type":"integer","format":"int64","readOnly":true,"description":"Refresh Interval in milliseconds","nullable":true},"folder":{"$ref":"#/components/schemas/FolderBase"},"title":{"type":"string","readOnly":true,"description":"Dashboard Title","nullable":true},"user_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of User","nullable":true}},"x-looker-status":"stable"},"HomepageSection":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"created_at":{"type":"string","format":"date-time","readOnly":true,"description":"Time at which this section was created.","nullable":true},"deleted_at":{"type":"string","format":"date-time","description":"Time at which this section was deleted.","nullable":true},"detail_url":{"type":"string","readOnly":true,"description":"A URL pointing to a page showing further information about the content in the section.","nullable":true},"homepage_id":{"type":"integer","format":"int64","description":"Id reference to parent homepage","nullable":true},"homepage_items":{"type":"array","items":{"$ref":"#/components/schemas/HomepageItem"},"readOnly":true,"description":"Items in the homepage section","nullable":true},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"is_header":{"type":"boolean","readOnly":true,"description":"Is this a header section (has no items)","nullable":false},"item_order":{"type":"array","items":{"type":"integer","format":"int64"},"description":"ids of the homepage items in the order they should be displayed","nullable":true},"title":{"type":"string","description":"Name of row","nullable":true},"updated_at":{"type":"string","format":"date-time","readOnly":true,"description":"Time at which this section was last updated.","nullable":true},"description":{"type":"string","description":"Description of the content found in this section.","nullable":true},"visible_item_order":{"type":"array","items":{"type":"integer","format":"int64"},"readOnly":true,"description":"ids of the homepage items the user can see in the order they should be displayed","nullable":true}},"x-looker-status":"stable"},"HomepageItem":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"content_created_by":{"type":"string","readOnly":true,"description":"Name of user who created the content this item is based on","nullable":true},"content_favorite_id":{"type":"integer","format":"int64","readOnly":true,"description":"Content favorite id associated with the item this content is based on","nullable":true},"content_metadata_id":{"type":"integer","format":"int64","readOnly":true,"description":"Content metadata id associated with the item this content is based on","nullable":true},"content_updated_at":{"type":"string","readOnly":true,"description":"Last time the content that this item is based on was updated","nullable":true},"custom_description":{"type":"string","description":"Custom description entered by the user, if present","nullable":true},"custom_image_data_base64":{"type":"string","x-looker-write-only":true,"description":"(Write-Only) base64 encoded image data","nullable":true},"custom_image_url":{"type":"string","readOnly":true,"description":"Custom image_url entered by the user, if present","nullable":true},"custom_title":{"type":"string","description":"Custom title entered by the user, if present","nullable":true},"custom_url":{"type":"string","description":"Custom url entered by the user, if present","nullable":true},"dashboard_id":{"type":"integer","format":"int64","description":"Dashboard to base this item on","nullable":true},"description":{"type":"string","readOnly":true,"description":"The actual description for display","nullable":true},"favorite_count":{"type":"integer","format":"int64","readOnly":true,"description":"Number of times content has been favorited, if present","nullable":true},"homepage_section_id":{"type":"integer","format":"int64","description":"Associated Homepage Section","nullable":true},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"image_url":{"type":"string","readOnly":true,"description":"The actual image_url for display","nullable":true},"location":{"type":"string","readOnly":true,"description":"The container folder name of the content","nullable":true},"look_id":{"type":"integer","format":"int64","description":"Look to base this item on","nullable":true},"lookml_dashboard_id":{"type":"string","description":"LookML Dashboard to base this item on","nullable":true},"order":{"type":"integer","format":"int64","description":"An arbitrary integer representing the sort order within the section","nullable":true},"section_fetch_time":{"type":"number","format":"float","readOnly":true,"description":"Number of seconds it took to fetch the section this item is in","nullable":true},"title":{"type":"string","readOnly":true,"description":"The actual title for display","nullable":true},"url":{"type":"string","readOnly":true,"description":"The actual url for display","nullable":true},"use_custom_description":{"type":"boolean","description":"Whether the custom description should be used instead of the content description, if the item is associated with content","nullable":false},"use_custom_image":{"type":"boolean","description":"Whether the custom image should be used instead of the content image, if the item is associated with content","nullable":false},"use_custom_title":{"type":"boolean","description":"Whether the custom title should be used instead of the content title, if the item is associated with content","nullable":false},"use_custom_url":{"type":"boolean","description":"Whether the custom url should be used instead of the content url, if the item is associated with content","nullable":false},"view_count":{"type":"integer","format":"int64","readOnly":true,"description":"Number of times content has been viewed, if present","nullable":true}},"x-looker-status":"stable"},"ValidationError":{"properties":{"message":{"type":"string","readOnly":true,"description":"Error details","nullable":true},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDetail"},"readOnly":true,"description":"Error detail array","nullable":true},"documentation_url":{"type":"string","format":"uri","readOnly":true,"description":"Documentation link","nullable":true}},"x-looker-status":"stable","required":["message","documentation_url"]},"ValidationErrorDetail":{"properties":{"field":{"type":"string","readOnly":true,"description":"Field with error","nullable":true},"code":{"type":"string","readOnly":true,"description":"Error code","nullable":true},"message":{"type":"string","readOnly":true,"description":"Error info message","nullable":true},"documentation_url":{"type":"string","format":"uri","readOnly":true,"description":"Documentation link","nullable":true}},"x-looker-status":"stable","required":["documentation_url"]},"AccessToken":{"properties":{"access_token":{"type":"string","readOnly":true,"description":"Access Token used for API calls","nullable":false},"token_type":{"type":"string","readOnly":true,"description":"Type of Token","nullable":false},"expires_in":{"type":"integer","format":"int64","readOnly":true,"description":"Number of seconds before the token expires","nullable":false},"refresh_token":{"type":"string","readOnly":true,"description":"Refresh token which can be used to obtain a new access token","nullable":true}},"x-looker-status":"stable"},"ApiSession":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"workspace_id":{"type":"string","description":"The id of active workspace for this session","nullable":true},"sudo_user_id":{"type":"integer","format":"int64","readOnly":true,"description":"The id of the actual user in the case when this session represents one user sudo'ing as another","nullable":true}},"x-looker-status":"stable"},"BackupConfiguration":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"type":{"type":"string","description":"Type of backup: looker-s3 or custom-s3","nullable":true},"custom_s3_bucket":{"type":"string","description":"Name of bucket for custom-s3 backups","nullable":true},"custom_s3_bucket_region":{"type":"string","description":"Name of region where the bucket is located","nullable":true},"custom_s3_key":{"type":"string","x-looker-write-only":true,"description":"(Write-Only) AWS S3 key used for custom-s3 backups","nullable":true},"custom_s3_secret":{"type":"string","x-looker-write-only":true,"description":"(Write-Only) AWS S3 secret used for custom-s3 backups","nullable":true},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to get this item","nullable":true}},"x-looker-status":"stable"},"BoardItem":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"content_created_by":{"type":"string","readOnly":true,"description":"Name of user who created the content this item is based on","nullable":true},"content_favorite_id":{"type":"integer","format":"int64","readOnly":true,"description":"Content favorite id associated with the item this content is based on","nullable":true},"content_metadata_id":{"type":"integer","format":"int64","readOnly":true,"description":"Content metadata id associated with the item this content is based on","nullable":true},"content_updated_at":{"type":"string","readOnly":true,"description":"Last time the content that this item is based on was updated","nullable":true},"dashboard_id":{"type":"integer","format":"int64","description":"Dashboard to base this item on","nullable":true},"description":{"type":"string","readOnly":true,"description":"The actual description for display","nullable":true},"favorite_count":{"type":"integer","format":"int64","readOnly":true,"description":"Number of times content has been favorited, if present","nullable":true},"board_section_id":{"type":"integer","format":"int64","description":"Associated Board Section","nullable":true},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"location":{"type":"string","readOnly":true,"description":"The container folder name of the content","nullable":true},"look_id":{"type":"integer","format":"int64","description":"Look to base this item on","nullable":true},"lookml_dashboard_id":{"type":"string","description":"LookML Dashboard to base this item on","nullable":true},"order":{"type":"integer","format":"int64","description":"An arbitrary integer representing the sort order within the section","nullable":true},"title":{"type":"string","readOnly":true,"description":"The actual title for display","nullable":true},"url":{"type":"string","readOnly":true,"description":"Relative url for the associated content","nullable":false},"view_count":{"type":"integer","format":"int64","readOnly":true,"description":"Number of times content has been viewed, if present","nullable":true}},"x-looker-status":"beta"},"Board":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"content_metadata_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of associated content_metadata record","nullable":true},"created_at":{"type":"string","format":"date-time","readOnly":true,"description":"Date of board creation","nullable":true},"deleted_at":{"type":"string","format":"date-time","description":"Date of board deletion","nullable":true},"description":{"type":"string","description":"Description of the board","nullable":true},"board_sections":{"type":"array","items":{"$ref":"#/components/schemas/BoardSection"},"readOnly":true,"description":"Sections of the board","nullable":true},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"section_order":{"type":"array","items":{"type":"integer","format":"int64"},"description":"ids of the board sections in the order they should be displayed","nullable":true},"title":{"type":"string","description":"Title of the board","nullable":true},"updated_at":{"type":"string","format":"date-time","readOnly":true,"description":"Date of last board update","nullable":true},"user_id":{"type":"integer","format":"int64","readOnly":true,"description":"User id of board creator","nullable":true},"primary_homepage":{"type":"boolean","readOnly":true,"description":"Whether the board is the primary homepage or not","nullable":false}},"x-looker-status":"beta"},"BoardSection":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"created_at":{"type":"string","format":"date-time","readOnly":true,"description":"Time at which this section was created.","nullable":true},"deleted_at":{"type":"string","format":"date-time","description":"Time at which this section was deleted.","nullable":true},"description":{"type":"string","description":"Description of the content found in this section.","nullable":true},"board_id":{"type":"integer","format":"int64","description":"Id reference to parent board","nullable":true},"board_items":{"type":"array","items":{"$ref":"#/components/schemas/BoardItem"},"readOnly":true,"description":"Items in the board section","nullable":true},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"item_order":{"type":"array","items":{"type":"integer","format":"int64"},"description":"ids of the board items in the order they should be displayed","nullable":true},"visible_item_order":{"type":"array","items":{"type":"integer","format":"int64"},"readOnly":true,"description":"ids of the homepage items the user can see in the order they should be displayed","nullable":true},"title":{"type":"string","description":"Name of row","nullable":true},"updated_at":{"type":"string","format":"date-time","readOnly":true,"description":"Time at which this section was last updated.","nullable":true}},"x-looker-status":"beta"},"ColorStop":{"properties":{"color":{"type":"string","description":"CSS color string","nullable":false},"offset":{"type":"integer","format":"int64","description":"Offset in continuous palette (0 to 100)","nullable":false}},"x-looker-status":"stable"},"ContinuousPalette":{"properties":{"id":{"type":"string","readOnly":true,"description":"Unique identity string","nullable":false},"label":{"type":"string","description":"Label for palette","nullable":true},"type":{"type":"string","description":"Type of palette","nullable":false},"stops":{"type":"array","items":{"$ref":"#/components/schemas/ColorStop"},"description":"Array of ColorStops in the palette","nullable":false}},"x-looker-status":"stable"},"DiscretePalette":{"properties":{"id":{"type":"string","readOnly":true,"description":"Unique identity string","nullable":false},"label":{"type":"string","description":"Label for palette","nullable":true},"type":{"type":"string","description":"Type of palette","nullable":false},"colors":{"type":"array","items":{"type":"string"},"description":"Array of colors in the palette","nullable":false}},"x-looker-status":"stable"},"ColorCollection":{"properties":{"id":{"type":"string","readOnly":true,"description":"Unique Id","nullable":false},"label":{"type":"string","description":"Label of color collection","nullable":false},"categoricalPalettes":{"type":"array","items":{"$ref":"#/components/schemas/DiscretePalette"},"description":"Array of categorical palette definitions","nullable":false},"sequentialPalettes":{"type":"array","items":{"$ref":"#/components/schemas/ContinuousPalette"},"description":"Array of discrete palette definitions","nullable":false},"divergingPalettes":{"type":"array","items":{"$ref":"#/components/schemas/ContinuousPalette"},"description":"Array of diverging palette definitions","nullable":false}},"x-looker-status":"stable"},"Command":{"properties":{"id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of the command record","nullable":false},"author_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of the command author","nullable":false},"name":{"type":"string","description":"Name of the command","nullable":false},"description":{"type":"string","description":"Description of the command","nullable":true},"linked_content_id":{"type":"string","description":"Id of the content associated with the command","nullable":false},"linked_content_type":{"type":"string","enum":["dashboard","lookml_dashboard"],"description":"Name of the command Valid values are: \"dashboard\", \"lookml_dashboard\".","nullable":false}},"x-looker-status":"beta"},"UpdateCommand":{"properties":{"name":{"type":"string","description":"Name of the command","nullable":true},"description":{"type":"string","description":"Description of the command","nullable":true}},"x-looker-status":"beta"},"ContentFavorite":{"properties":{"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"user_id":{"type":"integer","format":"int64","description":"User Id which owns this ContentFavorite","nullable":false},"content_metadata_id":{"type":"integer","format":"int64","description":"Content Metadata Id associated with this ContentFavorite","nullable":false},"look_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of a look","nullable":true},"dashboard_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of a dashboard","nullable":true},"look":{"$ref":"#/components/schemas/LookBasic"},"dashboard":{"$ref":"#/components/schemas/DashboardBase"},"board_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of a board","nullable":true}},"x-looker-status":"stable"},"ContentMetaGroupUser":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"id":{"type":"string","readOnly":true,"description":"Unique Id","nullable":false},"content_metadata_id":{"type":"string","readOnly":true,"description":"Id of associated Content Metadata","nullable":true},"permission_type":{"type":"string","readOnly":true,"enum":["view","edit"],"description":"Type of permission: \"view\" or \"edit\" Valid values are: \"view\", \"edit\".","nullable":true},"group_id":{"type":"integer","format":"int64","readOnly":true,"description":"ID of associated group","nullable":true},"user_id":{"type":"integer","format":"int64","readOnly":true,"description":"ID of associated user","nullable":true}},"x-looker-status":"stable"},"ContentMeta":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"name":{"type":"string","readOnly":true,"description":"Name or title of underlying content","nullable":true},"parent_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of Parent Content","nullable":true},"dashboard_id":{"type":"string","readOnly":true,"description":"Id of associated dashboard when content_type is \"dashboard\"","nullable":true},"look_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of associated look when content_type is \"look\"","nullable":true},"folder_id":{"type":"string","readOnly":true,"description":"Id of associated folder when content_type is \"space\"","nullable":true},"content_type":{"type":"string","readOnly":true,"description":"Content Type (\"dashboard\", \"look\", or \"folder\")","nullable":true},"inherits":{"type":"boolean","description":"Whether content inherits its access levels from parent","nullable":false},"inheriting_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of Inherited Content","nullable":true},"slug":{"type":"string","readOnly":true,"description":"Content Slug","nullable":true}},"x-looker-status":"stable"},"ContentValidation":{"properties":{"content_with_errors":{"type":"array","items":{"$ref":"#/components/schemas/ContentValidatorError"},"readOnly":true,"description":"A list of content errors","nullable":true},"computation_time":{"type":"number","format":"float","readOnly":true,"description":"Duration of content validation in seconds","nullable":true},"total_looks_validated":{"type":"integer","format":"int64","readOnly":true,"description":"The number of looks validated","nullable":true},"total_dashboard_elements_validated":{"type":"integer","format":"int64","readOnly":true,"description":"The number of dashboard elements validated","nullable":true},"total_dashboard_filters_validated":{"type":"integer","format":"int64","readOnly":true,"description":"The number of dashboard filters validated","nullable":true},"total_scheduled_plans_validated":{"type":"integer","format":"int64","readOnly":true,"description":"The number of scheduled plans validated","nullable":true},"total_alerts_validated":{"type":"integer","format":"int64","readOnly":true,"description":"The number of alerts validated","nullable":true},"total_explores_validated":{"type":"integer","format":"int64","readOnly":true,"description":"The number of explores used across all content validated","nullable":true}},"x-looker-status":"stable"},"ContentValidatorError":{"properties":{"look":{"$ref":"#/components/schemas/ContentValidationLook"},"dashboard":{"$ref":"#/components/schemas/ContentValidationDashboard"},"dashboard_element":{"$ref":"#/components/schemas/ContentValidationDashboardElement"},"dashboard_filter":{"$ref":"#/components/schemas/ContentValidationDashboardFilter"},"scheduled_plan":{"$ref":"#/components/schemas/ContentValidationScheduledPlan"},"alert":{"$ref":"#/components/schemas/ContentValidationAlert"},"lookml_dashboard":{"$ref":"#/components/schemas/ContentValidationLookMLDashboard"},"lookml_dashboard_element":{"$ref":"#/components/schemas/ContentValidationLookMLDashboardElement"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ContentValidationError"},"readOnly":true,"description":"A list of errors found for this piece of content","nullable":true},"id":{"type":"string","readOnly":true,"description":"An id unique to this piece of content for this validation run","nullable":false}},"x-looker-status":"stable"},"ContentValidationFolder":{"properties":{"name":{"type":"string","description":"Unique Name","nullable":false},"id":{"type":"string","readOnly":true,"description":"Unique Id","nullable":false}},"x-looker-status":"stable","required":["name"]},"ContentValidationLook":{"properties":{"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"title":{"type":"string","description":"Look Title","nullable":true},"folder":{"$ref":"#/components/schemas/ContentValidationFolder"}},"x-looker-status":"stable"},"ContentValidationDashboard":{"properties":{"description":{"type":"string","description":"Description","nullable":true},"id":{"type":"string","readOnly":true,"description":"Unique Id","nullable":false},"folder":{"$ref":"#/components/schemas/ContentValidationFolder"},"title":{"type":"string","description":"Dashboard Title","nullable":true}},"x-looker-status":"stable"},"ContentValidationDashboardElement":{"properties":{"body_text":{"type":"string","description":"Text tile body text","nullable":true},"dashboard_id":{"type":"string","description":"Id of Dashboard","nullable":true},"id":{"type":"string","readOnly":true,"description":"Unique Id","nullable":false},"look_id":{"type":"string","description":"Id Of Look","nullable":true},"note_display":{"type":"string","description":"Note Display","nullable":true},"note_state":{"type":"string","description":"Note State","nullable":true},"note_text":{"type":"string","description":"Note Text","nullable":true},"note_text_as_html":{"type":"string","readOnly":true,"description":"Note Text as Html","nullable":true},"query_id":{"type":"integer","format":"int64","description":"Id Of Query","nullable":true},"subtitle_text":{"type":"string","description":"Text tile subtitle text","nullable":true},"title":{"type":"string","description":"Title of dashboard element","nullable":true},"title_hidden":{"type":"boolean","description":"Whether title is hidden","nullable":false},"title_text":{"type":"string","description":"Text tile title","nullable":true},"type":{"type":"string","description":"Type","nullable":true}},"x-looker-status":"stable"},"ContentValidationError":{"properties":{"message":{"type":"string","readOnly":true,"description":"Error message","nullable":true},"field_name":{"type":"string","readOnly":true,"description":"Name of the field involved in the error","nullable":true},"model_name":{"type":"string","readOnly":true,"description":"Name of the model involved in the error","nullable":true},"explore_name":{"type":"string","readOnly":true,"description":"Name of the explore involved in the error","nullable":true},"removable":{"type":"boolean","readOnly":true,"description":"Whether this validation error is removable","nullable":false}},"x-looker-status":"stable"},"ContentValidationDashboardFilter":{"properties":{"id":{"type":"string","readOnly":true,"description":"Unique Id","nullable":false},"dashboard_id":{"type":"string","readOnly":true,"description":"Id of Dashboard","nullable":true},"name":{"type":"string","description":"Name of filter","nullable":true},"title":{"type":"string","description":"Title of filter","nullable":true},"type":{"type":"string","description":"Type of filter: one of date, number, string, or field","nullable":true},"default_value":{"type":"string","description":"Default value of filter","nullable":true},"model":{"type":"string","description":"Model of filter (required if type = field)","nullable":true},"explore":{"type":"string","description":"Explore of filter (required if type = field)","nullable":true},"dimension":{"type":"string","description":"Dimension of filter (required if type = field)","nullable":true}},"x-looker-status":"stable"},"ContentValidationScheduledPlan":{"properties":{"name":{"type":"string","description":"Name of this scheduled plan","nullable":true},"look_id":{"type":"integer","format":"int64","description":"Id of a look","nullable":true},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false}},"x-looker-status":"stable"},"ContentValidationAlert":{"properties":{"id":{"type":"integer","format":"int64","description":"ID of the alert","nullable":false},"lookml_dashboard_id":{"type":"string","description":"ID of the LookML dashboard associated with the alert","nullable":true},"lookml_link_id":{"type":"string","description":"ID of the LookML dashboard element associated with the alert","nullable":true},"custom_title":{"type":"string","description":"An optional, user-defined title for the alert","nullable":true}},"x-looker-status":"stable"},"ContentValidationLookMLDashboard":{"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the LookML Dashboard","nullable":false},"title":{"type":"string","readOnly":true,"description":"Title of the LookML Dashboard","nullable":true},"space_id":{"type":"string","readOnly":true,"description":"ID of Space","nullable":true}},"x-looker-status":"stable"},"ContentValidationLookMLDashboardElement":{"properties":{"lookml_link_id":{"type":"string","readOnly":true,"description":"Link ID of the LookML Dashboard Element","nullable":true},"title":{"type":"string","readOnly":true,"description":"Title of the LookML Dashboard Element","nullable":true}},"x-looker-status":"stable"},"ContentView":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"look_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of viewed Look","nullable":true},"dashboard_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of the viewed Dashboard","nullable":true},"title":{"type":"string","readOnly":true,"description":"Name or title of underlying content","nullable":true},"content_metadata_id":{"type":"integer","format":"int64","readOnly":true,"description":"Content metadata id of the Look or Dashboard","nullable":true},"user_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of user content was viewed by","nullable":true},"group_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of group content was viewed by","nullable":true},"view_count":{"type":"integer","format":"int64","readOnly":true,"description":"Number of times piece of content was viewed","nullable":true},"favorite_count":{"type":"integer","format":"int64","readOnly":true,"description":"Number of times piece of content was favorited","nullable":true},"last_viewed_at":{"type":"string","readOnly":true,"description":"Date the piece of content was last viewed","nullable":true},"start_of_week_date":{"type":"string","readOnly":true,"description":"Week start date for the view and favorite count during that given week","nullable":true}},"x-looker-status":"stable"},"CredentialsApi3":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"client_id":{"type":"string","readOnly":true,"description":"API key client_id","nullable":true},"created_at":{"type":"string","readOnly":true,"description":"Timestamp for the creation of this credential","nullable":true},"is_disabled":{"type":"boolean","readOnly":true,"description":"Has this credential been disabled?","nullable":false},"type":{"type":"string","readOnly":true,"description":"Short name for the type of this kind of credential","nullable":true},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to get this item","nullable":true}},"x-looker-status":"stable"},"CredentialsEmail":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"created_at":{"type":"string","readOnly":true,"description":"Timestamp for the creation of this credential","nullable":true},"email":{"type":"string","description":"EMail address used for user login","nullable":true},"forced_password_reset_at_next_login":{"type":"boolean","description":"Force the user to change their password upon their next login","nullable":false},"is_disabled":{"type":"boolean","readOnly":true,"description":"Has this credential been disabled?","nullable":false},"logged_in_at":{"type":"string","readOnly":true,"description":"Timestamp for most recent login using credential","nullable":true},"password_reset_url":{"type":"string","readOnly":true,"description":"Url with one-time use secret token that the user can use to reset password","nullable":true},"type":{"type":"string","readOnly":true,"description":"Short name for the type of this kind of credential","nullable":true},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to get this item","nullable":true},"user_url":{"type":"string","format":"uri","readOnly":true,"description":"Link to get this user","nullable":true}},"x-looker-status":"stable"},"CredentialsEmbed":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"created_at":{"type":"string","readOnly":true,"description":"Timestamp for the creation of this credential","nullable":true},"external_group_id":{"type":"string","readOnly":true,"description":"Embedder's id for a group to which this user was added during the most recent login","nullable":true},"external_user_id":{"type":"string","readOnly":true,"description":"Embedder's unique id for the user","nullable":true},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"is_disabled":{"type":"boolean","readOnly":true,"description":"Has this credential been disabled?","nullable":false},"logged_in_at":{"type":"string","readOnly":true,"description":"Timestamp for most recent login using credential","nullable":true},"type":{"type":"string","readOnly":true,"description":"Short name for the type of this kind of credential","nullable":true},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to get this item","nullable":true}},"x-looker-status":"stable"},"CredentialsGoogle":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"created_at":{"type":"string","readOnly":true,"description":"Timestamp for the creation of this credential","nullable":true},"domain":{"type":"string","readOnly":true,"description":"Google domain","nullable":true},"email":{"type":"string","readOnly":true,"description":"EMail address","nullable":true},"google_user_id":{"type":"string","readOnly":true,"description":"Google's Unique ID for this user","nullable":true},"is_disabled":{"type":"boolean","readOnly":true,"description":"Has this credential been disabled?","nullable":false},"logged_in_at":{"type":"string","readOnly":true,"description":"Timestamp for most recent login using credential","nullable":true},"type":{"type":"string","readOnly":true,"description":"Short name for the type of this kind of credential","nullable":true},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to get this item","nullable":true}},"x-looker-status":"stable"},"CredentialsLDAP":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"created_at":{"type":"string","readOnly":true,"description":"Timestamp for the creation of this credential","nullable":true},"email":{"type":"string","readOnly":true,"description":"EMail address","nullable":true},"is_disabled":{"type":"boolean","readOnly":true,"description":"Has this credential been disabled?","nullable":false},"ldap_dn":{"type":"string","readOnly":true,"description":"LDAP Distinguished name for this user (as-of the last login)","nullable":true},"ldap_id":{"type":"string","readOnly":true,"description":"LDAP Unique ID for this user","nullable":true},"logged_in_at":{"type":"string","readOnly":true,"description":"Timestamp for most recent login using credential","nullable":true},"type":{"type":"string","readOnly":true,"description":"Short name for the type of this kind of credential","nullable":true},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to get this item","nullable":true}},"x-looker-status":"stable"},"CredentialsLookerOpenid":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"created_at":{"type":"string","readOnly":true,"description":"Timestamp for the creation of this credential","nullable":true},"email":{"type":"string","readOnly":true,"description":"EMail address used for user login","nullable":true},"is_disabled":{"type":"boolean","readOnly":true,"description":"Has this credential been disabled?","nullable":false},"logged_in_at":{"type":"string","readOnly":true,"description":"Timestamp for most recent login using credential","nullable":true},"logged_in_ip":{"type":"string","readOnly":true,"description":"IP address of client for most recent login using credential","nullable":true},"type":{"type":"string","readOnly":true,"description":"Short name for the type of this kind of credential","nullable":true},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to get this item","nullable":true},"user_url":{"type":"string","format":"uri","readOnly":true,"description":"Link to get this user","nullable":true}},"x-looker-status":"stable"},"CredentialsOIDC":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"created_at":{"type":"string","readOnly":true,"description":"Timestamp for the creation of this credential","nullable":true},"email":{"type":"string","readOnly":true,"description":"EMail address","nullable":true},"is_disabled":{"type":"boolean","readOnly":true,"description":"Has this credential been disabled?","nullable":false},"logged_in_at":{"type":"string","readOnly":true,"description":"Timestamp for most recent login using credential","nullable":true},"oidc_user_id":{"type":"string","readOnly":true,"description":"OIDC OP's Unique ID for this user","nullable":true},"type":{"type":"string","readOnly":true,"description":"Short name for the type of this kind of credential","nullable":true},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to get this item","nullable":true}},"x-looker-status":"stable"},"CredentialsSaml":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"created_at":{"type":"string","readOnly":true,"description":"Timestamp for the creation of this credential","nullable":true},"email":{"type":"string","readOnly":true,"description":"EMail address","nullable":true},"is_disabled":{"type":"boolean","readOnly":true,"description":"Has this credential been disabled?","nullable":false},"logged_in_at":{"type":"string","readOnly":true,"description":"Timestamp for most recent login using credential","nullable":true},"saml_user_id":{"type":"string","readOnly":true,"description":"Saml IdP's Unique ID for this user","nullable":true},"type":{"type":"string","readOnly":true,"description":"Short name for the type of this kind of credential","nullable":true},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to get this item","nullable":true}},"x-looker-status":"stable"},"CredentialsTotp":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"created_at":{"type":"string","readOnly":true,"description":"Timestamp for the creation of this credential","nullable":true},"is_disabled":{"type":"boolean","readOnly":true,"description":"Has this credential been disabled?","nullable":false},"type":{"type":"string","readOnly":true,"description":"Short name for the type of this kind of credential","nullable":true},"verified":{"type":"boolean","readOnly":true,"description":"User has verified","nullable":false},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to get this item","nullable":true}},"x-looker-status":"stable"},"CustomWelcomeEmail":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"enabled":{"type":"boolean","description":"If true, custom email content will replace the default body of welcome emails","nullable":false},"content":{"type":"string","description":"The HTML to use as custom content for welcome emails. Script elements and other potentially dangerous markup will be removed.","nullable":true},"subject":{"type":"string","description":"The text to appear in the email subject line.","nullable":true},"header":{"type":"string","description":"The text to appear in the header line of the email body.","nullable":true}},"x-looker-status":"stable"},"DashboardAggregateTableLookml":{"properties":{"dashboard_id":{"type":"string","readOnly":true,"description":"Dashboard Id","nullable":true},"aggregate_table_lookml":{"type":"string","readOnly":true,"description":"Aggregate Table LookML","nullable":true}},"x-looker-status":"stable"},"DashboardAppearance":{"properties":{"page_side_margins":{"type":"integer","format":"int64","description":"Page margin (side) width","nullable":true},"page_background_color":{"type":"string","description":"Background color for the dashboard","nullable":true},"tile_title_alignment":{"type":"string","description":"Title alignment on dashboard tiles","nullable":true},"tile_space_between":{"type":"integer","format":"int64","description":"Space between tiles","nullable":true},"tile_background_color":{"type":"string","description":"Background color for tiles","nullable":true},"tile_shadow":{"type":"boolean","description":"Tile shadow on/off","nullable":true},"key_color":{"type":"string","description":"Key color","nullable":true}},"x-looker-status":"stable"},"DashboardElement":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"body_text":{"type":"string","description":"Text tile body text","nullable":true},"body_text_as_html":{"type":"string","readOnly":true,"description":"Text tile body text as Html","nullable":true},"dashboard_id":{"type":"string","description":"Id of Dashboard","nullable":true},"edit_uri":{"type":"string","format":"uri","readOnly":true,"description":"Relative path of URI of LookML file to edit the dashboard element (LookML dashboard only).","nullable":true},"id":{"type":"string","readOnly":true,"description":"Unique Id","nullable":false},"look":{"$ref":"#/components/schemas/LookWithQuery"},"look_id":{"type":"string","description":"Id Of Look","nullable":true},"lookml_link_id":{"type":"string","readOnly":true,"description":"LookML link ID","nullable":true},"merge_result_id":{"type":"string","description":"ID of merge result","nullable":true},"note_display":{"type":"string","description":"Note Display","nullable":true},"note_state":{"type":"string","description":"Note State","nullable":true},"note_text":{"type":"string","description":"Note Text","nullable":true},"note_text_as_html":{"type":"string","readOnly":true,"description":"Note Text as Html","nullable":true},"query":{"$ref":"#/components/schemas/Query"},"query_id":{"type":"integer","format":"int64","description":"Id Of Query","nullable":true},"refresh_interval":{"type":"string","description":"Refresh Interval","nullable":true},"refresh_interval_to_i":{"type":"integer","format":"int64","readOnly":true,"description":"Refresh Interval as integer","nullable":true},"result_maker":{"$ref":"#/components/schemas/ResultMakerWithIdVisConfigAndDynamicFields"},"result_maker_id":{"type":"integer","format":"int64","description":"ID of the ResultMakerLookup entry.","nullable":true},"subtitle_text":{"type":"string","description":"Text tile subtitle text","nullable":true},"title":{"type":"string","description":"Title of dashboard element","nullable":true},"title_hidden":{"type":"boolean","description":"Whether title is hidden","nullable":false},"title_text":{"type":"string","description":"Text tile title","nullable":true},"type":{"type":"string","description":"Type","nullable":true},"alert_count":{"type":"integer","format":"int64","readOnly":true,"description":"Count of Alerts associated to a dashboard element","nullable":true},"title_text_as_html":{"type":"string","readOnly":true,"description":"Text tile title text as Html","nullable":true},"subtitle_text_as_html":{"type":"string","readOnly":true,"description":"Text tile subtitle text as Html","nullable":true}},"x-looker-status":"stable"},"DashboardFilter":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"id":{"type":"string","readOnly":true,"description":"Unique Id","nullable":false},"dashboard_id":{"type":"string","readOnly":true,"description":"Id of Dashboard","nullable":true},"name":{"type":"string","description":"Name of filter","nullable":true},"title":{"type":"string","description":"Title of filter","nullable":true},"type":{"type":"string","description":"Type of filter: one of date, number, string, or field","nullable":true},"default_value":{"type":"string","description":"Default value of filter","nullable":true},"model":{"type":"string","description":"Model of filter (required if type = field)","nullable":true},"explore":{"type":"string","description":"Explore of filter (required if type = field)","nullable":true},"dimension":{"type":"string","description":"Dimension of filter (required if type = field)","nullable":true},"field":{"type":"object","additionalProperties":{"type":"string","format":"any"},"readOnly":true,"description":"Field information","nullable":true},"row":{"type":"integer","format":"int64","description":"Display order of this filter relative to other filters","nullable":true},"listens_to_filters":{"type":"array","items":{"type":"string"},"description":"Array of listeners for faceted filters","nullable":true},"allow_multiple_values":{"type":"boolean","description":"Whether the filter allows multiple filter values (deprecated in the latest version of dashboards)","nullable":false},"required":{"type":"boolean","description":"Whether the filter requires a value to run the dashboard","nullable":false},"ui_config":{"type":"object","additionalProperties":{"type":"string","format":"any"},"description":"The visual configuration for this filter. Used to set up how the UI for this filter should appear.","nullable":true}},"x-looker-status":"stable"},"CreateDashboardFilter":{"properties":{"id":{"type":"string","readOnly":true,"description":"Unique Id","nullable":false},"dashboard_id":{"type":"string","description":"Id of Dashboard","nullable":true},"name":{"type":"string","description":"Name of filter","nullable":true},"title":{"type":"string","description":"Title of filter","nullable":true},"type":{"type":"string","description":"Type of filter: one of date, number, string, or field","nullable":true},"default_value":{"type":"string","description":"Default value of filter","nullable":true},"model":{"type":"string","description":"Model of filter (required if type = field)","nullable":true},"explore":{"type":"string","description":"Explore of filter (required if type = field)","nullable":true},"dimension":{"type":"string","description":"Dimension of filter (required if type = field)","nullable":true},"field":{"type":"object","additionalProperties":{"type":"string","format":"any"},"readOnly":true,"description":"Field information","nullable":true},"row":{"type":"integer","format":"int64","description":"Display order of this filter relative to other filters","nullable":true},"listens_to_filters":{"type":"array","items":{"type":"string"},"description":"Array of listeners for faceted filters","nullable":true},"allow_multiple_values":{"type":"boolean","description":"Whether the filter allows multiple filter values (deprecated in the latest version of dashboards)","nullable":false},"required":{"type":"boolean","description":"Whether the filter requires a value to run the dashboard","nullable":false},"ui_config":{"type":"object","additionalProperties":{"type":"string","format":"any"},"description":"The visual configuration for this filter. Used to set up how the UI for this filter should appear.","nullable":true}},"x-looker-status":"stable","required":["dashboard_id","name","title","type"]},"DashboardLayoutComponent":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"id":{"type":"string","readOnly":true,"description":"Unique Id","nullable":false},"dashboard_layout_id":{"type":"string","description":"Id of Dashboard Layout","nullable":true},"dashboard_element_id":{"type":"string","description":"Id Of Dashboard Element","nullable":true},"row":{"type":"integer","format":"int64","description":"Row","nullable":true},"column":{"type":"integer","format":"int64","description":"Column","nullable":true},"width":{"type":"integer","format":"int64","description":"Width","nullable":true},"height":{"type":"integer","format":"int64","description":"Height","nullable":true},"deleted":{"type":"boolean","readOnly":true,"description":"Whether or not the dashboard layout component is deleted","nullable":false},"element_title":{"type":"string","readOnly":true,"description":"Dashboard element title, extracted from the Dashboard Element.","nullable":true},"element_title_hidden":{"type":"boolean","readOnly":true,"description":"Whether or not the dashboard element title is displayed.","nullable":false},"vis_type":{"type":"string","readOnly":true,"description":"Visualization type, extracted from a query's vis_config","nullable":true}},"x-looker-status":"stable"},"DashboardLayout":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"id":{"type":"string","readOnly":true,"description":"Unique Id","nullable":false},"dashboard_id":{"type":"string","description":"Id of Dashboard","nullable":true},"type":{"type":"string","description":"Type","nullable":true},"active":{"type":"boolean","description":"Is Active","nullable":false},"column_width":{"type":"integer","format":"int64","description":"Column Width","nullable":true},"width":{"type":"integer","format":"int64","description":"Width","nullable":true},"deleted":{"type":"boolean","readOnly":true,"description":"Whether or not the dashboard layout is deleted.","nullable":false},"dashboard_title":{"type":"string","readOnly":true,"description":"Title extracted from the dashboard this layout represents.","nullable":true},"dashboard_layout_components":{"type":"array","items":{"$ref":"#/components/schemas/DashboardLayoutComponent"},"readOnly":true,"description":"Components","nullable":true}},"x-looker-status":"stable"},"DashboardLookml":{"properties":{"dashboard_id":{"type":"string","readOnly":true,"description":"Id of Dashboard","nullable":true},"lookml":{"type":"string","readOnly":true,"description":"lookml of UDD","nullable":true}},"x-looker-status":"stable"},"Dashboard":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"content_favorite_id":{"type":"integer","format":"int64","readOnly":true,"description":"Content Favorite Id","nullable":true},"content_metadata_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of content metadata","nullable":true},"description":{"type":"string","description":"Description","nullable":true},"hidden":{"type":"boolean","description":"Is Hidden","nullable":false},"id":{"type":"string","readOnly":true,"description":"Unique Id","nullable":false},"model":{"$ref":"#/components/schemas/LookModel"},"query_timezone":{"type":"string","description":"Timezone in which the Dashboard will run by default.","nullable":true},"readonly":{"type":"boolean","readOnly":true,"description":"Is Read-only","nullable":false},"refresh_interval":{"type":"string","description":"Refresh Interval, as a time duration phrase like \"2 hours 30 minutes\". A number with no time units will be interpreted as whole seconds.","nullable":true},"refresh_interval_to_i":{"type":"integer","format":"int64","readOnly":true,"description":"Refresh Interval in milliseconds","nullable":true},"folder":{"$ref":"#/components/schemas/FolderBase"},"title":{"type":"string","description":"Dashboard Title","nullable":true},"user_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of User","nullable":true},"background_color":{"type":"string","description":"Background color","nullable":true},"created_at":{"type":"string","format":"date-time","readOnly":true,"description":"Time that the Dashboard was created.","nullable":true},"crossfilter_enabled":{"type":"boolean","description":"Enables crossfiltering in dashboards - only available in dashboards-next (beta)","nullable":false},"dashboard_elements":{"type":"array","items":{"$ref":"#/components/schemas/DashboardElement"},"readOnly":true,"description":"Elements","nullable":true},"dashboard_filters":{"type":"array","items":{"$ref":"#/components/schemas/DashboardFilter"},"readOnly":true,"description":"Filters","nullable":true},"dashboard_layouts":{"type":"array","items":{"$ref":"#/components/schemas/DashboardLayout"},"readOnly":true,"description":"Layouts","nullable":true},"deleted":{"type":"boolean","description":"Whether or not a dashboard is 'soft' deleted.","nullable":false},"deleted_at":{"type":"string","format":"date-time","readOnly":true,"description":"Time that the Dashboard was 'soft' deleted.","nullable":true},"deleter_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of User that 'soft' deleted the dashboard.","nullable":true},"edit_uri":{"type":"string","format":"uri","readOnly":true,"description":"Relative path of URI of LookML file to edit the dashboard (LookML dashboard only).","nullable":true},"favorite_count":{"type":"integer","format":"int64","readOnly":true,"description":"Number of times favorited","nullable":true},"last_accessed_at":{"type":"string","format":"date-time","readOnly":true,"description":"Time the dashboard was last accessed","nullable":true},"last_viewed_at":{"type":"string","format":"date-time","readOnly":true,"description":"Time last viewed in the Looker web UI","nullable":true},"load_configuration":{"type":"string","description":"configuration option that governs how dashboard loading will happen.","nullable":true},"lookml_link_id":{"type":"string","description":"Links this dashboard to a particular LookML dashboard such that calling a **sync** operation on that LookML dashboard will update this dashboard to match.","nullable":true},"show_filters_bar":{"type":"boolean","description":"Show filters bar. **Security Note:** This property only affects the *cosmetic* appearance of the dashboard, not a user's ability to access data. Hiding the filters bar does **NOT** prevent users from changing filters by other means. For information on how to set up secure data access control policies, see [Control User Access to Data](https://looker.com/docs/r/api/control-access)","nullable":false},"show_title":{"type":"boolean","description":"Show title","nullable":false},"slug":{"type":"string","description":"Content Metadata Slug","nullable":true},"folder_id":{"type":"string","description":"Id of folder","nullable":true},"text_tile_text_color":{"type":"string","description":"Color of text on text tiles","nullable":true},"tile_background_color":{"type":"string","description":"Tile background color","nullable":true},"tile_text_color":{"type":"string","description":"Tile text color","nullable":true},"title_color":{"type":"string","description":"Title color","nullable":true},"view_count":{"type":"integer","format":"int64","readOnly":true,"description":"Number of times viewed in the Looker web UI","nullable":true},"appearance":{"$ref":"#/components/schemas/DashboardAppearance"},"preferred_viewer":{"type":"string","description":"The preferred route for viewing this dashboard (ie: dashboards or dashboards-next)","nullable":true}},"x-looker-status":"stable"},"DataActionFormField":{"properties":{"name":{"type":"string","readOnly":true,"description":"Name","nullable":true},"label":{"type":"string","readOnly":true,"description":"Human-readable label","nullable":true},"description":{"type":"string","readOnly":true,"description":"Description of field","nullable":true},"type":{"type":"string","readOnly":true,"description":"Type of field.","nullable":true},"default":{"type":"string","readOnly":true,"description":"Default value of the field.","nullable":true},"oauth_url":{"type":"string","readOnly":true,"description":"The URL for an oauth link, if type is 'oauth_link'.","nullable":true},"interactive":{"type":"boolean","readOnly":true,"description":"Whether or not a field supports interactive forms.","nullable":false},"required":{"type":"boolean","readOnly":true,"description":"Whether or not the field is required. This is a user-interface hint. A user interface displaying this form should not submit it without a value for this field. The action server must also perform this validation.","nullable":false},"options":{"type":"array","items":{"$ref":"#/components/schemas/DataActionFormSelectOption"},"readOnly":true,"description":"If the form type is 'select', a list of options to be selected from.","nullable":true}},"x-looker-status":"stable"},"DataActionForm":{"properties":{"state":{"$ref":"#/components/schemas/DataActionUserState"},"fields":{"type":"array","items":{"$ref":"#/components/schemas/DataActionFormField"},"readOnly":true,"description":"Array of form fields.","nullable":true}},"x-looker-status":"stable"},"DataActionFormSelectOption":{"properties":{"name":{"type":"string","readOnly":true,"description":"Name","nullable":true},"label":{"type":"string","readOnly":true,"description":"Human-readable label","nullable":true}},"x-looker-status":"stable"},"DataActionRequest":{"properties":{"action":{"type":"object","additionalProperties":{"type":"string"},"description":"The JSON describing the data action. This JSON should be considered opaque and should be passed through unmodified from the query result it came from.","nullable":true},"form_values":{"type":"object","additionalProperties":{"type":"string"},"description":"User input for any form values the data action might use.","nullable":true}},"x-looker-status":"stable"},"DataActionResponse":{"properties":{"webhook_id":{"type":"string","readOnly":true,"description":"ID of the webhook event that sent this data action. In some error conditions, this may be null.","nullable":true},"success":{"type":"boolean","readOnly":true,"description":"Whether the data action was successful.","nullable":false},"refresh_query":{"type":"boolean","readOnly":true,"description":"When true, indicates that the client should refresh (rerun) the source query because the data may have been changed by the action.","nullable":false},"validation_errors":{"$ref":"#/components/schemas/ValidationError"},"message":{"type":"string","readOnly":true,"description":"Optional message returned by the data action server describing the state of the action that took place. This can be used to implement custom failure messages. If a failure is related to a particular form field, the server should send back a validation error instead. The Looker web UI does not currently display any message if the action indicates 'success', but may do so in the future.","nullable":true}},"x-looker-status":"stable"},"DataActionUserState":{"properties":{"data":{"type":"string","readOnly":true,"description":"User state data","nullable":true},"refresh_time":{"type":"integer","format":"int64","readOnly":true,"description":"Time in seconds until the state needs to be refreshed","nullable":true}},"x-looker-status":"stable"},"Datagroup":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"created_at":{"type":"integer","format":"int64","readOnly":true,"description":"UNIX timestamp at which this entry was created.","nullable":true},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique ID of the datagroup","nullable":false},"model_name":{"type":"string","readOnly":true,"description":"Name of the model containing the datagroup. Unique when combined with name.","nullable":true},"name":{"type":"string","readOnly":true,"description":"Name of the datagroup. Unique when combined with model_name.","nullable":true},"stale_before":{"type":"integer","format":"int64","description":"UNIX timestamp before which cache entries are considered stale. Cannot be in the future.","nullable":true},"trigger_check_at":{"type":"integer","format":"int64","readOnly":true,"description":"UNIX timestamp at which this entry trigger was last checked.","nullable":true},"trigger_error":{"type":"string","readOnly":true,"description":"The message returned with the error of the last trigger check.","nullable":true},"trigger_value":{"type":"string","readOnly":true,"description":"The value of the trigger when last checked.","nullable":true},"triggered_at":{"type":"integer","format":"int64","description":"UNIX timestamp at which this entry became triggered. Cannot be in the future.","nullable":true}},"x-looker-status":"stable"},"DBConnectionBase":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"name":{"type":"string","readOnly":true,"description":"Name of the connection. Also used as the unique identifier","nullable":false},"dialect":{"$ref":"#/components/schemas/Dialect"},"snippets":{"type":"array","items":{"$ref":"#/components/schemas/Snippet"},"readOnly":true,"description":"SQL Runner snippets for this connection","nullable":false},"pdts_enabled":{"type":"boolean","readOnly":true,"description":"True if PDTs are enabled on this connection","nullable":false}},"x-looker-status":"stable"},"DBConnection":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"name":{"type":"string","description":"Name of the connection. Also used as the unique identifier","nullable":false},"dialect":{"$ref":"#/components/schemas/Dialect"},"snippets":{"type":"array","items":{"$ref":"#/components/schemas/Snippet"},"readOnly":true,"description":"SQL Runner snippets for this connection","nullable":false},"pdts_enabled":{"type":"boolean","readOnly":true,"description":"True if PDTs are enabled on this connection","nullable":false},"host":{"type":"string","description":"Host name/address of server","nullable":true},"port":{"type":"integer","format":"int64","description":"Port number on server","nullable":true},"username":{"type":"string","description":"Username for server authentication","nullable":true},"password":{"type":"string","x-looker-write-only":true,"description":"(Write-Only) Password for server authentication","nullable":true},"uses_oauth":{"type":"boolean","readOnly":true,"description":"Whether the connection uses OAuth for authentication.","nullable":false},"certificate":{"type":"string","x-looker-write-only":true,"description":"(Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect).","nullable":true},"file_type":{"type":"string","x-looker-write-only":true,"description":"(Write-Only) Certificate keyfile type - .json or .p12","nullable":true},"database":{"type":"string","description":"Database name","nullable":true},"db_timezone":{"type":"string","description":"Time zone of database","nullable":true},"query_timezone":{"type":"string","description":"Timezone to use in queries","nullable":true},"schema":{"type":"string","description":"Scheme name","nullable":true},"max_connections":{"type":"integer","format":"int64","description":"Maximum number of concurrent connection to use","nullable":true},"max_billing_gigabytes":{"type":"string","description":"Maximum size of query in GBs (BigQuery only, can be a user_attribute name)","nullable":true},"ssl":{"type":"boolean","description":"Use SSL/TLS when connecting to server","nullable":false},"verify_ssl":{"type":"boolean","description":"Verify the SSL","nullable":false},"tmp_db_name":{"type":"string","description":"Name of temporary database (if used)","nullable":true},"jdbc_additional_params":{"type":"string","description":"Additional params to add to JDBC connection string","nullable":true},"pool_timeout":{"type":"integer","format":"int64","description":"Connection Pool Timeout, in seconds","nullable":true},"dialect_name":{"type":"string","description":"(Read/Write) SQL Dialect name","nullable":true},"created_at":{"type":"string","readOnly":true,"description":"Creation date for this connection","nullable":true},"user_id":{"type":"string","readOnly":true,"description":"Id of user who last modified this connection configuration","nullable":true},"example":{"type":"boolean","readOnly":true,"description":"Is this an example connection?","nullable":false},"user_db_credentials":{"type":"boolean","description":"(Limited access feature) Are per user db credentials enabled. Enabling will remove previously set username and password","nullable":true},"user_attribute_fields":{"type":"array","items":{"type":"string"},"description":"Fields whose values map to user attribute names","nullable":true},"maintenance_cron":{"type":"string","description":"Cron string specifying when maintenance such as PDT trigger checks and drops should be performed","nullable":true},"last_regen_at":{"type":"string","readOnly":true,"description":"Unix timestamp at start of last completed PDT trigger check process","nullable":true},"last_reap_at":{"type":"string","readOnly":true,"description":"Unix timestamp at start of last completed PDT reap process","nullable":true},"sql_runner_precache_tables":{"type":"boolean","description":"Precache tables in the SQL Runner","nullable":false},"sql_writing_with_info_schema":{"type":"boolean","description":"Fetch Information Schema For SQL Writing","nullable":false},"after_connect_statements":{"type":"string","description":"SQL statements (semicolon separated) to issue after connecting to the database. Requires `custom_after_connect_statements` license feature","nullable":true},"pdt_context_override":{"$ref":"#/components/schemas/DBConnectionOverride"},"managed":{"type":"boolean","readOnly":true,"description":"Is this connection created and managed by Looker","nullable":false},"tunnel_id":{"type":"string","description":"The Id of the ssh tunnel this connection uses","x-looker-undocumented":false,"nullable":true},"pdt_concurrency":{"type":"integer","format":"int64","description":"Maximum number of threads to use to build PDTs in parallel","nullable":true},"disable_context_comment":{"type":"boolean","description":"When disable_context_comment is true comment will not be added to SQL","nullable":true},"oauth_application_id":{"type":"integer","format":"int64","description":"An External OAuth Application to use for authenticating to the database","nullable":true}},"x-looker-status":"stable"},"DBConnectionOverride":{"properties":{"context":{"type":"string","description":"Context in which to override (`pdt` is the only allowed value)","nullable":false},"host":{"type":"string","description":"Host name/address of server","nullable":true},"port":{"type":"string","description":"Port number on server","nullable":true},"username":{"type":"string","description":"Username for server authentication","nullable":true},"password":{"type":"string","x-looker-write-only":true,"description":"(Write-Only) Password for server authentication","nullable":true},"has_password":{"type":"boolean","readOnly":true,"description":"Whether or not the password is overridden in this context","nullable":false},"certificate":{"type":"string","x-looker-write-only":true,"description":"(Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect).","nullable":true},"file_type":{"type":"string","x-looker-write-only":true,"description":"(Write-Only) Certificate keyfile type - .json or .p12","nullable":true},"database":{"type":"string","description":"Database name","nullable":true},"schema":{"type":"string","description":"Scheme name","nullable":true},"jdbc_additional_params":{"type":"string","description":"Additional params to add to JDBC connection string","nullable":true},"after_connect_statements":{"type":"string","description":"SQL statements (semicolon separated) to issue after connecting to the database. Requires `custom_after_connect_statements` license feature","nullable":true}},"x-looker-status":"stable"},"DBConnectionTestResult":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"connection_string":{"type":"string","readOnly":true,"description":"JDBC connection string. (only populated in the 'connect' test)","nullable":true},"message":{"type":"string","readOnly":true,"description":"Result message of test","nullable":true},"name":{"type":"string","readOnly":true,"description":"Name of test","nullable":true},"status":{"type":"string","readOnly":true,"description":"Result code of test","nullable":true}},"x-looker-status":"stable"},"DelegateOauthTest":{"properties":{"name":{"type":"string","readOnly":true,"description":"Delegate Oauth Connection Name","nullable":false},"installation_target_id":{"type":"string","readOnly":true,"description":"The ID of the installation target. For Slack, this would be workspace id.","nullable":false},"installation_id":{"type":"integer","format":"int64","readOnly":true,"description":"Installation ID","nullable":false},"success":{"type":"boolean","readOnly":true,"description":"Whether or not the test was successful","nullable":false}},"x-looker-status":"stable"},"DependencyGraph":{"properties":{"graph_text":{"type":"string","readOnly":true,"description":"The graph structure in the dot language that can be rendered into an image.","nullable":false}},"x-looker-status":"stable"},"DialectInfo":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"default_max_connections":{"type":"string","readOnly":true,"description":"Default number max connections","nullable":true},"default_port":{"type":"string","readOnly":true,"description":"Default port number","nullable":true},"installed":{"type":"boolean","readOnly":true,"description":"Is the supporting driver installed","nullable":false},"label":{"type":"string","readOnly":true,"description":"The human-readable label of the connection","nullable":true},"label_for_database_equivalent":{"type":"string","readOnly":true,"description":"What the dialect calls the equivalent of a normal SQL table","nullable":true},"name":{"type":"string","readOnly":true,"description":"The name of the dialect","nullable":true},"supported_options":{"$ref":"#/components/schemas/DialectInfoOptions"}},"x-looker-status":"stable"},"DialectInfoOptions":{"properties":{"additional_params":{"type":"boolean","readOnly":true,"description":"Has additional params support","nullable":false},"auth":{"type":"boolean","readOnly":true,"description":"Has auth support","nullable":false},"host":{"type":"boolean","readOnly":true,"description":"Has host support","nullable":false},"oauth_credentials":{"type":"boolean","readOnly":true,"description":"Has support for a service account","nullable":false},"project_name":{"type":"boolean","readOnly":true,"description":"Has project name support","nullable":false},"schema":{"type":"boolean","readOnly":true,"description":"Has schema support","nullable":false},"ssl":{"type":"boolean","readOnly":true,"description":"Has SSL support","nullable":false},"timezone":{"type":"boolean","readOnly":true,"description":"Has timezone support","nullable":false},"tmp_table":{"type":"boolean","readOnly":true,"description":"Has tmp table support","nullable":false},"username_required":{"type":"boolean","readOnly":true,"description":"Username is required","nullable":false}},"x-looker-status":"stable"},"Dialect":{"properties":{"name":{"type":"string","readOnly":true,"description":"The name of the dialect","nullable":false},"label":{"type":"string","readOnly":true,"description":"The human-readable label of the connection","nullable":false},"supports_cost_estimate":{"type":"boolean","readOnly":true,"description":"Whether the dialect supports query cost estimates","nullable":false},"persistent_table_indexes":{"type":"string","readOnly":true,"description":"PDT index columns","nullable":false},"persistent_table_sortkeys":{"type":"string","readOnly":true,"description":"PDT sortkey columns","nullable":false},"persistent_table_distkey":{"type":"string","readOnly":true,"description":"PDT distkey column","nullable":false},"supports_streaming":{"type":"boolean","readOnly":true,"description":"Suports streaming results","nullable":false},"automatically_run_sql_runner_snippets":{"type":"boolean","readOnly":true,"description":"Should SQL Runner snippets automatically be run","nullable":false},"connection_tests":{"type":"array","items":{"type":"string"},"readOnly":true,"description":"Array of names of the tests that can be run on a connection using this dialect","nullable":false},"supports_inducer":{"type":"boolean","readOnly":true,"description":"Is supported with the inducer (i.e. generate from sql)","nullable":false},"supports_multiple_databases":{"type":"boolean","readOnly":true,"description":"Can multiple databases be accessed from a connection using this dialect","nullable":false},"supports_persistent_derived_tables":{"type":"boolean","readOnly":true,"description":"Whether the dialect supports allowing Looker to build persistent derived tables","nullable":false},"has_ssl_support":{"type":"boolean","readOnly":true,"description":"Does the database have client SSL support settable through the JDBC string explicitly?","nullable":false}},"x-looker-status":"stable"},"DigestEmailSend":{"properties":{"configuration_delivered":{"type":"boolean","description":"True if content was successfully generated and delivered","nullable":false}},"x-looker-status":"stable"},"DigestEmails":{"properties":{"is_enabled":{"type":"boolean","description":"Whether or not digest emails are enabled","nullable":false}},"x-looker-status":"stable"},"EmbedParams":{"properties":{"target_url":{"type":"string","format":"uri","description":"The complete URL of the Looker UI page to display in the embed context. For example, to display the dashboard with id 34, `target_url` would look like: `https://mycompany.looker.com:9999/dashboards/34`. `target_uri` MUST contain a scheme (HTTPS), domain name, and URL path. Port must be included if it is required to reach the Looker server from browser clients. If the Looker instance is behind a load balancer or other proxy, `target_uri` must be the public-facing domain name and port required to reach the Looker instance, not the actual internal network machine name of the Looker instance.","nullable":false},"session_length":{"type":"integer","format":"int64","description":"Number of seconds the SSO embed session will be valid after the embed session is started. Defaults to 300 seconds. Maximum session length accepted is 2592000 seconds (30 days).","nullable":true},"force_logout_login":{"type":"boolean","description":"When true, the embed session will purge any residual Looker login state (such as in browser cookies) before creating a new login state with the given embed user info. Defaults to true.","nullable":false}},"x-looker-status":"beta","required":["target_url"]},"EmbedSsoParams":{"properties":{"target_url":{"type":"string","format":"uri","description":"The complete URL of the Looker UI page to display in the embed context. For example, to display the dashboard with id 34, `target_url` would look like: `https://mycompany.looker.com:9999/dashboards/34`. `target_uri` MUST contain a scheme (HTTPS), domain name, and URL path. Port must be included if it is required to reach the Looker server from browser clients. If the Looker instance is behind a load balancer or other proxy, `target_uri` must be the public-facing domain name and port required to reach the Looker instance, not the actual internal network machine name of the Looker instance.","nullable":false},"session_length":{"type":"integer","format":"int64","description":"Number of seconds the SSO embed session will be valid after the embed session is started. Defaults to 300 seconds. Maximum session length accepted is 2592000 seconds (30 days).","nullable":true},"force_logout_login":{"type":"boolean","description":"When true, the embed session will purge any residual Looker login state (such as in browser cookies) before creating a new login state with the given embed user info. Defaults to true.","nullable":false},"external_user_id":{"type":"string","description":"A value from an external system that uniquely identifies the embed user. Since the user_ids of Looker embed users may change with every embed session, external_user_id provides a way to assign a known, stable user identifier across multiple embed sessions.","nullable":true},"first_name":{"type":"string","description":"First name of the embed user. Defaults to 'Embed' if not specified","nullable":true},"last_name":{"type":"string","description":"Last name of the embed user. Defaults to 'User' if not specified","nullable":true},"user_timezone":{"type":"string","description":"Sets the user timezone for the embed user session, if the User Specific Timezones setting is enabled in the Looker admin settings. A value of `null` forces the embed user to use the Looker Application Default Timezone. You MUST omit this property from the request if the User Specific Timezones setting is disabled. Timezone values are validated against the IANA Timezone standard and can be seen in the Application Time Zone dropdown list on the Looker General Settings admin page.","nullable":true},"permissions":{"type":"array","items":{"type":"string"},"description":"List of Looker permission names to grant to the embed user. Requested permissions will be filtered to permissions allowed for embed sessions.","nullable":true},"models":{"type":"array","items":{"type":"string"},"description":"List of model names that the embed user may access","nullable":true},"group_ids":{"type":"array","items":{"type":"integer","format":"int64"},"description":"List of Looker group ids in which to enroll the embed user","nullable":true},"external_group_id":{"type":"string","description":"A unique value identifying an embed-exclusive group. Multiple embed users using the same `external_group_id` value will be able to share Looker content with each other. Content and embed users associated with the `external_group_id` will not be accessible to normal Looker users or embed users not associated with this `external_group_id`.","nullable":true},"user_attributes":{"type":"object","additionalProperties":{"type":"string","format":"any"},"description":"A dictionary of name-value pairs associating a Looker user attribute name with a value.","nullable":true},"secret_id":{"type":"integer","format":"int64","description":"Id of the embed secret to use to sign this SSO url. If specified, the value must be an id of a valid (active) secret defined in the Looker instance. If not specified, the URL will be signed with the newest active embed secret defined in the Looker instance.","nullable":true}},"x-looker-status":"stable","required":["target_url"]},"EmbedUrlResponse":{"properties":{"url":{"type":"string","readOnly":true,"description":"The embed URL. Any modification to this string will make the URL unusable.","nullable":false}},"x-looker-status":"stable"},"ExternalOauthApplication":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"id":{"type":"integer","format":"int64","readOnly":true,"description":"ID of this OAuth Application","nullable":false},"name":{"type":"string","description":"The name of this application. For Snowflake connections, this should be the name of the host database.","nullable":false},"client_id":{"type":"string","description":"The OAuth Client ID for this application","nullable":false},"client_secret":{"type":"string","x-looker-write-only":true,"description":"(Write-Only) The OAuth Client Secret for this application","nullable":false},"dialect_name":{"type":"string","description":"The database dialect for this application.","nullable":true},"created_at":{"type":"string","format":"date-time","readOnly":true,"description":"Creation time for this application","nullable":false}},"x-looker-status":"beta"},"FolderBase":{"properties":{"name":{"type":"string","description":"Unique Name","nullable":false},"parent_id":{"type":"string","description":"Id of Parent. If the parent id is null, this is a root-level entry","nullable":true},"id":{"type":"string","readOnly":true,"description":"Unique Id","nullable":false},"content_metadata_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of content metadata","nullable":true},"created_at":{"type":"string","format":"date-time","readOnly":true,"description":"Time the folder was created","nullable":true},"creator_id":{"type":"integer","format":"int64","readOnly":true,"description":"User Id of Creator","nullable":true},"child_count":{"type":"integer","format":"int64","readOnly":true,"description":"Children Count","nullable":true},"external_id":{"type":"string","readOnly":true,"description":"Embedder's Id if this folder was autogenerated as an embedding shared folder via 'external_group_id' in an SSO embed login","nullable":true},"is_embed":{"type":"boolean","readOnly":true,"description":"Folder is an embed folder","nullable":false},"is_embed_shared_root":{"type":"boolean","readOnly":true,"description":"Folder is the root embed shared folder","nullable":false},"is_embed_users_root":{"type":"boolean","readOnly":true,"description":"Folder is the root embed users folder","nullable":false},"is_personal":{"type":"boolean","readOnly":true,"description":"Folder is a user's personal folder","nullable":false},"is_personal_descendant":{"type":"boolean","readOnly":true,"description":"Folder is descendant of a user's personal folder","nullable":false},"is_shared_root":{"type":"boolean","readOnly":true,"description":"Folder is the root shared folder","nullable":false},"is_users_root":{"type":"boolean","readOnly":true,"description":"Folder is the root user folder","nullable":false},"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false}},"x-looker-status":"stable","required":["name"]},"CreateFolder":{"properties":{"name":{"type":"string","description":"Unique Name","nullable":false},"parent_id":{"type":"string","description":"Id of Parent. If the parent id is null, this is a root-level entry","nullable":false}},"x-looker-status":"stable","required":["name","parent_id"]},"UpdateFolder":{"properties":{"name":{"type":"string","description":"Unique Name","nullable":false},"parent_id":{"type":"string","description":"Id of Parent. If the parent id is null, this is a root-level entry","nullable":false}},"x-looker-status":"stable"},"Folder":{"properties":{"name":{"type":"string","description":"Unique Name","nullable":false},"parent_id":{"type":"string","description":"Id of Parent. If the parent id is null, this is a root-level entry","nullable":true},"id":{"type":"string","readOnly":true,"description":"Unique Id","nullable":false},"content_metadata_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of content metadata","nullable":true},"created_at":{"type":"string","format":"date-time","readOnly":true,"description":"Time the space was created","nullable":true},"creator_id":{"type":"integer","format":"int64","readOnly":true,"description":"User Id of Creator","nullable":true},"child_count":{"type":"integer","format":"int64","readOnly":true,"description":"Children Count","nullable":true},"external_id":{"type":"string","readOnly":true,"description":"Embedder's Id if this folder was autogenerated as an embedding shared folder via 'external_group_id' in an SSO embed login","nullable":true},"is_embed":{"type":"boolean","readOnly":true,"description":"Folder is an embed folder","nullable":false},"is_embed_shared_root":{"type":"boolean","readOnly":true,"description":"Folder is the root embed shared folder","nullable":false},"is_embed_users_root":{"type":"boolean","readOnly":true,"description":"Folder is the root embed users folder","nullable":false},"is_personal":{"type":"boolean","readOnly":true,"description":"Folder is a user's personal folder","nullable":false},"is_personal_descendant":{"type":"boolean","readOnly":true,"description":"Folder is descendant of a user's personal folder","nullable":false},"is_shared_root":{"type":"boolean","readOnly":true,"description":"Folder is the root shared folder","nullable":false},"is_users_root":{"type":"boolean","readOnly":true,"description":"Folder is the root user folder","nullable":false},"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"dashboards":{"type":"array","items":{"$ref":"#/components/schemas/DashboardBase"},"readOnly":true,"description":"Dashboards","nullable":true},"looks":{"type":"array","items":{"$ref":"#/components/schemas/LookWithDashboards"},"readOnly":true,"description":"Looks","nullable":true}},"x-looker-status":"stable","required":["name"]},"GitBranch":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"name":{"type":"string","description":"The short name on the local. Updating `name` results in `git checkout `","nullable":true},"remote":{"type":"string","readOnly":true,"description":"The name of the remote","nullable":true},"remote_name":{"type":"string","readOnly":true,"description":"The short name on the remote","nullable":true},"error":{"type":"string","readOnly":true,"description":"Name of error","nullable":true},"message":{"type":"string","readOnly":true,"description":"Message describing an error if present","nullable":true},"owner_name":{"type":"string","readOnly":true,"description":"Name of the owner of a personal branch","nullable":true},"readonly":{"type":"boolean","readOnly":true,"description":"Whether or not this branch is readonly","nullable":false},"personal":{"type":"boolean","readOnly":true,"description":"Whether or not this branch is a personal branch - readonly for all developers except the owner","nullable":false},"is_local":{"type":"boolean","readOnly":true,"description":"Whether or not a local ref exists for the branch","nullable":false},"is_remote":{"type":"boolean","readOnly":true,"description":"Whether or not a remote ref exists for the branch","nullable":false},"is_production":{"type":"boolean","readOnly":true,"description":"Whether or not this is the production branch","nullable":false},"ahead_count":{"type":"integer","format":"int64","readOnly":true,"description":"Number of commits the local branch is ahead of the remote","nullable":true},"behind_count":{"type":"integer","format":"int64","readOnly":true,"description":"Number of commits the local branch is behind the remote","nullable":true},"commit_at":{"type":"integer","format":"int64","readOnly":true,"description":"UNIX timestamp at which this branch was last committed.","nullable":true},"ref":{"type":"string","description":"The resolved ref of this branch. Updating `ref` results in `git reset --hard ``.","nullable":true},"remote_ref":{"type":"string","readOnly":true,"description":"The resolved ref of this branch remote.","nullable":true}},"x-looker-status":"stable"},"GitConnectionTest":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"description":{"type":"string","readOnly":true,"description":"Human readable string describing the test","nullable":true},"id":{"type":"string","readOnly":true,"description":"A short string, uniquely naming this test","nullable":false}},"x-looker-status":"stable"},"GitConnectionTestResult":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"id":{"type":"string","readOnly":true,"description":"A short string, uniquely naming this test","nullable":false},"message":{"type":"string","readOnly":true,"description":"Additional data from the test","nullable":true},"status":{"type":"string","readOnly":true,"description":"Either 'pass' or 'fail'","nullable":true}},"x-looker-status":"stable"},"GitStatus":{"properties":{"action":{"type":"string","readOnly":true,"description":"Git action: add, delete, etc","nullable":true},"conflict":{"type":"boolean","readOnly":true,"description":"When true, changes to the local file conflict with the remote repository","nullable":false},"revertable":{"type":"boolean","readOnly":true,"description":"When true, the file can be reverted to an earlier state","nullable":false},"text":{"type":"string","readOnly":true,"description":"Git description of the action","nullable":true}},"x-looker-status":"stable"},"GroupIdForGroupInclusion":{"properties":{"group_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of group","nullable":true}},"x-looker-status":"stable"},"Group":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"can_add_to_content_metadata":{"type":"boolean","description":"Group can be used in content access controls","nullable":false},"contains_current_user":{"type":"boolean","readOnly":true,"description":"Currently logged in user is group member","nullable":false},"external_group_id":{"type":"string","readOnly":true,"description":"External Id group if embed group","nullable":true},"externally_managed":{"type":"boolean","readOnly":true,"description":"Group membership controlled outside of Looker","nullable":false},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"include_by_default":{"type":"boolean","readOnly":true,"description":"New users are added to this group by default","nullable":false},"name":{"type":"string","description":"Name of group","nullable":true},"user_count":{"type":"integer","format":"int64","readOnly":true,"description":"Number of users included in this group","nullable":true}},"x-looker-status":"stable"},"GroupSearch":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"can_add_to_content_metadata":{"type":"boolean","description":"Group can be used in content access controls","nullable":false},"contains_current_user":{"type":"boolean","readOnly":true,"description":"Currently logged in user is group member","nullable":false},"external_group_id":{"type":"string","readOnly":true,"description":"External Id group if embed group","nullable":true},"externally_managed":{"type":"boolean","readOnly":true,"description":"Group membership controlled outside of Looker","nullable":false},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"include_by_default":{"type":"boolean","readOnly":true,"description":"New users are added to this group by default","nullable":false},"name":{"type":"string","description":"Name of group","nullable":true},"user_count":{"type":"integer","format":"int64","readOnly":true,"description":"Number of users included in this group","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"readOnly":true,"description":"Roles assigned to group","nullable":true}},"x-looker-status":"beta"},"GroupHierarchy":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"can_add_to_content_metadata":{"type":"boolean","description":"Group can be used in content access controls","nullable":false},"contains_current_user":{"type":"boolean","readOnly":true,"description":"Currently logged in user is group member","nullable":false},"external_group_id":{"type":"string","readOnly":true,"description":"External Id group if embed group","nullable":true},"externally_managed":{"type":"boolean","readOnly":true,"description":"Group membership controlled outside of Looker","nullable":false},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"include_by_default":{"type":"boolean","readOnly":true,"description":"New users are added to this group by default","nullable":false},"name":{"type":"string","description":"Name of group","nullable":true},"user_count":{"type":"integer","format":"int64","readOnly":true,"description":"Number of users included in this group","nullable":true},"parent_group_ids":{"type":"array","items":{"type":"integer","format":"int64"},"readOnly":true,"description":"IDs of parents of this group","nullable":true},"role_ids":{"type":"array","items":{"type":"integer","format":"int64"},"readOnly":true,"description":"Role IDs assigned to group","nullable":true}},"x-looker-status":"beta"},"GroupIdForGroupUserInclusion":{"properties":{"user_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of user","nullable":true}},"x-looker-status":"stable"},"ImportedProject":{"properties":{"name":{"type":"string","readOnly":true,"description":"Dependency name","nullable":true},"url":{"type":"string","readOnly":true,"description":"Url for a remote dependency","nullable":true},"ref":{"type":"string","readOnly":true,"description":"Ref for a remote dependency","nullable":true},"is_remote":{"type":"boolean","readOnly":true,"description":"Flag signifying if a dependency is remote or local","nullable":false}},"x-looker-status":"stable"},"IntegrationHub":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"id":{"type":"integer","format":"int64","readOnly":true,"description":"ID of the hub.","nullable":false},"url":{"type":"string","description":"URL of the hub.","nullable":false},"label":{"type":"string","readOnly":true,"description":"Label of the hub.","nullable":false},"official":{"type":"boolean","readOnly":true,"description":"Whether this hub is a first-party integration hub operated by Looker.","nullable":false},"fetch_error_message":{"type":"string","readOnly":true,"description":"An error message, present if the integration hub metadata could not be fetched. If this is present, the integration hub is unusable.","nullable":true},"authorization_token":{"type":"string","x-looker-write-only":true,"description":"(Write-Only) An authorization key that will be sent to the integration hub on every request.","nullable":true},"has_authorization_token":{"type":"boolean","readOnly":true,"description":"Whether the authorization_token is set for the hub.","nullable":false},"legal_agreement_signed":{"type":"boolean","readOnly":true,"description":"Whether the legal agreement message has been signed by the user. This only matters if legal_agreement_required is true.","nullable":false},"legal_agreement_required":{"type":"boolean","readOnly":true,"description":"Whether the legal terms for the integration hub are required before use.","nullable":false},"legal_agreement_text":{"type":"string","readOnly":true,"description":"The legal agreement text for this integration hub.","nullable":true}},"x-looker-status":"stable"},"Integration":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"id":{"type":"string","readOnly":true,"description":"ID of the integration.","nullable":false},"integration_hub_id":{"type":"integer","format":"int64","readOnly":true,"description":"ID of the integration hub.","nullable":false},"label":{"type":"string","readOnly":true,"description":"Label for the integration.","nullable":false},"description":{"type":"string","readOnly":true,"description":"Description of the integration.","nullable":true},"enabled":{"type":"boolean","description":"Whether the integration is available to users.","nullable":false},"params":{"type":"array","items":{"$ref":"#/components/schemas/IntegrationParam"},"description":"Array of params for the integration.","nullable":false},"supported_formats":{"type":"array","items":{"type":"string"},"readOnly":true,"enum":["txt","csv","inline_json","json","json_label","json_detail","json_detail_lite_stream","xlsx","html","wysiwyg_pdf","assembled_pdf","wysiwyg_png","csv_zip"],"description":"A list of data formats the integration supports. If unspecified, the default is all data formats. Valid values are: \"txt\", \"csv\", \"inline_json\", \"json\", \"json_label\", \"json_detail\", \"json_detail_lite_stream\", \"xlsx\", \"html\", \"wysiwyg_pdf\", \"assembled_pdf\", \"wysiwyg_png\", \"csv_zip\".","nullable":false},"supported_action_types":{"type":"array","items":{"type":"string"},"readOnly":true,"enum":["cell","query","dashboard"],"description":"A list of action types the integration supports. Valid values are: \"cell\", \"query\", \"dashboard\".","nullable":false},"supported_formattings":{"type":"array","items":{"type":"string"},"readOnly":true,"enum":["formatted","unformatted"],"description":"A list of formatting options the integration supports. If unspecified, defaults to all formats. Valid values are: \"formatted\", \"unformatted\".","nullable":false},"supported_visualization_formattings":{"type":"array","items":{"type":"string"},"readOnly":true,"enum":["apply","noapply"],"description":"A list of visualization formatting options the integration supports. If unspecified, defaults to all formats. Valid values are: \"apply\", \"noapply\".","nullable":false},"supported_download_settings":{"type":"array","items":{"type":"string"},"readOnly":true,"enum":["push","url"],"description":"A list of all the download mechanisms the integration supports. The order of values is not significant: Looker will select the most appropriate supported download mechanism for a given query. The integration must ensure it can handle any of the mechanisms it claims to support. If unspecified, this defaults to all download setting values. Valid values are: \"push\", \"url\".","nullable":false},"icon_url":{"type":"string","readOnly":true,"description":"URL to an icon for the integration.","nullable":true},"uses_oauth":{"type":"boolean","readOnly":true,"description":"Whether the integration uses oauth.","nullable":true},"required_fields":{"type":"array","items":{"$ref":"#/components/schemas/IntegrationRequiredField"},"readOnly":true,"description":"A list of descriptions of required fields that this integration is compatible with. If there are multiple entries in this list, the integration requires more than one field. If unspecified, no fields will be required.","nullable":false},"delegate_oauth":{"type":"boolean","readOnly":true,"description":"Whether the integration uses delegate oauth, which allows federation between an integration installation scope specific entity (like org, group, and team, etc.) and Looker.","nullable":true},"installed_delegate_oauth_targets":{"type":"array","items":{"type":"integer","format":"int64"},"description":"Whether the integration is available to users.","nullable":false}},"x-looker-status":"stable"},"IntegrationParam":{"properties":{"name":{"type":"string","description":"Name of the parameter.","nullable":true},"label":{"type":"string","readOnly":true,"description":"Label of the parameter.","nullable":true},"description":{"type":"string","readOnly":true,"description":"Short description of the parameter.","nullable":true},"required":{"type":"boolean","readOnly":true,"description":"Whether the parameter is required to be set to use the destination. If unspecified, this defaults to false.","nullable":false},"has_value":{"type":"boolean","readOnly":true,"description":"Whether the parameter has a value set.","nullable":false},"value":{"type":"string","description":"The current value of the parameter. Always null if the value is sensitive. When writing, null values will be ignored. Set the value to an empty string to clear it.","nullable":true},"user_attribute_name":{"type":"string","description":"When present, the param's value comes from this user attribute instead of the 'value' parameter. Set to null to use the 'value'.","nullable":true},"sensitive":{"type":"boolean","readOnly":true,"description":"Whether the parameter contains sensitive data like API credentials. If unspecified, this defaults to true.","nullable":true},"per_user":{"type":"boolean","readOnly":true,"description":"When true, this parameter must be assigned to a user attribute in the admin panel (instead of a constant value), and that value may be updated by the user as part of the integration flow.","nullable":false},"delegate_oauth_url":{"type":"string","readOnly":true,"description":"When present, the param represents the oauth url the user will be taken to.","nullable":true}},"x-looker-status":"stable"},"IntegrationRequiredField":{"properties":{"tag":{"type":"string","readOnly":true,"description":"Matches a field that has this tag.","nullable":true},"any_tag":{"type":"array","items":{"type":"string"},"readOnly":true,"description":"If present, supercedes 'tag' and matches a field that has any of the provided tags.","nullable":true},"all_tags":{"type":"array","items":{"type":"string"},"readOnly":true,"description":"If present, supercedes 'tag' and matches a field that has all of the provided tags.","nullable":true}},"x-looker-status":"stable"},"IntegrationTestResult":{"properties":{"success":{"type":"boolean","readOnly":true,"description":"Whether or not the test was successful","nullable":false},"message":{"type":"string","readOnly":true,"description":"A message representing the results of the test.","nullable":true},"delegate_oauth_result":{"type":"array","items":{"$ref":"#/components/schemas/DelegateOauthTest"},"readOnly":true,"description":"An array of connection test result for delegate oauth actions.","nullable":true}},"x-looker-status":"stable"},"InternalHelpResourcesContent":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"organization_name":{"type":"string","description":"Text to display in the help menu item which will display the internal help resources","nullable":true},"markdown_content":{"type":"string","description":"Content to be displayed in the internal help resources page/modal","nullable":true}},"x-looker-status":"stable"},"InternalHelpResources":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"enabled":{"type":"boolean","description":"If true and internal help resources content is not blank then the link for internal help resources will be shown in the help menu and the content displayed within Looker","nullable":false}},"x-looker-status":"stable"},"LDAPConfig":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"alternate_email_login_allowed":{"type":"boolean","description":"Allow alternate email-based login via '/login/email' for admins and for specified users with the 'login_special_email' permission. This option is useful as a fallback during ldap setup, if ldap config problems occur later, or if you need to support some users who are not in your ldap directory. Looker email/password logins are always disabled for regular users when ldap is enabled.","nullable":false},"auth_password":{"type":"string","x-looker-write-only":true,"description":"(Write-Only) Password for the LDAP account used to access the LDAP server","nullable":true},"auth_requires_role":{"type":"boolean","description":"Users will not be allowed to login at all unless a role for them is found in LDAP if set to true","nullable":false},"auth_username":{"type":"string","description":"Distinguished name of LDAP account used to access the LDAP server","nullable":true},"connection_host":{"type":"string","description":"LDAP server hostname","nullable":true},"connection_port":{"type":"string","description":"LDAP host port","nullable":true},"connection_tls":{"type":"boolean","description":"Use Transport Layer Security","nullable":false},"connection_tls_no_verify":{"type":"boolean","description":"Do not verify peer when using TLS","nullable":false},"default_new_user_group_ids":{"type":"array","items":{"type":"integer","format":"int64"},"x-looker-write-only":true,"description":"(Write-Only) Array of ids of groups that will be applied to new users the first time they login via LDAP","nullable":true},"default_new_user_groups":{"type":"array","items":{"$ref":"#/components/schemas/Group"},"readOnly":true,"description":"(Read-only) Groups that will be applied to new users the first time they login via LDAP","nullable":true},"default_new_user_role_ids":{"type":"array","items":{"type":"integer","format":"int64"},"x-looker-write-only":true,"description":"(Write-Only) Array of ids of roles that will be applied to new users the first time they login via LDAP","nullable":true},"default_new_user_roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"readOnly":true,"description":"(Read-only) Roles that will be applied to new users the first time they login via LDAP","nullable":true},"enabled":{"type":"boolean","description":"Enable/Disable LDAP authentication for the server","nullable":false},"force_no_page":{"type":"boolean","description":"Don't attempt to do LDAP search result paging (RFC 2696) even if the LDAP server claims to support it.","nullable":false},"groups":{"type":"array","items":{"$ref":"#/components/schemas/LDAPGroupRead"},"readOnly":true,"description":"(Read-only) Array of mappings between LDAP Groups and Looker Roles","nullable":true},"groups_base_dn":{"type":"string","description":"Base dn for finding groups in LDAP searches","nullable":true},"groups_finder_type":{"type":"string","description":"Identifier for a strategy for how Looker will search for groups in the LDAP server","nullable":true},"groups_member_attribute":{"type":"string","description":"LDAP Group attribute that signifies the members of the groups. Most commonly 'member'","nullable":true},"groups_objectclasses":{"type":"string","description":"Optional comma-separated list of supported LDAP objectclass for groups when doing groups searches","nullable":true},"groups_user_attribute":{"type":"string","description":"LDAP Group attribute that signifies the user in a group. Most commonly 'dn'","nullable":true},"groups_with_role_ids":{"type":"array","items":{"$ref":"#/components/schemas/LDAPGroupWrite"},"description":"(Read/Write) Array of mappings between LDAP Groups and arrays of Looker Role ids","nullable":true},"has_auth_password":{"type":"boolean","readOnly":true,"description":"(Read-only) Has the password been set for the LDAP account used to access the LDAP server","nullable":false},"merge_new_users_by_email":{"type":"boolean","description":"Merge first-time ldap login to existing user account by email addresses. When a user logs in for the first time via ldap this option will connect this user into their existing account by finding the account with a matching email address. Otherwise a new user account will be created for the user.","nullable":false},"modified_at":{"type":"string","readOnly":true,"description":"When this config was last modified","nullable":true},"modified_by":{"type":"string","readOnly":true,"description":"User id of user who last modified this config","nullable":true},"set_roles_from_groups":{"type":"boolean","description":"Set user roles in Looker based on groups from LDAP","nullable":false},"test_ldap_password":{"type":"string","x-looker-write-only":true,"description":"(Write-Only) Test LDAP user password. For ldap tests only.","nullable":true},"test_ldap_user":{"type":"string","x-looker-write-only":true,"description":"(Write-Only) Test LDAP user login id. For ldap tests only.","nullable":true},"user_attribute_map_email":{"type":"string","description":"Name of user record attributes used to indicate email address field","nullable":true},"user_attribute_map_first_name":{"type":"string","description":"Name of user record attributes used to indicate first name","nullable":true},"user_attribute_map_last_name":{"type":"string","description":"Name of user record attributes used to indicate last name","nullable":true},"user_attribute_map_ldap_id":{"type":"string","description":"Name of user record attributes used to indicate unique record id","nullable":true},"user_attributes":{"type":"array","items":{"$ref":"#/components/schemas/LDAPUserAttributeRead"},"readOnly":true,"description":"(Read-only) Array of mappings between LDAP User Attributes and Looker User Attributes","nullable":true},"user_attributes_with_ids":{"type":"array","items":{"$ref":"#/components/schemas/LDAPUserAttributeWrite"},"description":"(Read/Write) Array of mappings between LDAP User Attributes and arrays of Looker User Attribute ids","nullable":true},"user_bind_base_dn":{"type":"string","description":"Distinguished name of LDAP node used as the base for user searches","nullable":true},"user_custom_filter":{"type":"string","description":"(Optional) Custom RFC-2254 filter clause for use in finding user during login. Combined via 'and' with the other generated filter clauses.","nullable":true},"user_id_attribute_names":{"type":"string","description":"Name(s) of user record attributes used for matching user login id (comma separated list)","nullable":true},"user_objectclass":{"type":"string","description":"(Optional) Name of user record objectclass used for finding user during login id","nullable":true},"allow_normal_group_membership":{"type":"boolean","description":"Allow LDAP auth'd users to be members of non-reflected Looker groups. If 'false', user will be removed from non-reflected groups on login.","nullable":false},"allow_roles_from_normal_groups":{"type":"boolean","description":"LDAP auth'd users will be able to inherit roles from non-reflected Looker groups.","nullable":false},"allow_direct_roles":{"type":"boolean","description":"Allows roles to be directly assigned to LDAP auth'd users.","nullable":false},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to get this item","nullable":true}},"x-looker-status":"stable"},"LDAPConfigTestResult":{"properties":{"details":{"type":"string","readOnly":true,"description":"Additional details for error cases","nullable":true},"issues":{"type":"array","items":{"$ref":"#/components/schemas/LDAPConfigTestIssue"},"readOnly":true,"description":"Array of issues/considerations about the result","nullable":true},"message":{"type":"string","readOnly":true,"description":"Short human readable test about the result","nullable":true},"status":{"type":"string","readOnly":true,"description":"Test status code: always 'success' or 'error'","nullable":true},"trace":{"type":"string","readOnly":true,"description":"A more detailed trace of incremental results during auth tests","nullable":true},"user":{"$ref":"#/components/schemas/LDAPUser"},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to ldap config","nullable":true}},"x-looker-status":"stable"},"LDAPConfigTestIssue":{"properties":{"severity":{"type":"string","readOnly":true,"description":"Severity of the issue. Error or Warning","nullable":true},"message":{"type":"string","readOnly":true,"description":"Message describing the issue","nullable":true}},"x-looker-status":"stable"},"LDAPGroupRead":{"properties":{"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"looker_group_id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id of group in Looker","nullable":true},"looker_group_name":{"type":"string","readOnly":true,"description":"Name of group in Looker","nullable":true},"name":{"type":"string","readOnly":true,"description":"Name of group in LDAP","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"readOnly":true,"description":"Looker Roles","nullable":true},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to ldap config","nullable":true}},"x-looker-status":"stable"},"LDAPGroupWrite":{"properties":{"id":{"type":"integer","format":"int64","description":"Unique Id","nullable":true},"looker_group_id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id of group in Looker","nullable":true},"looker_group_name":{"type":"string","description":"Name of group in Looker","nullable":true},"name":{"type":"string","description":"Name of group in LDAP","nullable":true},"role_ids":{"type":"array","items":{"type":"integer","format":"int64"},"description":"Looker Role Ids","nullable":true},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to ldap config","nullable":true}},"x-looker-status":"stable"},"LDAPUserAttributeRead":{"properties":{"name":{"type":"string","readOnly":true,"description":"Name of User Attribute in LDAP","nullable":true},"required":{"type":"boolean","readOnly":true,"description":"Required to be in LDAP assertion for login to be allowed to succeed","nullable":false},"user_attributes":{"type":"array","items":{"$ref":"#/components/schemas/UserAttribute"},"readOnly":true,"description":"Looker User Attributes","nullable":true},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to ldap config","nullable":true}},"x-looker-status":"stable"},"LDAPUserAttributeWrite":{"properties":{"name":{"type":"string","description":"Name of User Attribute in LDAP","nullable":true},"required":{"type":"boolean","description":"Required to be in LDAP assertion for login to be allowed to succeed","nullable":false},"user_attribute_ids":{"type":"array","items":{"type":"integer","format":"int64"},"description":"Looker User Attribute Ids","nullable":true},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to ldap config","nullable":true}},"x-looker-status":"stable"},"LDAPUser":{"properties":{"all_emails":{"type":"array","items":{"type":"string"},"readOnly":true,"description":"Array of user's email addresses and aliases for use in migration","nullable":true},"attributes":{"type":"object","additionalProperties":{"type":"string"},"readOnly":true,"description":"Dictionary of user's attributes (name/value)","nullable":true},"email":{"type":"string","readOnly":true,"description":"Primary email address","nullable":true},"first_name":{"type":"string","readOnly":true,"description":"First name","nullable":true},"groups":{"type":"array","items":{"type":"string"},"readOnly":true,"description":"Array of user's groups (group names only)","nullable":true},"last_name":{"type":"string","readOnly":true,"description":"Last Name","nullable":true},"ldap_dn":{"type":"string","readOnly":true,"description":"LDAP's distinguished name for the user record","nullable":true},"ldap_id":{"type":"string","readOnly":true,"description":"LDAP's Unique ID for the user","nullable":true},"roles":{"type":"array","items":{"type":"string"},"readOnly":true,"description":"Array of user's roles (role names only)","nullable":true},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to ldap config","nullable":true}},"x-looker-status":"stable"},"LegacyFeature":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"id":{"type":"string","readOnly":true,"description":"Unique Id","nullable":false},"name":{"type":"string","readOnly":true,"description":"Name","nullable":true},"description":{"type":"string","readOnly":true,"description":"Description","nullable":true},"enabled_locally":{"type":"boolean","description":"Whether this feature has been enabled by a user","nullable":false},"enabled":{"type":"boolean","readOnly":true,"description":"Whether this feature is currently enabled","nullable":false},"disallowed_as_of_version":{"type":"string","readOnly":true,"description":"Looker version where this feature became a legacy feature","nullable":true},"disable_on_upgrade_to_version":{"type":"string","readOnly":true,"description":"Looker version where this feature will be automatically disabled","nullable":true},"end_of_life_version":{"type":"string","readOnly":true,"description":"Future Looker version where this feature will be removed","nullable":true},"documentation_url":{"type":"string","readOnly":true,"description":"URL for documentation about this feature","nullable":true},"approximate_disable_date":{"type":"string","format":"date-time","readOnly":true,"description":"Approximate date that this feature will be automatically disabled.","nullable":true},"approximate_end_of_life_date":{"type":"string","format":"date-time","readOnly":true,"description":"Approximate date that this feature will be removed.","nullable":true},"has_disabled_on_upgrade":{"type":"boolean","readOnly":true,"description":"Whether this legacy feature may have been automatically disabled when upgrading to the current version.","nullable":false}},"x-looker-status":"stable"},"Locale":{"properties":{"code":{"type":"string","readOnly":true,"description":"Code for Locale","nullable":true},"native_name":{"type":"string","readOnly":true,"description":"Name of Locale in its own language","nullable":true},"english_name":{"type":"string","readOnly":true,"description":"Name of Locale in English","nullable":true}},"x-looker-status":"stable"},"LocalizationSettings":{"properties":{"default_locale":{"type":"string","readOnly":true,"description":"Default locale for localization","nullable":true},"localization_level":{"type":"string","readOnly":true,"description":"Localization level - strict or permissive","nullable":true}},"x-looker-status":"stable"},"LookBasic":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"content_metadata_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of content metadata","nullable":true},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"title":{"type":"string","readOnly":true,"description":"Look Title","nullable":true},"user_id":{"type":"integer","format":"int64","description":"User Id","nullable":true}},"x-looker-status":"stable"},"Look":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"content_metadata_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of content metadata","nullable":true},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"title":{"type":"string","description":"Look Title","nullable":true},"user_id":{"type":"integer","format":"int64","description":"User Id","nullable":true},"content_favorite_id":{"type":"integer","format":"int64","readOnly":true,"description":"Content Favorite Id","nullable":true},"created_at":{"type":"string","format":"date-time","readOnly":true,"description":"Time that the Look was created.","nullable":true},"deleted":{"type":"boolean","description":"Whether or not a look is 'soft' deleted.","nullable":false},"deleted_at":{"type":"string","format":"date-time","readOnly":true,"description":"Time that the Look was deleted.","nullable":true},"deleter_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of User that deleted the look.","nullable":true},"description":{"type":"string","description":"Description","nullable":true},"embed_url":{"type":"string","readOnly":true,"description":"Embed Url","nullable":true},"excel_file_url":{"type":"string","readOnly":true,"description":"Excel File Url","nullable":true},"favorite_count":{"type":"integer","format":"int64","readOnly":true,"description":"Number of times favorited","nullable":true},"google_spreadsheet_formula":{"type":"string","readOnly":true,"description":"Google Spreadsheet Formula","nullable":true},"image_embed_url":{"type":"string","readOnly":true,"description":"Image Embed Url","nullable":true},"is_run_on_load":{"type":"boolean","description":"auto-run query when Look viewed","nullable":false},"last_accessed_at":{"type":"string","format":"date-time","readOnly":true,"description":"Time that the Look was last accessed by any user","nullable":true},"last_updater_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of User that last updated the look.","nullable":true},"last_viewed_at":{"type":"string","format":"date-time","readOnly":true,"description":"Time last viewed in the Looker web UI","nullable":true},"model":{"$ref":"#/components/schemas/LookModel"},"public":{"type":"boolean","description":"Is Public","nullable":false},"public_slug":{"type":"string","readOnly":true,"description":"Public Slug","nullable":true},"public_url":{"type":"string","readOnly":true,"description":"Public Url","nullable":true},"query_id":{"type":"integer","format":"int64","description":"Query Id","nullable":true},"short_url":{"type":"string","readOnly":true,"description":"Short Url","nullable":true},"folder":{"$ref":"#/components/schemas/FolderBase"},"folder_id":{"type":"string","description":"Folder Id","nullable":true},"updated_at":{"type":"string","format":"date-time","readOnly":true,"description":"Time that the Look was updated.","nullable":true},"view_count":{"type":"integer","format":"int64","readOnly":true,"description":"Number of times viewed in the Looker web UI","nullable":true}},"x-looker-status":"stable"},"LookWithQuery":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"content_metadata_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of content metadata","nullable":true},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"title":{"type":"string","description":"Look Title","nullable":true},"user_id":{"type":"integer","format":"int64","description":"User Id","nullable":true},"content_favorite_id":{"type":"integer","format":"int64","readOnly":true,"description":"Content Favorite Id","nullable":true},"created_at":{"type":"string","format":"date-time","readOnly":true,"description":"Time that the Look was created.","nullable":true},"deleted":{"type":"boolean","description":"Whether or not a look is 'soft' deleted.","nullable":false},"deleted_at":{"type":"string","format":"date-time","readOnly":true,"description":"Time that the Look was deleted.","nullable":true},"deleter_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of User that deleted the look.","nullable":true},"description":{"type":"string","description":"Description","nullable":true},"embed_url":{"type":"string","readOnly":true,"description":"Embed Url","nullable":true},"excel_file_url":{"type":"string","readOnly":true,"description":"Excel File Url","nullable":true},"favorite_count":{"type":"integer","format":"int64","readOnly":true,"description":"Number of times favorited","nullable":true},"google_spreadsheet_formula":{"type":"string","readOnly":true,"description":"Google Spreadsheet Formula","nullable":true},"image_embed_url":{"type":"string","readOnly":true,"description":"Image Embed Url","nullable":true},"is_run_on_load":{"type":"boolean","description":"auto-run query when Look viewed","nullable":false},"last_accessed_at":{"type":"string","format":"date-time","readOnly":true,"description":"Time that the Look was last accessed by any user","nullable":true},"last_updater_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of User that last updated the look.","nullable":true},"last_viewed_at":{"type":"string","format":"date-time","readOnly":true,"description":"Time last viewed in the Looker web UI","nullable":true},"model":{"$ref":"#/components/schemas/LookModel"},"public":{"type":"boolean","description":"Is Public","nullable":false},"public_slug":{"type":"string","readOnly":true,"description":"Public Slug","nullable":true},"public_url":{"type":"string","readOnly":true,"description":"Public Url","nullable":true},"query_id":{"type":"integer","format":"int64","description":"Query Id","nullable":true},"short_url":{"type":"string","readOnly":true,"description":"Short Url","nullable":true},"folder":{"$ref":"#/components/schemas/FolderBase"},"folder_id":{"type":"string","description":"Folder Id","nullable":true},"updated_at":{"type":"string","format":"date-time","readOnly":true,"description":"Time that the Look was updated.","nullable":true},"view_count":{"type":"integer","format":"int64","readOnly":true,"description":"Number of times viewed in the Looker web UI","nullable":true},"query":{"$ref":"#/components/schemas/Query"},"url":{"type":"string","readOnly":true,"description":"Url","nullable":true}},"x-looker-status":"stable"},"LookWithDashboards":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"content_metadata_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of content metadata","nullable":true},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"title":{"type":"string","description":"Look Title","nullable":true},"user_id":{"type":"integer","format":"int64","description":"User Id","nullable":true},"content_favorite_id":{"type":"integer","format":"int64","readOnly":true,"description":"Content Favorite Id","nullable":true},"created_at":{"type":"string","format":"date-time","readOnly":true,"description":"Time that the Look was created.","nullable":true},"deleted":{"type":"boolean","description":"Whether or not a look is 'soft' deleted.","nullable":false},"deleted_at":{"type":"string","format":"date-time","readOnly":true,"description":"Time that the Look was deleted.","nullable":true},"deleter_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of User that deleted the look.","nullable":true},"description":{"type":"string","description":"Description","nullable":true},"embed_url":{"type":"string","readOnly":true,"description":"Embed Url","nullable":true},"excel_file_url":{"type":"string","readOnly":true,"description":"Excel File Url","nullable":true},"favorite_count":{"type":"integer","format":"int64","readOnly":true,"description":"Number of times favorited","nullable":true},"google_spreadsheet_formula":{"type":"string","readOnly":true,"description":"Google Spreadsheet Formula","nullable":true},"image_embed_url":{"type":"string","readOnly":true,"description":"Image Embed Url","nullable":true},"is_run_on_load":{"type":"boolean","description":"auto-run query when Look viewed","nullable":false},"last_accessed_at":{"type":"string","format":"date-time","readOnly":true,"description":"Time that the Look was last accessed by any user","nullable":true},"last_updater_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of User that last updated the look.","nullable":true},"last_viewed_at":{"type":"string","format":"date-time","readOnly":true,"description":"Time last viewed in the Looker web UI","nullable":true},"model":{"$ref":"#/components/schemas/LookModel"},"public":{"type":"boolean","description":"Is Public","nullable":false},"public_slug":{"type":"string","readOnly":true,"description":"Public Slug","nullable":true},"public_url":{"type":"string","readOnly":true,"description":"Public Url","nullable":true},"query_id":{"type":"integer","format":"int64","description":"Query Id","nullable":true},"short_url":{"type":"string","readOnly":true,"description":"Short Url","nullable":true},"folder":{"$ref":"#/components/schemas/FolderBase"},"folder_id":{"type":"string","description":"Folder Id","nullable":true},"updated_at":{"type":"string","format":"date-time","readOnly":true,"description":"Time that the Look was updated.","nullable":true},"view_count":{"type":"integer","format":"int64","readOnly":true,"description":"Number of times viewed in the Looker web UI","nullable":true},"dashboards":{"type":"array","items":{"$ref":"#/components/schemas/DashboardBase"},"readOnly":true,"description":"Dashboards","nullable":true}},"x-looker-status":"stable"},"LookModel":{"properties":{"id":{"type":"string","readOnly":true,"description":"Model Id","nullable":false},"label":{"type":"string","readOnly":true,"description":"Model Label","nullable":true}},"x-looker-status":"stable"},"LookmlModelNavExplore":{"properties":{"name":{"type":"string","readOnly":true,"description":"Name of the explore","nullable":true},"description":{"type":"string","readOnly":true,"description":"Description for the explore","nullable":true},"label":{"type":"string","readOnly":true,"description":"Label for the explore","nullable":true},"hidden":{"type":"boolean","readOnly":true,"description":"Is this explore marked as hidden","nullable":false},"group_label":{"type":"string","readOnly":true,"description":"Label used to group explores in the navigation menus","nullable":true}},"x-looker-status":"stable"},"LookmlModelExplore":{"properties":{"id":{"type":"string","readOnly":true,"description":"Fully qualified explore name (model name plus explore name)","nullable":false},"name":{"type":"string","readOnly":true,"description":"Explore name","nullable":true},"description":{"type":"string","readOnly":true,"description":"Description","nullable":true},"label":{"type":"string","readOnly":true,"description":"Label","nullable":true},"title":{"type":"string","readOnly":true,"description":"Explore title","x-looker-undocumented":false,"nullable":true},"scopes":{"type":"array","items":{"type":"string"},"readOnly":true,"description":"Scopes","nullable":true},"can_total":{"type":"boolean","readOnly":true,"description":"Can Total","nullable":false},"can_develop":{"type":"boolean","readOnly":true,"description":"Can Develop LookML","x-looker-undocumented":false,"nullable":false},"can_see_lookml":{"type":"boolean","readOnly":true,"description":"Can See LookML","x-looker-undocumented":false,"nullable":false},"lookml_link":{"type":"string","readOnly":true,"description":"A URL linking to the definition of this explore in the LookML IDE.","x-looker-undocumented":false,"nullable":true},"can_save":{"type":"boolean","readOnly":true,"description":"Can Save","nullable":false},"can_explain":{"type":"boolean","readOnly":true,"description":"Can Explain","nullable":false},"can_pivot_in_db":{"type":"boolean","readOnly":true,"description":"Can pivot in the DB","nullable":false},"can_subtotal":{"type":"boolean","readOnly":true,"description":"Can use subtotals","nullable":false},"has_timezone_support":{"type":"boolean","readOnly":true,"description":"Has timezone support","nullable":false},"supports_cost_estimate":{"type":"boolean","readOnly":true,"description":"Cost estimates supported","nullable":false},"connection_name":{"type":"string","readOnly":true,"description":"Connection name","nullable":true},"null_sort_treatment":{"type":"string","readOnly":true,"description":"How nulls are sorted, possible values are \"low\", \"high\", \"first\" and \"last\"","nullable":true},"files":{"type":"array","items":{"type":"string"},"readOnly":true,"description":"List of model source files","nullable":true},"source_file":{"type":"string","readOnly":true,"description":"Primary source_file file","nullable":true},"project_name":{"type":"string","readOnly":true,"description":"Name of project","nullable":true},"model_name":{"type":"string","readOnly":true,"description":"Name of model","nullable":true},"view_name":{"type":"string","readOnly":true,"description":"Name of view","nullable":true},"hidden":{"type":"boolean","readOnly":true,"description":"Is hidden","nullable":false},"sql_table_name":{"type":"string","readOnly":true,"description":"A sql_table_name expression that defines what sql table the view/explore maps onto. Example: \"prod_orders2 AS orders\" in a view named orders.","nullable":true},"access_filter_fields":{"type":"array","items":{"type":"string"},"readOnly":true,"x-looker-deprecated":true,"description":"(DEPRECATED) Array of access filter field names","nullable":true},"access_filters":{"type":"array","items":{"$ref":"#/components/schemas/LookmlModelExploreAccessFilter"},"readOnly":true,"description":"Access filters","nullable":true},"aliases":{"type":"array","items":{"$ref":"#/components/schemas/LookmlModelExploreAlias"},"readOnly":true,"description":"Aliases","nullable":true},"always_filter":{"type":"array","items":{"$ref":"#/components/schemas/LookmlModelExploreAlwaysFilter"},"readOnly":true,"description":"Always filter","nullable":true},"conditionally_filter":{"type":"array","items":{"$ref":"#/components/schemas/LookmlModelExploreConditionallyFilter"},"readOnly":true,"description":"Conditionally filter","nullable":true},"index_fields":{"type":"array","items":{"type":"string"},"readOnly":true,"description":"Array of index fields","nullable":true},"sets":{"type":"array","items":{"$ref":"#/components/schemas/LookmlModelExploreSet"},"readOnly":true,"description":"Sets","nullable":true},"tags":{"type":"array","items":{"type":"string"},"readOnly":true,"description":"An array of arbitrary string tags provided in the model for this explore.","nullable":true},"errors":{"type":"array","items":{"$ref":"#/components/schemas/LookmlModelExploreError"},"readOnly":true,"description":"Errors","nullable":true},"fields":{"$ref":"#/components/schemas/LookmlModelExploreFieldset"},"joins":{"type":"array","items":{"$ref":"#/components/schemas/LookmlModelExploreJoins"},"readOnly":true,"description":"Views joined into this explore","nullable":true},"group_label":{"type":"string","readOnly":true,"description":"Label used to group explores in the navigation menus","nullable":true},"supported_measure_types":{"type":"array","items":{"$ref":"#/components/schemas/LookmlModelExploreSupportedMeasureType"},"readOnly":true,"description":"An array of items describing which custom measure types are supported for creating a custom measure 'based_on' each possible dimension type.","nullable":false}},"x-looker-status":"stable"},"LookmlModelExploreSupportedMeasureType":{"properties":{"dimension_type":{"type":"string","readOnly":true,"nullable":true},"measure_types":{"type":"array","items":{"type":"string"},"readOnly":true,"nullable":true}},"x-looker-status":"stable"},"LookmlModelExploreAccessFilter":{"properties":{"field":{"type":"string","readOnly":true,"description":"Field to be filtered","nullable":true},"user_attribute":{"type":"string","readOnly":true,"description":"User attribute name","nullable":true}},"x-looker-status":"stable"},"LookmlModelExploreConditionallyFilter":{"properties":{"name":{"type":"string","readOnly":true,"description":"Name","nullable":true},"value":{"type":"string","readOnly":true,"description":"Value","nullable":true}},"x-looker-status":"stable"},"LookmlModelExploreAlwaysFilter":{"properties":{"name":{"type":"string","readOnly":true,"description":"Name","nullable":true},"value":{"type":"string","readOnly":true,"description":"Value","nullable":true}},"x-looker-status":"stable"},"LookmlModelExploreAlias":{"properties":{"name":{"type":"string","readOnly":true,"description":"Name","nullable":true},"value":{"type":"string","readOnly":true,"description":"Value","nullable":true}},"x-looker-status":"stable"},"LookmlModelExploreSet":{"properties":{"name":{"type":"string","readOnly":true,"description":"Name","nullable":true},"value":{"type":"array","items":{"type":"string"},"readOnly":true,"description":"Value set","nullable":true}},"x-looker-status":"stable"},"LookmlModelExploreError":{"properties":{"message":{"type":"string","readOnly":true,"description":"Error Message","nullable":true},"details":{"type":"string","format":"any","readOnly":true,"description":"Details","nullable":true},"error_pos":{"type":"string","readOnly":true,"description":"Error source location","nullable":true},"field_error":{"type":"boolean","readOnly":true,"description":"Is this a field error","nullable":false}},"x-looker-status":"stable"},"LookmlModelExploreFieldset":{"properties":{"dimensions":{"type":"array","items":{"$ref":"#/components/schemas/LookmlModelExploreField"},"readOnly":true,"description":"Array of dimensions","nullable":true},"measures":{"type":"array","items":{"$ref":"#/components/schemas/LookmlModelExploreField"},"readOnly":true,"description":"Array of measures","nullable":true},"filters":{"type":"array","items":{"$ref":"#/components/schemas/LookmlModelExploreField"},"readOnly":true,"description":"Array of filters","nullable":true},"parameters":{"type":"array","items":{"$ref":"#/components/schemas/LookmlModelExploreField"},"readOnly":true,"description":"Array of parameters","nullable":true}},"x-looker-status":"stable"},"LookmlModelExploreField":{"properties":{"align":{"type":"string","readOnly":true,"enum":["left","right"],"description":"The appropriate horizontal text alignment the values of this field should be displayed in. Valid values are: \"left\", \"right\".","nullable":false},"can_filter":{"type":"boolean","readOnly":true,"description":"Whether it's possible to filter on this field.","nullable":false},"category":{"type":"string","readOnly":true,"enum":["parameter","filter","measure","dimension"],"description":"Field category Valid values are: \"parameter\", \"filter\", \"measure\", \"dimension\".","nullable":true},"default_filter_value":{"type":"string","readOnly":true,"description":"The default value that this field uses when filtering. Null if there is no default value.","nullable":true},"description":{"type":"string","readOnly":true,"description":"Description","nullable":true},"dimension_group":{"type":"string","readOnly":true,"description":"Dimension group if this field is part of a dimension group. If not, this will be null.","nullable":true},"enumerations":{"type":"array","items":{"$ref":"#/components/schemas/LookmlModelExploreFieldEnumeration"},"readOnly":true,"description":"An array enumerating all the possible values that this field can contain. When null, there is no limit to the set of possible values this field can contain.","nullable":true},"error":{"type":"string","readOnly":true,"description":"An error message indicating a problem with the definition of this field. If there are no errors, this will be null.","nullable":true},"field_group_label":{"type":"string","readOnly":true,"description":"A label creating a grouping of fields. All fields with this label should be presented together when displayed in a UI.","nullable":true},"field_group_variant":{"type":"string","readOnly":true,"description":"When presented in a field group via field_group_label, a shorter name of the field to be displayed in that context.","nullable":true},"fill_style":{"type":"string","readOnly":true,"enum":["enumeration","range"],"description":"The style of dimension fill that is possible for this field. Null if no dimension fill is possible. Valid values are: \"enumeration\", \"range\".","nullable":true},"fiscal_month_offset":{"type":"integer","format":"int64","readOnly":true,"description":"An offset (in months) from the calendar start month to the fiscal start month defined in the LookML model this field belongs to.","nullable":false},"has_allowed_values":{"type":"boolean","readOnly":true,"description":"Whether this field has a set of allowed_values specified in LookML.","nullable":false},"hidden":{"type":"boolean","readOnly":true,"description":"Whether this field should be hidden from the user interface.","nullable":false},"is_filter":{"type":"boolean","readOnly":true,"description":"Whether this field is a filter.","nullable":false},"is_fiscal":{"type":"boolean","readOnly":true,"description":"Whether this field represents a fiscal time value.","nullable":false},"is_numeric":{"type":"boolean","readOnly":true,"description":"Whether this field is of a type that represents a numeric value.","nullable":false},"is_timeframe":{"type":"boolean","readOnly":true,"description":"Whether this field is of a type that represents a time value.","nullable":false},"can_time_filter":{"type":"boolean","readOnly":true,"description":"Whether this field can be time filtered.","nullable":false},"time_interval":{"$ref":"#/components/schemas/LookmlModelExploreFieldTimeInterval"},"label":{"type":"string","readOnly":true,"description":"Fully-qualified human-readable label of the field.","nullable":false},"label_from_parameter":{"type":"string","readOnly":true,"description":"The name of the parameter that will provide a parameterized label for this field, if available in the current context.","nullable":true},"label_short":{"type":"string","readOnly":true,"description":"The human-readable label of the field, without the view label.","nullable":false},"lookml_link":{"type":"string","readOnly":true,"description":"A URL linking to the definition of this field in the LookML IDE.","nullable":true},"map_layer":{"$ref":"#/components/schemas/LookmlModelExploreFieldMapLayer"},"measure":{"type":"boolean","readOnly":true,"description":"Whether this field is a measure.","nullable":false},"name":{"type":"string","readOnly":true,"description":"Fully-qualified name of the field.","nullable":false},"strict_value_format":{"type":"boolean","readOnly":true,"description":"If yes, the field will not be localized with the user attribute number_format. Defaults to no","nullable":false},"parameter":{"type":"boolean","readOnly":true,"description":"Whether this field is a parameter.","nullable":false},"permanent":{"type":"boolean","readOnly":true,"description":"Whether this field can be removed from a query.","nullable":true},"primary_key":{"type":"boolean","readOnly":true,"description":"Whether or not the field represents a primary key.","nullable":false},"project_name":{"type":"string","readOnly":true,"description":"The name of the project this field is defined in.","nullable":true},"requires_refresh_on_sort":{"type":"boolean","readOnly":true,"description":"When true, it's not possible to re-sort this field's values without re-running the SQL query, due to database logic that affects the sort.","nullable":false},"scope":{"type":"string","readOnly":true,"description":"The LookML scope this field belongs to. The scope is typically the field's view.","nullable":false},"sortable":{"type":"boolean","readOnly":true,"description":"Whether this field can be sorted.","nullable":false},"source_file":{"type":"string","readOnly":true,"description":"The path portion of source_file_path.","nullable":false},"source_file_path":{"type":"string","readOnly":true,"description":"The fully-qualified path of the project file this field is defined in.","nullable":false},"sql":{"type":"string","readOnly":true,"description":"SQL expression as defined in the LookML model. The SQL syntax shown here is a representation intended for auditability, and is not neccessarily an exact match for what will ultimately be run in the database. It may contain special LookML syntax or annotations that are not valid SQL. This will be null if the current user does not have the see_lookml permission for the field's model.","nullable":true},"sql_case":{"type":"array","items":{"$ref":"#/components/schemas/LookmlModelExploreFieldSqlCase"},"readOnly":true,"description":"An array of conditions and values that make up a SQL Case expression, as defined in the LookML model. The SQL syntax shown here is a representation intended for auditability, and is not neccessarily an exact match for what will ultimately be run in the database. It may contain special LookML syntax or annotations that are not valid SQL. This will be null if the current user does not have the see_lookml permission for the field's model.","nullable":true},"filters":{"type":"array","items":{"$ref":"#/components/schemas/LookmlModelExploreFieldMeasureFilters"},"readOnly":true,"description":"Array of filter conditions defined for the measure in LookML.","nullable":true},"suggest_dimension":{"type":"string","readOnly":true,"description":"The name of the dimension to base suggest queries from.","nullable":false},"suggest_explore":{"type":"string","readOnly":true,"description":"The name of the explore to base suggest queries from.","nullable":false},"suggestable":{"type":"boolean","readOnly":true,"description":"Whether or not suggestions are possible for this field.","nullable":false},"suggestions":{"type":"array","items":{"type":"string"},"readOnly":true,"description":"If available, a list of suggestions for this field. For most fields, a suggest query is a more appropriate way to get an up-to-date list of suggestions. Or use enumerations to list all the possible values.","nullable":true},"tags":{"type":"array","items":{"type":"string"},"readOnly":true,"description":"An array of arbitrary string tags provided in the model for this field.","nullable":false},"type":{"type":"string","readOnly":true,"description":"The LookML type of the field.","nullable":false},"user_attribute_filter_types":{"type":"array","items":{"type":"string"},"readOnly":true,"enum":["advanced_filter_string","advanced_filter_number","advanced_filter_datetime","string","number","datetime","relative_url","yesno","zipcode"],"description":"An array of user attribute types that are allowed to be used in filters on this field. Valid values are: \"advanced_filter_string\", \"advanced_filter_number\", \"advanced_filter_datetime\", \"string\", \"number\", \"datetime\", \"relative_url\", \"yesno\", \"zipcode\".","nullable":false},"value_format":{"type":"string","readOnly":true,"description":"If specified, the LookML value format string for formatting values of this field.","nullable":true},"view":{"type":"string","readOnly":true,"description":"The name of the view this field belongs to.","nullable":false},"view_label":{"type":"string","readOnly":true,"description":"The human-readable label of the view the field belongs to.","nullable":false},"dynamic":{"type":"boolean","readOnly":true,"description":"Whether this field was specified in \"dynamic_fields\" and is not part of the model.","nullable":false},"week_start_day":{"type":"string","readOnly":true,"enum":["monday","tuesday","wednesday","thursday","friday","saturday","sunday"],"description":"The name of the starting day of the week. Valid values are: \"monday\", \"tuesday\", \"wednesday\", \"thursday\", \"friday\", \"saturday\", \"sunday\".","nullable":false},"times_used":{"type":"integer","format":"int64","readOnly":true,"description":"The number of times this field has been used in queries","nullable":false}},"x-looker-status":"stable"},"LookmlModelExploreFieldEnumeration":{"properties":{"label":{"type":"string","readOnly":true,"description":"Label","nullable":true},"value":{"type":"string","format":"any","x-looker-polymorphic-types":[{"type":"string"},{"type":"number","format":"float"}],"readOnly":true,"description":"Value","nullable":true}},"x-looker-status":"stable"},"LookmlModelExploreFieldTimeInterval":{"properties":{"name":{"type":"string","readOnly":true,"enum":["day","hour","minute","second","millisecond","microsecond","week","month","quarter","year"],"description":"The type of time interval this field represents a grouping of. Valid values are: \"day\", \"hour\", \"minute\", \"second\", \"millisecond\", \"microsecond\", \"week\", \"month\", \"quarter\", \"year\".","nullable":false},"count":{"type":"integer","format":"int64","readOnly":true,"description":"The number of intervals this field represents a grouping of.","nullable":false}},"x-looker-status":"stable"},"LookmlModelExploreFieldSqlCase":{"properties":{"value":{"type":"string","readOnly":true,"description":"SQL Case label value","nullable":true},"condition":{"type":"string","readOnly":true,"description":"SQL Case condition expression","nullable":true}},"x-looker-status":"stable"},"LookmlModelExploreFieldMeasureFilters":{"properties":{"field":{"type":"string","readOnly":true,"description":"Filter field name","nullable":true},"condition":{"type":"string","readOnly":true,"description":"Filter condition value","nullable":true}},"x-looker-status":"stable"},"LookmlModelExploreFieldMapLayer":{"properties":{"url":{"type":"string","readOnly":true,"description":"URL to the map layer resource.","nullable":false},"name":{"type":"string","readOnly":true,"description":"Name of the map layer, as defined in LookML.","nullable":false},"feature_key":{"type":"string","readOnly":true,"description":"Specifies the name of the TopoJSON object that the map layer references. If not specified, use the first object..","nullable":true},"property_key":{"type":"string","readOnly":true,"description":"Selects which property from the TopoJSON data to plot against. TopoJSON supports arbitrary metadata for each region. When null, the first matching property should be used.","nullable":true},"property_label_key":{"type":"string","readOnly":true,"description":"Which property from the TopoJSON data to use to label the region. When null, property_key should be used.","nullable":true},"projection":{"type":"string","readOnly":true,"description":"The preferred geographic projection of the map layer when displayed in a visualization that supports multiple geographic projections.","nullable":true},"format":{"type":"string","readOnly":true,"enum":["topojson","vector_tile_region"],"description":"Specifies the data format of the region information. Valid values are: \"topojson\", \"vector_tile_region\".","nullable":false},"extents_json_url":{"type":"string","readOnly":true,"description":"Specifies the URL to a JSON file that defines the geographic extents of each region available in the map layer. This data is used to automatically center the map on the available data for visualization purposes. The JSON file must be a JSON object where the keys are the mapping value of the feature (as specified by property_key) and the values are arrays of four numbers representing the west longitude, south latitude, east longitude, and north latitude extents of the region. The object must include a key for every possible value of property_key.","nullable":true},"max_zoom_level":{"type":"integer","format":"int64","readOnly":true,"description":"The minimum zoom level that the map layer may be displayed at, for visualizations that support zooming.","nullable":true},"min_zoom_level":{"type":"integer","format":"int64","readOnly":true,"description":"The maximum zoom level that the map layer may be displayed at, for visualizations that support zooming.","nullable":true}},"x-looker-status":"stable"},"LookmlModelExploreJoins":{"properties":{"name":{"type":"string","readOnly":true,"description":"Name of this join (and name of the view to join)","nullable":true},"dependent_fields":{"type":"array","items":{"type":"string"},"readOnly":true,"description":"Fields referenced by the join","nullable":true},"fields":{"type":"array","items":{"type":"string"},"readOnly":true,"description":"Fields of the joined view to pull into this explore","nullable":true},"foreign_key":{"type":"string","readOnly":true,"description":"Name of the dimension in this explore whose value is in the primary key of the joined view","nullable":true},"from":{"type":"string","readOnly":true,"description":"Name of view to join","nullable":true},"outer_only":{"type":"boolean","readOnly":true,"description":"Specifies whether all queries must use an outer join","nullable":true},"relationship":{"type":"string","readOnly":true,"description":"many_to_one, one_to_one, one_to_many, many_to_many","nullable":true},"required_joins":{"type":"array","items":{"type":"string"},"readOnly":true,"description":"Names of joins that must always be included in SQL queries","nullable":true},"sql_foreign_key":{"type":"string","readOnly":true,"description":"SQL expression that produces a foreign key","nullable":true},"sql_on":{"type":"string","readOnly":true,"description":"SQL ON expression describing the join condition","nullable":true},"sql_table_name":{"type":"string","readOnly":true,"description":"SQL table name to join","nullable":true},"type":{"type":"string","readOnly":true,"description":"The join type: left_outer, full_outer, inner, or cross","nullable":true},"view_label":{"type":"string","readOnly":true,"description":"Label to display in UI selectors","nullable":true}},"x-looker-status":"stable"},"LookmlModel":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"allowed_db_connection_names":{"type":"array","items":{"type":"string"},"description":"Array of names of connections this model is allowed to use","nullable":true},"explores":{"type":"array","items":{"$ref":"#/components/schemas/LookmlModelNavExplore"},"readOnly":true,"description":"Array of explores (if has_content)","nullable":true},"has_content":{"type":"boolean","readOnly":true,"description":"Does this model declaration have have lookml content?","nullable":false},"label":{"type":"string","readOnly":true,"description":"UI-friendly name for this model","nullable":true},"name":{"type":"string","description":"Name of the model. Also used as the unique identifier","nullable":true},"project_name":{"type":"string","description":"Name of project containing the model","nullable":true},"unlimited_db_connections":{"type":"boolean","description":"Is this model allowed to use all current and future connections","nullable":false}},"x-looker-status":"stable"},"LookmlTest":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"model_name":{"type":"string","readOnly":true,"description":"Name of model containing this test.","nullable":false},"name":{"type":"string","readOnly":true,"description":"Name of this test.","nullable":false},"explore_name":{"type":"string","readOnly":true,"description":"Name of the explore this test runs a query against","nullable":false},"query_url_params":{"type":"string","readOnly":true,"description":"The url parameters that can be used to reproduce this test's query on an explore.","nullable":false},"file":{"type":"string","readOnly":true,"description":"Name of the LookML file containing this test.","nullable":false},"line":{"type":"integer","format":"int64","readOnly":true,"description":"Line number of this test in LookML.","nullable":true}},"x-looker-status":"stable"},"LookmlTestResult":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"model_name":{"type":"string","readOnly":true,"description":"Name of model containing this test.","nullable":false},"test_name":{"type":"string","readOnly":true,"description":"Name of this test.","nullable":false},"assertions_count":{"type":"integer","format":"int64","readOnly":true,"description":"Number of assertions in this test","nullable":false},"assertions_failed":{"type":"integer","format":"int64","readOnly":true,"description":"Number of assertions passed in this test","nullable":false},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ProjectError"},"readOnly":true,"description":"A list of any errors encountered by the test.","nullable":true},"warnings":{"type":"array","items":{"$ref":"#/components/schemas/ProjectError"},"readOnly":true,"description":"A list of any warnings encountered by the test.","nullable":true},"success":{"type":"boolean","readOnly":true,"description":"True if this test passsed without errors.","nullable":false}},"x-looker-status":"stable"},"Manifest":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"name":{"type":"string","readOnly":true,"description":"Manifest project name","nullable":true},"imports":{"type":"array","items":{"$ref":"#/components/schemas/ImportedProject"},"readOnly":true,"description":"Imports for a project","nullable":true},"localization_settings":{"$ref":"#/components/schemas/LocalizationSettings"}},"x-looker-status":"stable"},"MergeQuery":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"column_limit":{"type":"string","description":"Column Limit","nullable":true},"dynamic_fields":{"type":"string","description":"Dynamic Fields","nullable":true},"id":{"type":"string","readOnly":true,"description":"Unique Id","nullable":false},"pivots":{"type":"array","items":{"type":"string"},"description":"Pivots","nullable":true},"result_maker_id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique to get results","nullable":true},"sorts":{"type":"array","items":{"type":"string"},"description":"Sorts","nullable":true},"source_queries":{"type":"array","items":{"$ref":"#/components/schemas/MergeQuerySourceQuery"},"description":"Source Queries defining the results to be merged.","nullable":true},"total":{"type":"boolean","description":"Total","nullable":false},"vis_config":{"type":"object","additionalProperties":{"type":"string"},"description":"Visualization Config","nullable":true}},"x-looker-status":"stable"},"MergeQuerySourceQuery":{"properties":{"merge_fields":{"type":"array","items":{"$ref":"#/components/schemas/MergeFields"},"description":"An array defining which fields of the source query are mapped onto fields of the merge query","nullable":true},"name":{"type":"string","description":"Display name","nullable":true},"query_id":{"type":"integer","format":"int64","description":"Id of the query to merge","nullable":true}},"x-looker-status":"stable"},"MergeFields":{"properties":{"field_name":{"type":"string","description":"Field name to map onto in the merged results","nullable":true},"source_field_name":{"type":"string","description":"Field name from the source query","nullable":true}},"x-looker-status":"stable"},"MobileSettings":{"properties":{"mobile_force_authentication":{"type":"boolean","readOnly":true,"description":"Specifies whether the force authentication option is enabled for mobile","nullable":false},"mobile_app_integration":{"type":"boolean","readOnly":true,"description":"Specifies whether mobile access for this instance is enabled.","nullable":false}},"x-looker-status":"beta"},"ModelSet":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"all_access":{"type":"boolean","readOnly":true,"nullable":false},"built_in":{"type":"boolean","readOnly":true,"nullable":false},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"models":{"type":"array","items":{"type":"string"},"nullable":true},"name":{"type":"string","description":"Name of ModelSet","nullable":true},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to get this item","nullable":true}},"x-looker-status":"stable"},"OauthClientApp":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"client_guid":{"type":"string","readOnly":true,"description":"The globally unique id of this application","nullable":false},"redirect_uri":{"type":"string","description":"The uri with which this application will receive an auth code by browser redirect.","nullable":false},"display_name":{"type":"string","description":"The application's display name","nullable":false},"description":{"type":"string","description":"A description of the application that will be displayed to users","nullable":false},"enabled":{"type":"boolean","description":"When enabled is true, OAuth2 and API requests will be accepted from this app. When false, all requests from this app will be refused.","nullable":false},"group_id":{"type":"integer","format":"int64","description":"If set, only Looker users who are members of this group can use this web app with Looker. If group_id is not set, any Looker user may use this app to access this Looker instance","nullable":true},"tokens_invalid_before":{"type":"string","format":"date-time","readOnly":true,"description":"All auth codes, access tokens, and refresh tokens issued for this application prior to this date-time for ALL USERS will be invalid.","nullable":false},"activated_users":{"type":"array","items":{"$ref":"#/components/schemas/UserPublic"},"readOnly":true,"description":"All users who have been activated to use this app","nullable":false}},"x-looker-status":"beta"},"OIDCConfig":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"alternate_email_login_allowed":{"type":"boolean","description":"Allow alternate email-based login via '/login/email' for admins and for specified users with the 'login_special_email' permission. This option is useful as a fallback during ldap setup, if ldap config problems occur later, or if you need to support some users who are not in your ldap directory. Looker email/password logins are always disabled for regular users when ldap is enabled.","nullable":false},"audience":{"type":"string","description":"OpenID Provider Audience","nullable":true},"auth_requires_role":{"type":"boolean","description":"Users will not be allowed to login at all unless a role for them is found in OIDC if set to true","nullable":false},"authorization_endpoint":{"type":"string","format":"uri","description":"OpenID Provider Authorization Url","nullable":true},"default_new_user_group_ids":{"type":"array","items":{"type":"integer","format":"int64"},"x-looker-write-only":true,"description":"(Write-Only) Array of ids of groups that will be applied to new users the first time they login via OIDC","nullable":true},"default_new_user_groups":{"type":"array","items":{"$ref":"#/components/schemas/Group"},"readOnly":true,"description":"(Read-only) Groups that will be applied to new users the first time they login via OIDC","nullable":true},"default_new_user_role_ids":{"type":"array","items":{"type":"integer","format":"int64"},"x-looker-write-only":true,"description":"(Write-Only) Array of ids of roles that will be applied to new users the first time they login via OIDC","nullable":true},"default_new_user_roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"readOnly":true,"description":"(Read-only) Roles that will be applied to new users the first time they login via OIDC","nullable":true},"enabled":{"type":"boolean","description":"Enable/Disable OIDC authentication for the server","nullable":false},"groups":{"type":"array","items":{"$ref":"#/components/schemas/OIDCGroupRead"},"readOnly":true,"description":"(Read-only) Array of mappings between OIDC Groups and Looker Roles","nullable":true},"groups_attribute":{"type":"string","description":"Name of user record attributes used to indicate groups. Used when 'groups_finder_type' is set to 'grouped_attribute_values'","nullable":true},"groups_with_role_ids":{"type":"array","items":{"$ref":"#/components/schemas/OIDCGroupWrite"},"description":"(Read/Write) Array of mappings between OIDC Groups and arrays of Looker Role ids","nullable":true},"identifier":{"type":"string","description":"Relying Party Identifier (provided by OpenID Provider)","nullable":true},"issuer":{"type":"string","description":"OpenID Provider Issuer","nullable":true},"modified_at":{"type":"string","format":"date-time","readOnly":true,"description":"When this config was last modified","nullable":true},"modified_by":{"type":"integer","format":"int64","readOnly":true,"description":"User id of user who last modified this config","nullable":true},"new_user_migration_types":{"type":"string","description":"Merge first-time oidc login to existing user account by email addresses. When a user logs in for the first time via oidc this option will connect this user into their existing account by finding the account with a matching email address by testing the given types of credentials for existing users. Otherwise a new user account will be created for the user. This list (if provided) must be a comma separated list of string like 'email,ldap,google'","nullable":true},"scopes":{"type":"array","items":{"type":"string"},"description":"Array of scopes to request.","nullable":true},"secret":{"type":"string","x-looker-write-only":true,"description":"(Write-Only) Relying Party Secret (provided by OpenID Provider)","nullable":true},"set_roles_from_groups":{"type":"boolean","description":"Set user roles in Looker based on groups from OIDC","nullable":false},"test_slug":{"type":"string","readOnly":true,"description":"Slug to identify configurations that are created in order to run a OIDC config test","nullable":true},"token_endpoint":{"type":"string","description":"OpenID Provider Token Url","nullable":true},"user_attribute_map_email":{"type":"string","description":"Name of user record attributes used to indicate email address field","nullable":true},"user_attribute_map_first_name":{"type":"string","description":"Name of user record attributes used to indicate first name","nullable":true},"user_attribute_map_last_name":{"type":"string","description":"Name of user record attributes used to indicate last name","nullable":true},"user_attributes":{"type":"array","items":{"$ref":"#/components/schemas/OIDCUserAttributeRead"},"readOnly":true,"description":"(Read-only) Array of mappings between OIDC User Attributes and Looker User Attributes","nullable":true},"user_attributes_with_ids":{"type":"array","items":{"$ref":"#/components/schemas/OIDCUserAttributeWrite"},"description":"(Read/Write) Array of mappings between OIDC User Attributes and arrays of Looker User Attribute ids","nullable":true},"userinfo_endpoint":{"type":"string","format":"uri","description":"OpenID Provider User Information Url","nullable":true},"allow_normal_group_membership":{"type":"boolean","description":"Allow OIDC auth'd users to be members of non-reflected Looker groups. If 'false', user will be removed from non-reflected groups on login.","nullable":false},"allow_roles_from_normal_groups":{"type":"boolean","description":"OIDC auth'd users will inherit roles from non-reflected Looker groups.","nullable":false},"allow_direct_roles":{"type":"boolean","description":"Allows roles to be directly assigned to OIDC auth'd users.","nullable":false},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to get this item","nullable":true}},"x-looker-status":"stable"},"OIDCGroupRead":{"properties":{"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"looker_group_id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id of group in Looker","nullable":true},"looker_group_name":{"type":"string","readOnly":true,"description":"Name of group in Looker","nullable":true},"name":{"type":"string","readOnly":true,"description":"Name of group in OIDC","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"readOnly":true,"description":"Looker Roles","nullable":true}},"x-looker-status":"stable"},"OIDCGroupWrite":{"properties":{"id":{"type":"integer","format":"int64","description":"Unique Id","nullable":true},"looker_group_id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id of group in Looker","nullable":true},"looker_group_name":{"type":"string","description":"Name of group in Looker","nullable":true},"name":{"type":"string","description":"Name of group in OIDC","nullable":true},"role_ids":{"type":"array","items":{"type":"integer","format":"int64"},"description":"Looker Role Ids","nullable":true}},"x-looker-status":"stable"},"OIDCUserAttributeRead":{"properties":{"name":{"type":"string","readOnly":true,"description":"Name of User Attribute in OIDC","nullable":true},"required":{"type":"boolean","readOnly":true,"description":"Required to be in OIDC assertion for login to be allowed to succeed","nullable":false},"user_attributes":{"type":"array","items":{"$ref":"#/components/schemas/UserAttribute"},"readOnly":true,"description":"Looker User Attributes","nullable":true}},"x-looker-status":"stable"},"OIDCUserAttributeWrite":{"properties":{"name":{"type":"string","description":"Name of User Attribute in OIDC","nullable":true},"required":{"type":"boolean","description":"Required to be in OIDC assertion for login to be allowed to succeed","nullable":false},"user_attribute_ids":{"type":"array","items":{"type":"integer","format":"int64"},"description":"Looker User Attribute Ids","nullable":true}},"x-looker-status":"stable"},"PasswordConfig":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"min_length":{"type":"integer","format":"int64","description":"Minimum number of characters required for a new password. Must be between 7 and 100","nullable":true},"require_numeric":{"type":"boolean","description":"Require at least one numeric character","nullable":false},"require_upperlower":{"type":"boolean","description":"Require at least one uppercase and one lowercase letter","nullable":false},"require_special":{"type":"boolean","description":"Require at least one special character","nullable":false}},"x-looker-status":"stable"},"Permission":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"permission":{"type":"string","readOnly":true,"description":"Permission symbol","nullable":true},"parent":{"type":"string","readOnly":true,"description":"Dependency parent symbol","nullable":true},"description":{"type":"string","readOnly":true,"description":"Description","nullable":true}},"x-looker-status":"stable"},"PermissionSet":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"all_access":{"type":"boolean","readOnly":true,"nullable":false},"built_in":{"type":"boolean","readOnly":true,"nullable":false},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"name":{"type":"string","description":"Name of PermissionSet","nullable":true},"permissions":{"type":"array","items":{"type":"string"},"nullable":true},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to get this item","nullable":true}},"x-looker-status":"stable"},"ProjectFile":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"id":{"type":"string","readOnly":true,"description":"An opaque token uniquely identifying a file within a project. Avoid parsing or decomposing the text of this token. This token is stable within a Looker release but may change between Looker releases","nullable":false},"path":{"type":"string","readOnly":true,"description":"Path, file name, and extension of the file relative to the project root directory","nullable":true},"title":{"type":"string","readOnly":true,"description":"Display name","nullable":true},"type":{"type":"string","readOnly":true,"description":"File type: model, view, etc","nullable":true},"extension":{"type":"string","readOnly":true,"description":"The extension of the file: .view.lkml, .model.lkml, etc","nullable":true},"mime_type":{"type":"string","readOnly":true,"description":"File mime type","nullable":true},"editable":{"type":"boolean","readOnly":true,"description":"State of editability for the file.","nullable":false},"git_status":{"$ref":"#/components/schemas/GitStatus"}},"x-looker-status":"stable"},"Project":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"id":{"type":"string","readOnly":true,"description":"Project Id","nullable":false},"name":{"type":"string","description":"Project display name","nullable":false},"uses_git":{"type":"boolean","readOnly":true,"description":"If true the project is configured with a git repository","nullable":false},"git_remote_url":{"type":"string","description":"Git remote repository url","nullable":true},"git_username":{"type":"string","description":"Git username for HTTPS authentication. (For production only, if using user attributes.)","nullable":true},"git_password":{"type":"string","x-looker-write-only":true,"description":"(Write-Only) Git password for HTTPS authentication. (For production only, if using user attributes.)","nullable":true},"git_production_branch_name":{"type":"string","description":"Git production branch name. Defaults to master. Supported only in Looker 21.0 and higher.","nullable":false},"use_git_cookie_auth":{"type":"boolean","description":"If true, the project uses a git cookie for authentication.","nullable":false},"git_username_user_attribute":{"type":"string","description":"User attribute name for username in per-user HTTPS authentication.","nullable":true},"git_password_user_attribute":{"type":"string","description":"User attribute name for password in per-user HTTPS authentication.","nullable":true},"git_service_name":{"type":"string","description":"Name of the git service provider","nullable":true},"git_application_server_http_port":{"type":"integer","format":"int64","description":"Port that HTTP(S) application server is running on (for PRs, file browsing, etc.)","nullable":true},"git_application_server_http_scheme":{"type":"string","enum":["http","https"],"description":"Scheme that is running on application server (for PRs, file browsing, etc.) Valid values are: \"http\", \"https\".","nullable":true},"deploy_secret":{"type":"string","x-looker-write-only":true,"description":"(Write-Only) Optional secret token with which to authenticate requests to the webhook deploy endpoint. If not set, endpoint is unauthenticated.","nullable":true},"unset_deploy_secret":{"type":"boolean","x-looker-write-only":true,"description":"(Write-Only) When true, unsets the deploy secret to allow unauthenticated access to the webhook deploy endpoint.","nullable":false},"pull_request_mode":{"type":"string","enum":["off","links","recommended","required"],"description":"The git pull request policy for this project. Valid values are: \"off\", \"links\", \"recommended\", \"required\".","nullable":false},"validation_required":{"type":"boolean","description":"Validation policy: If true, the project must pass validation checks before project changes can be committed to the git repository","nullable":false},"git_release_mgmt_enabled":{"type":"boolean","description":"If true, advanced git release management is enabled for this project","nullable":false},"allow_warnings":{"type":"boolean","description":"Validation policy: If true, the project can be committed with warnings when `validation_required` is true. (`allow_warnings` does nothing if `validation_required` is false).","nullable":false},"is_example":{"type":"boolean","readOnly":true,"description":"If true the project is an example project and cannot be modified","nullable":false},"dependency_status":{"type":"string","description":"Status of dependencies in your manifest & lockfile","nullable":true}},"x-looker-status":"stable"},"ProjectError":{"properties":{"code":{"type":"string","readOnly":true,"description":"A stable token that uniquely identifies this class of error, ignoring parameter values. Error message text may vary due to parameters or localization, but error codes do not. For example, a \"File not found\" error will have the same error code regardless of the filename in question or the user's display language","nullable":true},"severity":{"type":"string","readOnly":true,"description":"Severity: fatal, error, warning, info, success","nullable":true},"kind":{"type":"string","readOnly":true,"description":"Error classification: syntax, deprecation, model_configuration, etc","nullable":true},"message":{"type":"string","readOnly":true,"description":"Error message which may contain information such as dashboard or model names that may be considered sensitive in some use cases. Avoid storing or sending this message outside of Looker","nullable":true},"field_name":{"type":"string","readOnly":true,"description":"The field associated with this error","nullable":true},"file_path":{"type":"string","readOnly":true,"description":"Name of the file containing this error","nullable":true},"line_number":{"type":"integer","format":"int64","readOnly":true,"description":"Line number in the file of this error","nullable":true},"model_id":{"type":"string","readOnly":true,"description":"The model associated with this error","nullable":true},"explore":{"type":"string","readOnly":true,"description":"The explore associated with this error","nullable":true},"help_url":{"type":"string","readOnly":true,"description":"A link to Looker documentation about this error","nullable":true},"params":{"type":"object","additionalProperties":{"type":"string"},"readOnly":true,"description":"Error parameters","nullable":true},"sanitized_message":{"type":"string","readOnly":true,"description":"A version of the error message that does not contain potentially sensitive information. Suitable for situations in which messages are stored or sent to consumers outside of Looker, such as external logs. Sanitized messages will display \"(?)\" where sensitive information would appear in the corresponding non-sanitized message","nullable":true}},"x-looker-status":"stable"},"ModelsNotValidated":{"properties":{"name":{"type":"string","readOnly":true,"description":"Model name","nullable":true},"project_file_id":{"type":"string","readOnly":true,"description":"Project file","nullable":true}},"x-looker-status":"stable"},"ProjectValidation":{"properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/ProjectError"},"readOnly":true,"description":"A list of project errors","nullable":true},"project_digest":{"type":"string","readOnly":true,"description":"A hash value computed from the project's current state","nullable":true},"models_not_validated":{"type":"array","items":{"$ref":"#/components/schemas/ModelsNotValidated"},"readOnly":true,"description":"A list of models which were not fully validated","nullable":true},"computation_time":{"type":"number","format":"float","readOnly":true,"description":"Duration of project validation in seconds","nullable":true}},"x-looker-status":"stable"},"ProjectValidationCache":{"properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/ProjectError"},"readOnly":true,"description":"A list of project errors","nullable":true},"project_digest":{"type":"string","readOnly":true,"description":"A hash value computed from the project's current state","nullable":true},"models_not_validated":{"type":"array","items":{"$ref":"#/components/schemas/ModelsNotValidated"},"readOnly":true,"description":"A list of models which were not fully validated","nullable":true},"computation_time":{"type":"number","format":"float","readOnly":true,"description":"Duration of project validation in seconds","nullable":true},"stale":{"type":"boolean","readOnly":true,"description":"If true, the cached project validation results are no longer accurate because the project has changed since the cached results were calculated","nullable":false}},"x-looker-status":"stable"},"ProjectWorkspace":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"project_id":{"type":"string","readOnly":true,"description":"The id of the project","nullable":true},"workspace_id":{"type":"string","readOnly":true,"description":"The id of the local workspace containing the project files","nullable":true},"git_status":{"type":"string","readOnly":true,"description":"The status of the local git directory","nullable":true},"git_head":{"type":"string","readOnly":true,"description":"Git head revision name","nullable":true},"dependency_status":{"type":"string","readOnly":true,"enum":["lock_optional","lock_required","lock_error","install_none"],"description":"Status of the dependencies in your project. Valid values are: \"lock_optional\", \"lock_required\", \"lock_error\", \"install_none\".","nullable":true},"git_branch":{"$ref":"#/components/schemas/GitBranch"},"lookml_type":{"type":"string","readOnly":true,"description":"The lookml syntax used by all files in this project","nullable":true}},"x-looker-status":"stable"},"Query":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"model":{"type":"string","description":"Model","nullable":false},"view":{"type":"string","description":"Explore Name","nullable":false},"fields":{"type":"array","items":{"type":"string"},"description":"Fields","nullable":true},"pivots":{"type":"array","items":{"type":"string"},"description":"Pivots","nullable":true},"fill_fields":{"type":"array","items":{"type":"string"},"description":"Fill Fields","nullable":true},"filters":{"type":"object","additionalProperties":{"type":"string"},"description":"Filters","nullable":true},"filter_expression":{"type":"string","description":"Filter Expression","nullable":true},"sorts":{"type":"array","items":{"type":"string"},"description":"Sorting for the query results. Use the format `[\"view.field\", ...]` to sort on fields in ascending order. Use the format `[\"view.field desc\", ...]` to sort on fields in descending order. Use `[\"__UNSORTED__\"]` (2 underscores before and after) to disable sorting entirely. Empty sorts `[]` will trigger a default sort.","nullable":true},"limit":{"type":"string","description":"Limit","nullable":true},"column_limit":{"type":"string","description":"Column Limit","nullable":true},"total":{"type":"boolean","description":"Total","nullable":true},"row_total":{"type":"string","description":"Raw Total","nullable":true},"subtotals":{"type":"array","items":{"type":"string"},"description":"Fields on which to run subtotals","nullable":true},"vis_config":{"type":"object","additionalProperties":{"type":"string","format":"any"},"description":"Visualization configuration properties. These properties are typically opaque and differ based on the type of visualization used. There is no specified set of allowed keys. The values can be any type supported by JSON. A \"type\" key with a string value is often present, and is used by Looker to determine which visualization to present. Visualizations ignore unknown vis_config properties.","nullable":true},"filter_config":{"type":"object","additionalProperties":{"type":"string","format":"any"},"description":"The filter_config represents the state of the filter UI on the explore page for a given query. When running a query via the Looker UI, this parameter takes precedence over \"filters\". When creating a query or modifying an existing query, \"filter_config\" should be set to null. Setting it to any other value could cause unexpected filtering behavior. The format should be considered opaque.","nullable":true},"visible_ui_sections":{"type":"string","description":"Visible UI Sections","nullable":true},"slug":{"type":"string","readOnly":true,"description":"Slug","nullable":true},"dynamic_fields":{"type":"string","description":"Dynamic Fields","nullable":true},"client_id":{"type":"string","description":"Client Id: used to generate shortened explore URLs. If set by client, must be a unique 22 character alphanumeric string. Otherwise one will be generated.","nullable":true},"share_url":{"type":"string","readOnly":true,"description":"Share Url","nullable":true},"expanded_share_url":{"type":"string","readOnly":true,"description":"Expanded Share Url","nullable":true},"url":{"type":"string","readOnly":true,"description":"Expanded Url","nullable":true},"query_timezone":{"type":"string","description":"Query Timezone","nullable":true},"has_table_calculations":{"type":"boolean","readOnly":true,"description":"Has Table Calculations","nullable":false}},"x-looker-status":"stable","required":["model","view"]},"CreateQueryTask":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"query_id":{"type":"integer","format":"int64","description":"Id of query to run","nullable":true},"result_format":{"type":"string","enum":["inline_json","json","json_detail","json_fe","csv","html","md","txt","xlsx","gsxml"],"description":"Desired async query result format. Valid values are: \"inline_json\", \"json\", \"json_detail\", \"json_fe\", \"csv\", \"html\", \"md\", \"txt\", \"xlsx\", \"gsxml\".","nullable":true},"source":{"type":"string","description":"Source of query task","nullable":true},"deferred":{"type":"boolean","description":"Create the task but defer execution","nullable":false},"look_id":{"type":"integer","format":"int64","description":"Id of look associated with query.","nullable":true},"dashboard_id":{"type":"string","description":"Id of dashboard associated with query.","nullable":true}},"x-looker-status":"stable","required":["query_id","result_format"]},"QueryTask":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"id":{"type":"string","readOnly":true,"description":"Unique Id","nullable":false},"query_id":{"type":"integer","format":"int64","description":"Id of query","nullable":true},"query":{"$ref":"#/components/schemas/Query"},"generate_links":{"type":"boolean","description":"whether or not to generate links in the query response.","nullable":false},"force_production":{"type":"boolean","description":"Use production models to run query (even is user is in dev mode).","nullable":false},"path_prefix":{"type":"string","description":"Prefix to use for drill links.","nullable":true},"cache":{"type":"boolean","description":"Whether or not to use the cache","nullable":false},"server_table_calcs":{"type":"boolean","description":"Whether or not to run table calculations on the server","nullable":false},"cache_only":{"type":"boolean","description":"Retrieve any results from cache even if the results have expired.","nullable":false},"cache_key":{"type":"string","readOnly":true,"description":"cache key used to cache query.","nullable":true},"status":{"type":"string","description":"Status of query task.","nullable":true},"source":{"type":"string","description":"Source of query task.","nullable":true},"runtime":{"type":"number","format":"float","readOnly":true,"description":"Runtime of prior queries.","nullable":true},"rebuild_pdts":{"type":"boolean","description":"Rebuild PDTS used in query.","nullable":false},"result_source":{"type":"string","readOnly":true,"description":"Source of the results of the query.","nullable":true},"look_id":{"type":"integer","format":"int64","description":"Id of look associated with query.","nullable":true},"dashboard_id":{"type":"string","description":"Id of dashboard associated with query.","nullable":true},"result_format":{"type":"string","readOnly":true,"description":"The data format of the query results.","nullable":true}},"x-looker-status":"stable"},"RenderTask":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"created_at":{"type":"string","readOnly":true,"description":"Date/Time render task was created","nullable":true},"dashboard_filters":{"type":"string","readOnly":true,"description":"Filter values to apply to the dashboard queries, in URL query format","nullable":true},"dashboard_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of dashboard to render","nullable":true},"dashboard_style":{"type":"string","readOnly":true,"description":"Dashboard layout style: single_column or tiled","nullable":true},"finalized_at":{"type":"string","readOnly":true,"description":"Date/Time render task was completed","nullable":true},"height":{"type":"integer","format":"int64","readOnly":true,"description":"Output height in pixels. Flowed layouts may ignore this value.","nullable":true},"id":{"type":"string","readOnly":true,"description":"Id of this render task","nullable":false},"look_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of look to render","nullable":true},"lookml_dashboard_id":{"type":"string","readOnly":true,"description":"Id of lookml dashboard to render","nullable":true},"query_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of query to render","nullable":true},"query_runtime":{"type":"number","format":"double","readOnly":true,"description":"Number of seconds elapsed running queries","nullable":true},"render_runtime":{"type":"number","format":"double","readOnly":true,"description":"Number of seconds elapsed rendering data","nullable":true},"result_format":{"type":"string","readOnly":true,"description":"Output format: pdf, png, or jpg","nullable":true},"runtime":{"type":"number","format":"double","readOnly":true,"description":"Total seconds elapsed for render task","nullable":true},"status":{"type":"string","readOnly":true,"description":"Render task status: enqueued_for_query, querying, enqueued_for_render, rendering, success, failure","nullable":true},"status_detail":{"type":"string","readOnly":true,"description":"Additional information about the current status","nullable":true},"user_id":{"type":"integer","format":"int64","readOnly":true,"description":"The user account permissions in which the render task will execute","nullable":true},"width":{"type":"integer","format":"int64","readOnly":true,"description":"Output width in pixels","nullable":true}},"x-looker-status":"stable"},"CreateDashboardRenderTask":{"properties":{"dashboard_filters":{"type":"string","description":"Filter values to apply to the dashboard queries, in URL query format","nullable":true},"dashboard_style":{"type":"string","description":"Dashboard layout style: single_column or tiled","nullable":true}},"x-looker-status":"stable"},"RepositoryCredential":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"id":{"type":"string","readOnly":true,"description":"Unique Id","nullable":false},"root_project_id":{"type":"string","readOnly":true,"description":"Root project Id","nullable":false},"remote_url":{"type":"string","readOnly":true,"description":"Git remote repository url","nullable":false},"git_username":{"type":"string","description":"Git username for HTTPS authentication.","nullable":true},"git_password":{"type":"string","x-looker-write-only":true,"description":"(Write-Only) Git password for HTTPS authentication.","nullable":true},"ssh_public_key":{"type":"string","description":"Public deploy key for SSH authentication.","nullable":true},"is_configured":{"type":"boolean","readOnly":true,"description":"Whether the credentials have been configured for the Git Repository.","nullable":false}},"x-looker-status":"stable"},"ResultMakerFilterablesListen":{"properties":{"dashboard_filter_name":{"type":"string","description":"The name of a dashboard filter to listen to.","nullable":true},"field":{"type":"string","description":"The name of the field in the filterable to filter with the value of the dashboard filter.","nullable":true}},"x-looker-status":"stable"},"ResultMakerFilterables":{"properties":{"model":{"type":"string","readOnly":true,"description":"The model this filterable comes from (used for field suggestions).","nullable":true},"view":{"type":"string","readOnly":true,"description":"The view this filterable comes from (used for field suggestions).","nullable":true},"name":{"type":"string","readOnly":true,"description":"The name of the filterable thing (Query or Merged Results).","nullable":true},"listen":{"type":"array","items":{"$ref":"#/components/schemas/ResultMakerFilterablesListen"},"readOnly":true,"description":"array of dashboard_filter_name: and field: objects.","nullable":true}},"x-looker-status":"stable"},"ResultMakerWithIdVisConfigAndDynamicFields":{"properties":{"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id.","nullable":false},"dynamic_fields":{"type":"string","readOnly":true,"description":"JSON string of dynamic field information.","nullable":true},"filterables":{"type":"array","items":{"$ref":"#/components/schemas/ResultMakerFilterables"},"readOnly":true,"description":"array of items that can be filtered and information about them.","nullable":true},"sorts":{"type":"array","items":{"type":"string"},"readOnly":true,"description":"Sorts of the constituent Look, Query, or Merge Query","nullable":true},"merge_result_id":{"type":"string","readOnly":true,"description":"ID of merge result if this is a merge_result.","nullable":true},"total":{"type":"boolean","readOnly":true,"description":"Total of the constituent Look, Query, or Merge Query","nullable":false},"query_id":{"type":"integer","format":"int64","readOnly":true,"description":"ID of query if this is a query.","nullable":true},"sql_query_id":{"type":"string","readOnly":true,"description":"ID of SQL Query if this is a SQL Runner Query","nullable":true},"query":{"$ref":"#/components/schemas/Query"},"vis_config":{"type":"object","additionalProperties":{"type":"string"},"readOnly":true,"description":"Vis config of the constituent Query, or Merge Query.","nullable":true}},"x-looker-status":"stable"},"Role":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"name":{"type":"string","description":"Name of Role","nullable":true},"permission_set":{"$ref":"#/components/schemas/PermissionSet"},"permission_set_id":{"type":"integer","format":"int64","x-looker-write-only":true,"description":"(Write-Only) Id of permission set","nullable":true},"model_set":{"$ref":"#/components/schemas/ModelSet"},"model_set_id":{"type":"integer","format":"int64","x-looker-write-only":true,"description":"(Write-Only) Id of model set","nullable":true},"user_count":{"type":"integer","format":"int64","readOnly":true,"description":"Count of users with this role, only returned if user_count field is requested","x-looker-undocumented":false,"nullable":true},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to get this item","nullable":true},"users_url":{"type":"string","format":"uri","readOnly":true,"description":"Link to get list of users with this role","nullable":true}},"x-looker-status":"stable"},"RunningQueries":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"user":{"$ref":"#/components/schemas/UserPublic"},"query":{"$ref":"#/components/schemas/Query"},"sql_query":{"$ref":"#/components/schemas/SqlQuery"},"look":{"$ref":"#/components/schemas/LookBasic"},"created_at":{"type":"string","readOnly":true,"description":"Date/Time Query was initiated","nullable":true},"completed_at":{"type":"string","readOnly":true,"description":"Date/Time Query was completed","nullable":true},"query_id":{"type":"string","readOnly":true,"description":"Query Id","nullable":true},"source":{"type":"string","readOnly":true,"description":"Source (look, dashboard, queryrunner, explore, etc.)","nullable":true},"node_id":{"type":"string","readOnly":true,"description":"Node Id","nullable":true},"slug":{"type":"string","readOnly":true,"description":"Slug","nullable":true},"query_task_id":{"type":"string","readOnly":true,"description":"ID of a Query Task","nullable":true},"cache_key":{"type":"string","readOnly":true,"description":"Cache Key","nullable":true},"connection_name":{"type":"string","readOnly":true,"description":"Connection","nullable":true},"dialect":{"type":"string","readOnly":true,"description":"Dialect","nullable":true},"connection_id":{"type":"string","readOnly":true,"description":"Connection ID","nullable":true},"message":{"type":"string","readOnly":true,"description":"Additional Information(Error message or verbose status)","nullable":true},"status":{"type":"string","readOnly":true,"description":"Status description","nullable":true},"runtime":{"type":"number","format":"double","readOnly":true,"description":"Number of seconds elapsed running the Query","nullable":true},"sql":{"type":"string","readOnly":true,"description":"SQL text of the query as run","nullable":true}},"x-looker-status":"stable"},"SamlConfig":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"enabled":{"type":"boolean","description":"Enable/Disable Saml authentication for the server","nullable":false},"idp_cert":{"type":"string","description":"Identity Provider Certificate (provided by IdP)","nullable":true},"idp_url":{"type":"string","description":"Identity Provider Url (provided by IdP)","nullable":true},"idp_issuer":{"type":"string","description":"Identity Provider Issuer (provided by IdP)","nullable":true},"idp_audience":{"type":"string","description":"Identity Provider Audience (set in IdP config). Optional in Looker. Set this only if you want Looker to validate the audience value returned by the IdP.","nullable":true},"allowed_clock_drift":{"type":"integer","format":"int64","description":"Count of seconds of clock drift to allow when validating timestamps of assertions.","nullable":true},"user_attribute_map_email":{"type":"string","description":"Name of user record attributes used to indicate email address field","nullable":true},"user_attribute_map_first_name":{"type":"string","description":"Name of user record attributes used to indicate first name","nullable":true},"user_attribute_map_last_name":{"type":"string","description":"Name of user record attributes used to indicate last name","nullable":true},"new_user_migration_types":{"type":"string","description":"Merge first-time saml login to existing user account by email addresses. When a user logs in for the first time via saml this option will connect this user into their existing account by finding the account with a matching email address by testing the given types of credentials for existing users. Otherwise a new user account will be created for the user. This list (if provided) must be a comma separated list of string like 'email,ldap,google'","nullable":true},"alternate_email_login_allowed":{"type":"boolean","description":"Allow alternate email-based login via '/login/email' for admins and for specified users with the 'login_special_email' permission. This option is useful as a fallback during ldap setup, if ldap config problems occur later, or if you need to support some users who are not in your ldap directory. Looker email/password logins are always disabled for regular users when ldap is enabled.","nullable":false},"test_slug":{"type":"string","readOnly":true,"description":"Slug to identify configurations that are created in order to run a Saml config test","nullable":true},"modified_at":{"type":"string","readOnly":true,"description":"When this config was last modified","nullable":true},"modified_by":{"type":"string","readOnly":true,"description":"User id of user who last modified this config","nullable":true},"default_new_user_roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"readOnly":true,"description":"(Read-only) Roles that will be applied to new users the first time they login via Saml","nullable":true},"default_new_user_groups":{"type":"array","items":{"$ref":"#/components/schemas/Group"},"readOnly":true,"description":"(Read-only) Groups that will be applied to new users the first time they login via Saml","nullable":true},"default_new_user_role_ids":{"type":"array","items":{"type":"integer","format":"int64"},"x-looker-write-only":true,"description":"(Write-Only) Array of ids of roles that will be applied to new users the first time they login via Saml","nullable":true},"default_new_user_group_ids":{"type":"array","items":{"type":"integer","format":"int64"},"x-looker-write-only":true,"description":"(Write-Only) Array of ids of groups that will be applied to new users the first time they login via Saml","nullable":true},"set_roles_from_groups":{"type":"boolean","description":"Set user roles in Looker based on groups from Saml","nullable":false},"groups_attribute":{"type":"string","description":"Name of user record attributes used to indicate groups. Used when 'groups_finder_type' is set to 'grouped_attribute_values'","nullable":true},"groups":{"type":"array","items":{"$ref":"#/components/schemas/SamlGroupRead"},"readOnly":true,"description":"(Read-only) Array of mappings between Saml Groups and Looker Roles","nullable":true},"groups_with_role_ids":{"type":"array","items":{"$ref":"#/components/schemas/SamlGroupWrite"},"description":"(Read/Write) Array of mappings between Saml Groups and arrays of Looker Role ids","nullable":true},"auth_requires_role":{"type":"boolean","description":"Users will not be allowed to login at all unless a role for them is found in Saml if set to true","nullable":false},"user_attributes":{"type":"array","items":{"$ref":"#/components/schemas/SamlUserAttributeRead"},"readOnly":true,"description":"(Read-only) Array of mappings between Saml User Attributes and Looker User Attributes","nullable":true},"user_attributes_with_ids":{"type":"array","items":{"$ref":"#/components/schemas/SamlUserAttributeWrite"},"description":"(Read/Write) Array of mappings between Saml User Attributes and arrays of Looker User Attribute ids","nullable":true},"groups_finder_type":{"type":"string","description":"Identifier for a strategy for how Looker will find groups in the SAML response. One of ['grouped_attribute_values', 'individual_attributes']","nullable":true},"groups_member_value":{"type":"string","description":"Value for group attribute used to indicate membership. Used when 'groups_finder_type' is set to 'individual_attributes'","nullable":true},"bypass_login_page":{"type":"boolean","description":"Bypass the login page when user authentication is required. Redirect to IdP immediately instead.","nullable":false},"allow_normal_group_membership":{"type":"boolean","description":"Allow SAML auth'd users to be members of non-reflected Looker groups. If 'false', user will be removed from non-reflected groups on login.","nullable":false},"allow_roles_from_normal_groups":{"type":"boolean","description":"SAML auth'd users will inherit roles from non-reflected Looker groups.","nullable":false},"allow_direct_roles":{"type":"boolean","description":"Allows roles to be directly assigned to SAML auth'd users.","nullable":false},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to get this item","nullable":true}},"x-looker-status":"stable"},"SamlGroupRead":{"properties":{"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"looker_group_id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id of group in Looker","nullable":true},"looker_group_name":{"type":"string","readOnly":true,"description":"Name of group in Looker","nullable":true},"name":{"type":"string","readOnly":true,"description":"Name of group in Saml","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"readOnly":true,"description":"Looker Roles","nullable":true},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to saml config","nullable":true}},"x-looker-status":"stable"},"SamlGroupWrite":{"properties":{"id":{"type":"integer","format":"int64","description":"Unique Id","nullable":true},"looker_group_id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id of group in Looker","nullable":true},"looker_group_name":{"type":"string","description":"Name of group in Looker","nullable":true},"name":{"type":"string","description":"Name of group in Saml","nullable":true},"role_ids":{"type":"array","items":{"type":"integer","format":"int64"},"description":"Looker Role Ids","nullable":true},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to saml config","nullable":true}},"x-looker-status":"stable"},"SamlMetadataParseResult":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"idp_issuer":{"type":"string","readOnly":true,"description":"Identify Provider Issuer","nullable":true},"idp_url":{"type":"string","readOnly":true,"description":"Identify Provider Url","nullable":true},"idp_cert":{"type":"string","readOnly":true,"description":"Identify Provider Certificate","nullable":true}},"x-looker-status":"stable"},"SamlUserAttributeRead":{"properties":{"name":{"type":"string","readOnly":true,"description":"Name of User Attribute in Saml","nullable":true},"required":{"type":"boolean","readOnly":true,"description":"Required to be in Saml assertion for login to be allowed to succeed","nullable":false},"user_attributes":{"type":"array","items":{"$ref":"#/components/schemas/UserAttribute"},"readOnly":true,"description":"Looker User Attributes","nullable":true},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to saml config","nullable":true}},"x-looker-status":"stable"},"SamlUserAttributeWrite":{"properties":{"name":{"type":"string","description":"Name of User Attribute in Saml","nullable":true},"required":{"type":"boolean","description":"Required to be in Saml assertion for login to be allowed to succeed","nullable":false},"user_attribute_ids":{"type":"array","items":{"type":"integer","format":"int64"},"description":"Looker User Attribute Ids","nullable":true},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to saml config","nullable":true}},"x-looker-status":"stable"},"ScheduledPlanDestination":{"properties":{"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"scheduled_plan_id":{"type":"integer","format":"int64","description":"Id of a scheduled plan you own","nullable":true},"format":{"type":"string","description":"The data format to send to the given destination. Supported formats vary by destination, but include: \"txt\", \"csv\", \"inline_json\", \"json\", \"json_detail\", \"xlsx\", \"html\", \"wysiwyg_pdf\", \"assembled_pdf\", \"wysiwyg_png\"","nullable":true},"apply_formatting":{"type":"boolean","description":"Are values formatted? (containing currency symbols, digit separators, etc.","nullable":false},"apply_vis":{"type":"boolean","description":"Whether visualization options are applied to the results.","nullable":false},"address":{"type":"string","description":"Address for recipient. For email e.g. 'user@example.com'. For webhooks e.g. 'https://domain/path'. For Amazon S3 e.g. 's3://bucket-name/path/'. For SFTP e.g. 'sftp://host-name/path/'. ","nullable":true},"looker_recipient":{"type":"boolean","readOnly":true,"description":"Whether the recipient is a Looker user on the current instance (only applicable for email recipients)","nullable":false},"type":{"type":"string","description":"Type of the address ('email', 'webhook', 's3', or 'sftp')","nullable":true},"parameters":{"type":"string","description":"JSON object containing parameters for external scheduling. For Amazon S3, this requires keys and values for access_key_id and region. For SFTP, this requires a key and value for username.","nullable":true},"secret_parameters":{"type":"string","x-looker-write-only":true,"description":"(Write-Only) JSON object containing secret parameters for external scheduling. For Amazon S3, this requires a key and value for secret_access_key. For SFTP, this requires a key and value for password.","nullable":true},"message":{"type":"string","description":"Optional message to be included in scheduled emails","nullable":true}},"x-looker-status":"stable"},"WriteScheduledPlan":{"properties":{"name":{"type":"string","description":"Name of this scheduled plan","nullable":true},"user_id":{"type":"integer","format":"int64","description":"User Id which owns this scheduled plan","nullable":true},"run_as_recipient":{"type":"boolean","description":"Whether schedule is run as recipient (only applicable for email recipients)","nullable":false},"enabled":{"type":"boolean","description":"Whether the ScheduledPlan is enabled","nullable":false},"look_id":{"type":"integer","format":"int64","description":"Id of a look","nullable":true},"dashboard_id":{"type":"integer","format":"int64","description":"Id of a dashboard","nullable":true},"lookml_dashboard_id":{"type":"string","description":"Id of a LookML dashboard","nullable":true},"filters_string":{"type":"string","description":"Query string to run look or dashboard with","nullable":true},"dashboard_filters":{"type":"string","x-looker-deprecated":true,"description":"(DEPRECATED) Alias for filters_string field","nullable":true},"require_results":{"type":"boolean","description":"Delivery should occur if running the dashboard or look returns results","nullable":false},"require_no_results":{"type":"boolean","description":"Delivery should occur if the dashboard look does not return results","nullable":false},"require_change":{"type":"boolean","description":"Delivery should occur if data have changed since the last run","nullable":false},"send_all_results":{"type":"boolean","description":"Will run an unlimited query and send all results.","nullable":false},"crontab":{"type":"string","description":"Vixie-Style crontab specification when to run","nullable":true},"datagroup":{"type":"string","description":"Name of a datagroup; if specified will run when datagroup triggered (can't be used with cron string)","nullable":true},"timezone":{"type":"string","description":"Timezone for interpreting the specified crontab (default is Looker instance timezone)","nullable":true},"query_id":{"type":"string","description":"Query id","nullable":true},"scheduled_plan_destination":{"type":"array","items":{"$ref":"#/components/schemas/ScheduledPlanDestination"},"description":"Scheduled plan destinations","nullable":true},"run_once":{"type":"boolean","description":"Whether the plan in question should only be run once (usually for testing)","nullable":false},"include_links":{"type":"boolean","description":"Whether links back to Looker should be included in this ScheduledPlan","nullable":false},"pdf_paper_size":{"type":"string","description":"The size of paper the PDF should be formatted to fit. Valid values are: \"letter\", \"legal\", \"tabloid\", \"a0\", \"a1\", \"a2\", \"a3\", \"a4\", \"a5\".","nullable":true},"pdf_landscape":{"type":"boolean","description":"Whether the PDF should be formatted for landscape orientation","nullable":false},"embed":{"type":"boolean","description":"Whether this schedule is in an embed context or not","nullable":false},"color_theme":{"type":"string","description":"Color scheme of the dashboard if applicable","nullable":true},"long_tables":{"type":"boolean","description":"Whether or not to expand table vis to full length","nullable":false},"inline_table_width":{"type":"integer","format":"int64","description":"The pixel width at which we render the inline table visualizations","nullable":true}},"x-looker-status":"stable"},"ScheduledPlan":{"properties":{"name":{"type":"string","description":"Name of this scheduled plan","nullable":true},"user_id":{"type":"integer","format":"int64","description":"User Id which owns this scheduled plan","nullable":true},"run_as_recipient":{"type":"boolean","description":"Whether schedule is run as recipient (only applicable for email recipients)","nullable":false},"enabled":{"type":"boolean","description":"Whether the ScheduledPlan is enabled","nullable":false},"look_id":{"type":"integer","format":"int64","description":"Id of a look","nullable":true},"dashboard_id":{"type":"integer","format":"int64","description":"Id of a dashboard","nullable":true},"lookml_dashboard_id":{"type":"string","description":"Id of a LookML dashboard","nullable":true},"filters_string":{"type":"string","description":"Query string to run look or dashboard with","nullable":true},"dashboard_filters":{"type":"string","x-looker-deprecated":true,"description":"(DEPRECATED) Alias for filters_string field","nullable":true},"require_results":{"type":"boolean","description":"Delivery should occur if running the dashboard or look returns results","nullable":false},"require_no_results":{"type":"boolean","description":"Delivery should occur if the dashboard look does not return results","nullable":false},"require_change":{"type":"boolean","description":"Delivery should occur if data have changed since the last run","nullable":false},"send_all_results":{"type":"boolean","description":"Will run an unlimited query and send all results.","nullable":false},"crontab":{"type":"string","description":"Vixie-Style crontab specification when to run","nullable":true},"datagroup":{"type":"string","description":"Name of a datagroup; if specified will run when datagroup triggered (can't be used with cron string)","nullable":true},"timezone":{"type":"string","description":"Timezone for interpreting the specified crontab (default is Looker instance timezone)","nullable":true},"query_id":{"type":"string","description":"Query id","nullable":true},"scheduled_plan_destination":{"type":"array","items":{"$ref":"#/components/schemas/ScheduledPlanDestination"},"description":"Scheduled plan destinations","nullable":true},"run_once":{"type":"boolean","description":"Whether the plan in question should only be run once (usually for testing)","nullable":false},"include_links":{"type":"boolean","description":"Whether links back to Looker should be included in this ScheduledPlan","nullable":false},"pdf_paper_size":{"type":"string","description":"The size of paper the PDF should be formatted to fit. Valid values are: \"letter\", \"legal\", \"tabloid\", \"a0\", \"a1\", \"a2\", \"a3\", \"a4\", \"a5\".","nullable":true},"pdf_landscape":{"type":"boolean","description":"Whether the PDF should be formatted for landscape orientation","nullable":false},"embed":{"type":"boolean","description":"Whether this schedule is in an embed context or not","nullable":false},"color_theme":{"type":"string","description":"Color scheme of the dashboard if applicable","nullable":true},"long_tables":{"type":"boolean","description":"Whether or not to expand table vis to full length","nullable":false},"inline_table_width":{"type":"integer","format":"int64","description":"The pixel width at which we render the inline table visualizations","nullable":true},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"created_at":{"type":"string","format":"date-time","readOnly":true,"description":"Date and time when ScheduledPlan was created","nullable":true},"updated_at":{"type":"string","format":"date-time","readOnly":true,"description":"Date and time when ScheduledPlan was last updated","nullable":true},"title":{"type":"string","readOnly":true,"description":"Title","nullable":true},"user":{"$ref":"#/components/schemas/UserPublic"},"next_run_at":{"type":"string","format":"date-time","readOnly":true,"description":"When the ScheduledPlan will next run (null if running once)","nullable":true},"last_run_at":{"type":"string","format":"date-time","readOnly":true,"description":"When the ScheduledPlan was last run","nullable":true},"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false}},"x-looker-status":"stable"},"SchemaColumn":{"properties":{"name":{"type":"string","readOnly":true,"description":"Schema item name","nullable":true},"sql_escaped_name":{"type":"string","readOnly":true,"description":"Full name of item","nullable":true},"schema_name":{"type":"string","readOnly":true,"description":"Name of schema","nullable":true},"data_type_database":{"type":"string","readOnly":true,"description":"SQL dialect data type","nullable":false},"data_type":{"type":"string","readOnly":true,"description":"Data type","nullable":false},"data_type_looker":{"type":"string","readOnly":true,"description":"Looker data type","nullable":false},"description":{"type":"string","readOnly":true,"description":"SQL data type","nullable":true},"column_size":{"type":"integer","format":"int64","readOnly":true,"description":"Column data size","nullable":true},"snippets":{"type":"array","items":{"$ref":"#/components/schemas/Snippet"},"readOnly":true,"description":"SQL Runner snippets for this connection","nullable":false}},"x-looker-status":"beta"},"SchemaTable":{"properties":{"name":{"type":"string","readOnly":true,"description":"Schema item name","nullable":true},"sql_escaped_name":{"type":"string","readOnly":true,"description":"Full name of item","nullable":true},"schema_name":{"type":"string","readOnly":true,"description":"Name of schema","nullable":true},"rows":{"type":"integer","format":"int64","readOnly":true,"description":"Number of data rows","nullable":true},"external":{"type":"string","readOnly":true,"description":"External reference???","nullable":true},"snippets":{"type":"array","items":{"$ref":"#/components/schemas/Snippet"},"readOnly":true,"description":"SQL Runner snippets for connection","nullable":false}},"x-looker-status":"beta"},"ConnectionFeatures":{"properties":{"dialect_name":{"type":"string","readOnly":true,"description":"Name of the dialect for this connection","nullable":false},"cost_estimate":{"type":"boolean","readOnly":true,"description":"True for cost estimating support","nullable":false},"multiple_databases":{"type":"boolean","readOnly":true,"description":"True for multiple database support","nullable":false},"column_search":{"type":"boolean","readOnly":true,"description":"True for cost estimating support","nullable":false},"persistent_table_indexes":{"type":"boolean","readOnly":true,"description":"True for secondary index support","nullable":false},"persistent_derived_tables":{"type":"boolean","readOnly":true,"description":"True for persistent derived table support","nullable":false},"turtles":{"type":"boolean","readOnly":true,"description":"True for turtles support","nullable":false},"percentile":{"type":"boolean","readOnly":true,"description":"True for percentile support","nullable":false},"distinct_percentile":{"type":"boolean","readOnly":true,"description":"True for distinct percentile support","nullable":false},"stable_views":{"type":"boolean","readOnly":true,"description":"True for stable views support","nullable":false},"milliseconds":{"type":"boolean","readOnly":true,"description":"True for millisecond support","nullable":false},"microseconds":{"type":"boolean","readOnly":true,"description":"True for microsecond support","nullable":false},"subtotals":{"type":"boolean","readOnly":true,"description":"True for subtotal support","nullable":false},"location":{"type":"boolean","readOnly":true,"description":"True for geographic location support","nullable":false},"timezone":{"type":"boolean","readOnly":true,"description":"True for timezone conversion in query support","nullable":false},"connection_pooling":{"type":"boolean","readOnly":true,"description":"True for connection pooling support","nullable":false}},"x-looker-status":"beta"},"Schema":{"properties":{"name":{"type":"string","readOnly":true,"description":"Schema name","nullable":false},"is_default":{"type":"boolean","readOnly":true,"description":"True if this is the default schema","nullable":false}},"x-looker-status":"beta"},"SchemaTables":{"properties":{"name":{"type":"string","readOnly":true,"description":"Schema name","nullable":false},"is_default":{"type":"boolean","readOnly":true,"description":"True if this is the default schema","nullable":false},"tables":{"type":"array","items":{"$ref":"#/components/schemas/SchemaTable"},"readOnly":true,"description":"Tables for this schema","nullable":false}},"x-looker-status":"beta"},"SchemaColumns":{"properties":{"name":{"type":"string","readOnly":true,"description":"Schema item name","nullable":true},"sql_escaped_name":{"type":"string","readOnly":true,"description":"Full name of item","nullable":true},"schema_name":{"type":"string","readOnly":true,"description":"Name of schema","nullable":true},"columns":{"type":"array","items":{"$ref":"#/components/schemas/SchemaColumn"},"readOnly":true,"description":"Columns for this schema","nullable":false}},"x-looker-status":"beta"},"ColumnSearch":{"properties":{"schema_name":{"type":"string","readOnly":true,"description":"Name of schema containing the table","nullable":true},"table_name":{"type":"string","readOnly":true,"description":"Name of table containing the column","nullable":true},"column_name":{"type":"string","readOnly":true,"description":"Name of column","nullable":true},"data_type":{"type":"string","readOnly":true,"description":"Column data type","nullable":true}},"x-looker-status":"beta"},"CreateCostEstimate":{"properties":{"sql":{"type":"string","readOnly":true,"description":"SQL statement to estimate","nullable":false}},"x-looker-status":"beta"},"CostEstimate":{"properties":{"cost":{"type":"integer","format":"int64","readOnly":true,"description":"Cost of SQL statement","nullable":false},"cache_hit":{"type":"boolean","readOnly":true,"description":"Does the result come from the cache?","nullable":false},"cost_unit":{"type":"string","readOnly":true,"description":"Cost measurement size","nullable":false},"message":{"type":"string","readOnly":true,"description":"Human-friendly message","nullable":false}},"x-looker-status":"beta"},"ModelFieldSuggestions":{"properties":{"suggestions":{"type":"array","items":{"type":"string"},"readOnly":true,"description":"List of suggestions","nullable":false},"error":{"type":"string","readOnly":true,"description":"Error message","nullable":true},"from_cache":{"type":"boolean","readOnly":true,"description":"True if result came from the cache","nullable":false},"hit_limit":{"type":"boolean","readOnly":true,"description":"True if this was a hit limit","nullable":false},"used_calcite_materialization":{"type":"boolean","readOnly":true,"description":"True if calcite was used","nullable":false}},"x-looker-status":"beta"},"SessionConfig":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"allow_persistent_sessions":{"type":"boolean","description":"Allow users to have persistent sessions when they login","nullable":false},"session_minutes":{"type":"integer","format":"int64","description":"Number of minutes for user sessions. Must be between 5 and 43200","nullable":true},"unlimited_sessions_per_user":{"type":"boolean","description":"Allow users to have an unbounded number of concurrent sessions (otherwise, users will be limited to only one session at a time).","nullable":false},"use_inactivity_based_logout":{"type":"boolean","description":"Enforce session logout for sessions that are inactive for 15 minutes.","nullable":false},"track_session_location":{"type":"boolean","description":"Track location of session when user logs in.","nullable":false}},"x-looker-status":"stable"},"Session":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"ip_address":{"type":"string","readOnly":true,"description":"IP address of user when this session was initiated","nullable":true},"browser":{"type":"string","readOnly":true,"description":"User's browser type","nullable":true},"operating_system":{"type":"string","readOnly":true,"description":"User's Operating System","nullable":true},"city":{"type":"string","readOnly":true,"description":"City component of user location (derived from IP address)","nullable":true},"state":{"type":"string","readOnly":true,"description":"State component of user location (derived from IP address)","nullable":true},"country":{"type":"string","readOnly":true,"description":"Country component of user location (derived from IP address)","nullable":true},"credentials_type":{"type":"string","readOnly":true,"description":"Type of credentials used for logging in this session","nullable":true},"extended_at":{"type":"string","readOnly":true,"description":"Time when this session was last extended by the user","nullable":true},"extended_count":{"type":"integer","format":"int64","readOnly":true,"description":"Number of times this session was extended","nullable":true},"sudo_user_id":{"type":"integer","format":"int64","readOnly":true,"description":"Actual user in the case when this session represents one user sudo'ing as another","nullable":true},"created_at":{"type":"string","readOnly":true,"description":"Time when this session was initiated","nullable":true},"expires_at":{"type":"string","readOnly":true,"description":"Time when this session will expire","nullable":true},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to get this item","nullable":true}},"x-looker-status":"stable"},"Snippet":{"properties":{"name":{"type":"string","readOnly":true,"description":"Name of the snippet","nullable":false},"label":{"type":"string","readOnly":true,"description":"Label of the snippet","nullable":false},"sql":{"type":"string","readOnly":true,"description":"SQL text of the snippet","nullable":false}},"x-looker-status":"stable"},"SqlQueryCreate":{"properties":{"connection_name":{"type":"string","description":"Name of the db connection on which to run this query","nullable":true},"connection_id":{"type":"string","x-looker-deprecated":true,"description":"(DEPRECATED) Use `connection_name` instead","nullable":true},"model_name":{"type":"string","description":"Name of LookML Model (this or `connection_id` required)","nullable":true},"sql":{"type":"string","description":"SQL query","nullable":true},"vis_config":{"type":"object","additionalProperties":{"type":"string","format":"any"},"description":"Visualization configuration properties. These properties are typically opaque and differ based on the type of visualization used. There is no specified set of allowed keys. The values can be any type supported by JSON. A \"type\" key with a string value is often present, and is used by Looker to determine which visualization to present. Visualizations ignore unknown vis_config properties.","nullable":true}},"x-looker-status":"stable"},"SqlQuery":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"slug":{"type":"string","readOnly":true,"description":"The identifier of the SQL query","nullable":false},"last_runtime":{"type":"number","format":"float","readOnly":true,"description":"Number of seconds this query took to run the most recent time it was run","nullable":true},"run_count":{"type":"integer","format":"int64","readOnly":true,"description":"Number of times this query has been run","nullable":false},"browser_limit":{"type":"integer","format":"int64","readOnly":true,"description":"Maximum number of rows this query will display on the SQL Runner page","nullable":false},"sql":{"type":"string","readOnly":true,"description":"SQL query text","nullable":false},"last_run_at":{"type":"string","readOnly":true,"description":"The most recent time this query was run","nullable":true},"connection":{"$ref":"#/components/schemas/DBConnectionBase"},"model_name":{"type":"string","readOnly":true,"description":"Model name this query uses","nullable":true},"creator":{"$ref":"#/components/schemas/UserPublic"},"explore_url":{"type":"string","readOnly":true,"description":"Explore page URL for this SQL query","nullable":true},"plaintext":{"type":"boolean","readOnly":true,"description":"Should this query be rendered as plain text","nullable":false},"vis_config":{"type":"object","additionalProperties":{"type":"string","format":"any"},"description":"Visualization configuration properties. These properties are typically opaque and differ based on the type of visualization used. There is no specified set of allowed keys. The values can be any type supported by JSON. A \"type\" key with a string value is often present, and is used by Looker to determine which visualization to present. Visualizations ignore unknown vis_config properties.","nullable":true},"result_maker_id":{"type":"integer","format":"int64","description":"ID of the ResultMakerLookup entry.","nullable":true}},"x-looker-status":"stable"},"SshPublicKey":{"properties":{"public_key":{"type":"string","readOnly":true,"description":"The SSH public key created for this instance","nullable":false}},"x-looker-status":"beta"},"SshServer":{"properties":{"ssh_server_id":{"type":"string","readOnly":true,"description":"A unique id used to identify this SSH Server","nullable":false},"ssh_server_name":{"type":"string","description":"The name to identify this SSH Server","nullable":false},"ssh_server_host":{"type":"string","description":"The hostname or ip address of the SSH Server","nullable":false},"ssh_server_port":{"type":"integer","format":"int64","description":"The port to connect to on the SSH Server","nullable":false},"ssh_server_user":{"type":"string","description":"The username used to connect to the SSH Server","nullable":false},"finger_print":{"type":"string","readOnly":true,"description":"The md5 fingerprint used to identify the SSH Server","nullable":false},"sha_finger_print":{"type":"string","readOnly":true,"description":"The SHA fingerprint used to identify the SSH Server","nullable":false},"public_key":{"type":"string","readOnly":true,"description":"The SSH public key created for this instance","nullable":false},"status":{"type":"string","readOnly":true,"description":"The current connection status to this SSH Server","nullable":false}},"x-looker-status":"beta"},"SshTunnel":{"properties":{"tunnel_id":{"type":"string","readOnly":true,"description":"Unique ID for the tunnel","nullable":false},"ssh_server_id":{"type":"string","description":"SSH Server ID","nullable":false},"ssh_server_name":{"type":"string","readOnly":true,"description":"SSH Server name","nullable":false},"ssh_server_host":{"type":"string","readOnly":true,"description":"SSH Server Hostname or IP Address","nullable":false},"ssh_server_port":{"type":"integer","format":"int64","readOnly":true,"description":"SSH Server port","nullable":false},"ssh_server_user":{"type":"string","readOnly":true,"description":"Username used to connect to the SSH Server","nullable":false},"last_attempt":{"type":"string","readOnly":true,"description":"Time of last connect attempt","nullable":false},"local_host_port":{"type":"integer","format":"int64","readOnly":true,"description":"Localhost Port used by the Looker instance to connect to the remote DB","nullable":false},"database_host":{"type":"string","description":"Hostname or IP Address of the Database Server","nullable":false},"database_port":{"type":"integer","format":"int64","description":"Port that the Database Server is listening on","nullable":false},"status":{"type":"string","readOnly":true,"description":"Current connection status for this Tunnel","nullable":false}},"x-looker-status":"beta"},"ThemeSettings":{"properties":{"background_color":{"type":"string","description":"Default background color","nullable":false},"base_font_size":{"type":"string","description":"Base font size for scaling fonts","nullable":true},"color_collection_id":{"type":"string","description":"Optional. ID of color collection to use with the theme. Use an empty string for none.","nullable":false},"font_color":{"type":"string","description":"Default font color","nullable":true},"font_family":{"type":"string","description":"Primary font family","nullable":false},"font_source":{"type":"string","description":"Source specification for font","nullable":true},"info_button_color":{"type":"string","description":"Info button color","nullable":false},"primary_button_color":{"type":"string","description":"Primary button color","nullable":false},"show_filters_bar":{"type":"boolean","description":"Toggle to show filters. Defaults to true.","nullable":false},"show_title":{"type":"boolean","description":"Toggle to show the title. Defaults to true.","nullable":false},"text_tile_text_color":{"type":"string","description":"Text color for text tiles","nullable":false},"tile_background_color":{"type":"string","description":"Background color for tiles","nullable":false},"tile_text_color":{"type":"string","description":"Text color for tiles","nullable":false},"title_color":{"type":"string","description":"Color for titles","nullable":false},"warn_button_color":{"type":"string","description":"Warning button color","nullable":false},"tile_title_alignment":{"type":"string","description":"The text alignment of tile titles (New Dashboards)","nullable":false},"tile_shadow":{"type":"boolean","description":"Toggles the tile shadow (New Dashboards)","nullable":false}},"x-looker-status":"stable"},"Theme":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"begin_at":{"type":"string","format":"date-time","description":"Timestamp for when this theme becomes active. Null=always","nullable":true},"end_at":{"type":"string","format":"date-time","description":"Timestamp for when this theme expires. Null=never","nullable":true},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"name":{"type":"string","description":"Name of theme. Can only be alphanumeric and underscores.","nullable":false},"settings":{"$ref":"#/components/schemas/ThemeSettings"}},"x-looker-status":"stable"},"Timezone":{"properties":{"value":{"type":"string","readOnly":true,"description":"Timezone","nullable":true},"label":{"type":"string","readOnly":true,"description":"Description of timezone","nullable":true},"group":{"type":"string","readOnly":true,"description":"Timezone group (e.g Common, Other, etc.)","nullable":true}},"x-looker-status":"stable"},"UserAttribute":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"name":{"type":"string","description":"Name of user attribute","nullable":true},"label":{"type":"string","description":"Human-friendly label for user attribute","nullable":true},"type":{"type":"string","description":"Type of user attribute (\"string\", \"number\", \"datetime\", \"yesno\", \"zipcode\")","nullable":true},"default_value":{"type":"string","description":"Default value for when no value is set on the user","nullable":true},"is_system":{"type":"boolean","readOnly":true,"description":"Attribute is a system default","nullable":false},"is_permanent":{"type":"boolean","readOnly":true,"description":"Attribute is permanent and cannot be deleted","nullable":false},"value_is_hidden":{"type":"boolean","description":"If true, users will not be able to view values of this attribute","nullable":false},"user_can_view":{"type":"boolean","description":"Non-admin users can see the values of their attributes and use them in filters","nullable":false},"user_can_edit":{"type":"boolean","description":"Users can change the value of this attribute for themselves","nullable":false},"hidden_value_domain_whitelist":{"type":"string","description":"Destinations to which a hidden attribute may be sent. Once set, cannot be edited.","nullable":true}},"x-looker-status":"stable"},"UserAttributeGroupValue":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id of this group-attribute relation","nullable":false},"group_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of group","nullable":true},"user_attribute_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of user attribute","nullable":true},"value_is_hidden":{"type":"boolean","readOnly":true,"description":"If true, the \"value\" field will be null, because the attribute settings block access to this value","nullable":false},"rank":{"type":"integer","format":"int64","readOnly":true,"description":"Precedence for resolving value for user","nullable":true},"value":{"type":"string","readOnly":true,"description":"Value of user attribute for group","nullable":true}},"x-looker-status":"stable"},"UserAttributeWithValue":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"name":{"type":"string","readOnly":true,"description":"Name of user attribute","nullable":true},"label":{"type":"string","readOnly":true,"description":"Human-friendly label for user attribute","nullable":true},"rank":{"type":"integer","format":"int64","readOnly":true,"description":"Precedence for setting value on user (lowest wins)","nullable":true},"value":{"type":"string","description":"Value of attribute for user","nullable":true},"user_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of User","nullable":true},"user_can_edit":{"type":"boolean","readOnly":true,"description":"Can the user set this value","nullable":false},"value_is_hidden":{"type":"boolean","readOnly":true,"description":"If true, the \"value\" field will be null, because the attribute settings block access to this value","nullable":false},"user_attribute_id":{"type":"integer","format":"int64","readOnly":true,"description":"Id of User Attribute","nullable":true},"source":{"type":"string","readOnly":true,"description":"How user got this value for this attribute","nullable":true},"hidden_value_domain_whitelist":{"type":"string","readOnly":true,"description":"If this user attribute is hidden, whitelist of destinations to which it may be sent.","nullable":true}},"x-looker-status":"stable"},"UserLoginLockout":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"key":{"type":"string","readOnly":true,"description":"Hash of user's client id","nullable":true},"auth_type":{"type":"string","readOnly":true,"description":"Authentication method for login failures","nullable":true},"ip":{"type":"string","readOnly":true,"description":"IP address of most recent failed attempt","nullable":true},"user_id":{"type":"integer","format":"int64","readOnly":true,"description":"User ID","nullable":true},"remote_id":{"type":"string","readOnly":true,"description":"Remote ID of user if using LDAP","nullable":true},"full_name":{"type":"string","readOnly":true,"description":"User's name","nullable":true},"email":{"type":"string","readOnly":true,"description":"Email address associated with the user's account","nullable":true},"fail_count":{"type":"integer","format":"int64","readOnly":true,"description":"Number of failures that triggered the lockout","nullable":true},"lockout_at":{"type":"string","format":"date-time","readOnly":true,"description":"Time when lockout was triggered","nullable":true}},"x-looker-status":"stable"},"User":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"avatar_url":{"type":"string","format":"uri","readOnly":true,"description":"URL for the avatar image (may be generic)","nullable":true},"avatar_url_without_sizing":{"type":"string","format":"uri","readOnly":true,"description":"URL for the avatar image (may be generic), does not specify size","nullable":true},"credentials_api3":{"type":"array","items":{"$ref":"#/components/schemas/CredentialsApi3"},"readOnly":true,"description":"API 3 credentials","nullable":true},"credentials_email":{"$ref":"#/components/schemas/CredentialsEmail"},"credentials_embed":{"type":"array","items":{"$ref":"#/components/schemas/CredentialsEmbed"},"readOnly":true,"description":"Embed credentials","nullable":true},"credentials_google":{"$ref":"#/components/schemas/CredentialsGoogle"},"credentials_ldap":{"$ref":"#/components/schemas/CredentialsLDAP"},"credentials_looker_openid":{"$ref":"#/components/schemas/CredentialsLookerOpenid"},"credentials_oidc":{"$ref":"#/components/schemas/CredentialsOIDC"},"credentials_saml":{"$ref":"#/components/schemas/CredentialsSaml"},"credentials_totp":{"$ref":"#/components/schemas/CredentialsTotp"},"display_name":{"type":"string","readOnly":true,"description":"Full name for display (available only if both first_name and last_name are set)","nullable":true},"email":{"type":"string","readOnly":true,"description":"EMail address","nullable":true},"embed_group_space_id":{"type":"integer","format":"int64","readOnly":true,"description":"(Embed only) ID of user's group space based on the external_group_id optionally specified during embed user login","nullable":true},"first_name":{"type":"string","description":"First name","nullable":true},"group_ids":{"type":"array","items":{"type":"integer","format":"int64"},"readOnly":true,"description":"Array of ids of the groups for this user","nullable":true},"home_folder_id":{"type":"string","description":"ID string for user's home folder","nullable":true},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"is_disabled":{"type":"boolean","description":"Account has been disabled","nullable":false},"last_name":{"type":"string","description":"Last name","nullable":true},"locale":{"type":"string","description":"User's preferred locale. User locale takes precedence over Looker's system-wide default locale. Locale determines language of display strings and date and numeric formatting in API responses. Locale string must be a 2 letter language code or a combination of language code and region code: 'en' or 'en-US', for example.","nullable":true},"looker_versions":{"type":"array","items":{"type":"string"},"readOnly":true,"description":"Array of strings representing the Looker versions that this user has used (this only goes back as far as '3.54.0')","nullable":true},"models_dir_validated":{"type":"boolean","description":"User's dev workspace has been checked for presence of applicable production projects","nullable":true},"personal_folder_id":{"type":"integer","format":"int64","readOnly":true,"description":"ID of user's personal folder","nullable":true},"presumed_looker_employee":{"type":"boolean","readOnly":true,"description":"User is identified as an employee of Looker","nullable":false},"role_ids":{"type":"array","items":{"type":"integer","format":"int64"},"readOnly":true,"description":"Array of ids of the roles for this user","nullable":true},"sessions":{"type":"array","items":{"$ref":"#/components/schemas/Session"},"readOnly":true,"description":"Active sessions","nullable":true},"ui_state":{"type":"object","additionalProperties":{"type":"string"},"description":"Per user dictionary of undocumented state information owned by the Looker UI.","nullable":true},"verified_looker_employee":{"type":"boolean","readOnly":true,"description":"User is identified as an employee of Looker who has been verified via Looker corporate authentication","nullable":false},"roles_externally_managed":{"type":"boolean","readOnly":true,"description":"User's roles are managed by an external directory like SAML or LDAP and can not be changed directly.","nullable":false},"allow_direct_roles":{"type":"boolean","readOnly":true,"description":"User can be directly assigned a role.","nullable":false},"allow_normal_group_membership":{"type":"boolean","readOnly":true,"description":"User can be a direct member of a normal Looker group.","nullable":false},"allow_roles_from_normal_groups":{"type":"boolean","readOnly":true,"description":"User can inherit roles from a normal Looker group.","nullable":false},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to get this item","nullable":true}},"x-looker-status":"stable"},"UserPublic":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"first_name":{"type":"string","readOnly":true,"description":"First Name","nullable":false},"last_name":{"type":"string","readOnly":true,"description":"Last Name","nullable":false},"display_name":{"type":"string","readOnly":true,"description":"Full name for display (available only if both first_name and last_name are set)","nullable":true},"avatar_url":{"type":"string","format":"uri","readOnly":true,"description":"URL for the avatar image (may be generic)","nullable":false},"url":{"type":"string","format":"uri","readOnly":true,"description":"Link to get this item","nullable":true}},"x-looker-status":"stable"},"ApiVersionElement":{"properties":{"version":{"type":"string","readOnly":true,"description":"Version number as it appears in '/api/xxx/' urls","nullable":true},"full_version":{"type":"string","readOnly":true,"description":"Full version number including minor version","nullable":true},"status":{"type":"string","readOnly":true,"description":"Status of this version","nullable":true},"swagger_url":{"type":"string","format":"uri","readOnly":true,"description":"Url for swagger.json for this version","nullable":true}},"x-looker-status":"stable"},"ApiVersion":{"properties":{"looker_release_version":{"type":"string","readOnly":true,"description":"Current Looker release version number","nullable":false},"current_version":{"$ref":"#/components/schemas/ApiVersionElement"},"supported_versions":{"type":"array","items":{"$ref":"#/components/schemas/ApiVersionElement"},"readOnly":true,"description":"Array of versions supported by this Looker instance","nullable":false},"api_server_url":{"type":"string","readOnly":true,"description":"API server base url","nullable":false}},"x-looker-status":"stable"},"WelcomeEmailTest":{"properties":{"content":{"type":"string","description":"The content that would be sent in the body of a custom welcome email","nullable":true},"subject":{"type":"string","description":"The subject that would be sent for the custom welcome email","nullable":true},"header":{"type":"string","description":"The header that would be sent in the body of a custom welcome email","nullable":true}},"x-looker-status":"stable"},"WhitelabelConfiguration":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"id":{"type":"integer","format":"int64","readOnly":true,"description":"Unique Id","nullable":false},"logo_file":{"type":"string","description":"Customer logo image. Expected base64 encoded data (write-only)","nullable":true},"logo_url":{"type":"string","readOnly":true,"description":"Logo image url (read-only)","nullable":true},"favicon_file":{"type":"string","description":"Custom favicon image. Expected base64 encoded data (write-only)","nullable":true},"favicon_url":{"type":"string","readOnly":true,"description":"Favicon image url (read-only)","nullable":true},"default_title":{"type":"string","description":"Default page title","nullable":true},"show_help_menu":{"type":"boolean","description":"Boolean to toggle showing help menus","nullable":false},"show_docs":{"type":"boolean","description":"Boolean to toggle showing docs","nullable":false},"show_email_sub_options":{"type":"boolean","description":"Boolean to toggle showing email subscription options.","nullable":false},"allow_looker_mentions":{"type":"boolean","description":"Boolean to toggle mentions of Looker in emails","nullable":false},"allow_looker_links":{"type":"boolean","description":"Boolean to toggle links to Looker in emails","nullable":false},"custom_welcome_email_advanced":{"type":"boolean","description":"Allow subject line and email heading customization in customized emails”","nullable":false},"setup_mentions":{"type":"boolean","description":"Remove the word Looker from appearing in the account setup page","nullable":false},"alerts_logo":{"type":"boolean","description":"Remove Looker logo from Alerts","nullable":false},"alerts_links":{"type":"boolean","description":"Remove Looker links from Alerts","nullable":false},"folders_mentions":{"type":"boolean","description":"Remove Looker mentions in home folder page when you don’t have any items saved","nullable":false}},"x-looker-status":"stable"},"Workspace":{"properties":{"can":{"type":"object","additionalProperties":{"type":"boolean"},"readOnly":true,"description":"Operations the current user is able to perform on this object","nullable":false},"id":{"type":"string","readOnly":true,"description":"The unique id of this user workspace. Predefined workspace ids include \"production\" and \"dev\"","nullable":false},"projects":{"type":"array","items":{"$ref":"#/components/schemas/Project"},"readOnly":true,"description":"The local state of each project in the workspace","nullable":true}},"x-looker-status":"stable"}}}} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index fa2f5aba0..b534305a0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2955,7 +2955,7 @@ hoist-non-react-statics "^3.3.0" redux "^4.0.0" -"@types/react-router-dom@*", "@types/react-router-dom@^5.1.5": +"@types/react-router-dom@^5.1.5": version "5.1.7" resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.1.7.tgz#a126d9ea76079ffbbdb0d9225073eb5797ab7271" integrity sha512-D5mHD6TbdV/DNHYsnwBTv+y73ei+mMjrkGrla86HthE4/PVvL1J94Bu3qABU+COXzpL23T1EZapVVpwHuBXiUg== @@ -2964,14 +2964,6 @@ "@types/react" "*" "@types/react-router" "*" -"@types/react-router-hash-link@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@types/react-router-hash-link/-/react-router-hash-link-1.2.1.tgz#fba7dc351cef2985791023018b7a5dbd0653c843" - integrity sha512-jdzPGE8jFGq7fHUpPaKrJvLW1Yhoe5MQCrmgeesC+eSLseMj3cGCTYMDA4BNWG8JQmwO8NTYt/oT3uBZ77pmBA== - dependencies: - "@types/react" "*" - "@types/react-router-dom" "*" - "@types/react-router@*", "@types/react-router@^5.1.11": version "5.1.12" resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.12.tgz#0f300e09468e7aed86e18241c90238c18c377e51" @@ -12146,13 +12138,6 @@ react-router-dom@^5.1.2, react-router-dom@^5.2.0: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-router-hash-link@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/react-router-hash-link/-/react-router-hash-link-2.4.0.tgz#216045d9bb826e5f36f873dea8b04874a0708f83" - integrity sha512-HGbB9kfODHKsHvMVsPbqDr057V4xg4TNNRaQcezsFMKitwHaaU51cM2+gDyX45y9YLLPbovELz2rpNx2C3Frng== - dependencies: - prop-types "^15.7.2" - react-router@5.2.0, react-router@^5.1.2: version "5.2.0" resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.2.0.tgz#424e75641ca8747fbf76e5ecca69781aa37ea293"